# Framework integration

WRNexusJS 0.4 discovers components and browser runtimes from installed package plugins.

`@wrnexus/captcha` is a complete example:

- `packages/captcha/package.json` declares `wrnexus.plugin`.
- `captchaPlugin()` contributes its component directory, client runtime, Tailwind source, and DevToolbar audit panel.
- `Captcha.wrn` renders `data-wrnexus-runtime="captcha"`.
- SSR injects the runtime only when the component appears.
- CSR navigation mounts and unmounts the runtime.
- Development serves the package source; production emits a hashed chunk.

There is intentionally no `packages/ui/components/Captcha.wrn`, no showcase-local copy, and no public `captcha.js` file.

`integration/platform-upgrade.test.ts` exercises the 0.4 cross-package foundation.
