External workspace applications
Adopt separately hosted applications, integrate React bindings, and configure intentional cross-origin calls to Brix services.
Integrate external applications
Adopt a separately hosted non-Brix member into root installation ownership:
brix workspace adopt apps/admin --dry-run
brix workspace adopt apps/admin
The project retains its framework scripts and declares brix.project: "external". Adoption snapshots the manifests, lockfiles, managed skills, and installed dependency trees it may mutate. A formatting, install, skill reconciliation, or doctor failure restores that managed state.
For an existing React host that needs Brix hooks:
brix workspace integrate react apps/admin --dry-run
brix workspace integrate react apps/admin
Integration installs the matching @brix/react, aligns React and ReactDOM, and records the React integration. It does not turn an external host into a managed react-application. For a new managed SPA, use brix create react-app; for Contentful, use brix create contentful-app. See React applications.
Configure cross-origin browser calls
Sharing a contract does not enable CORS. When a browser application calls a separately deployed BFF, pass the BFF origin as baseUrl:
const result = await executeApi(basketApiContract, {
baseUrl: "https://basket-api.example.com",
params: { basketId: "basket-123" },
});
The BFF must explicitly allowlist the browser application's origin with its server CORS configuration. Keep origins in environment configuration, not in a shared contract library.