Packages Overview¶
SystemForge Web is a monorepo of focused packages, published to npm under
@plexusone. Install only the ones an application needs.
How they depend on each other¶
@plexusone/host ───┬──▶ @plexusone/shell
└──▶ @plexusone/auth
@plexusone/shell ──┬──▶ @plexusone/auth
├──▶ @plexusone/tenant ──▶ @plexusone/auth
└──▶ @plexusone/ui
@plexusone/pages ─────▶ @plexusone/auth
Standalone: @plexusone/api-client, @plexusone/chat,
@plexusone/design-tokens, @plexusone/telemetry
An arrow is a peer dependency: the application installs both, and they share one copy. Every package also needs React 19.
Package summary¶
| Package | Purpose | Key exports |
|---|---|---|
| @plexusone/api-client | HTTP client | ApiProvider, useApiClient, createApiClient |
| @plexusone/auth | Authentication and the BFF session | SessionProvider, useSession, AuthProvider, ProtectedRoute |
| @plexusone/chat | Chat components | ChatProvider, ChatWidget, ChatEmbed |
| @plexusone/console | The organization console | consoleApp, consoleSessionClient, Connections, Connect |
| @plexusone/design-tokens | Design system | Colors, typography, spacing |
| @plexusone/host | Hosting applications | AppModule, Shell, createHost, DevShell |
| @plexusone/pages | Pre-built pages | LoginPage, ErrorPage, OrganizationSettingsPage |
| @plexusone/shell | Application chrome | AppShell, ProductSwitcher, OrganizationSwitcher, ProfileMenu |
| @plexusone/telemetry | Instrumentation | TelemetryProvider, ErrorBoundary |
| @plexusone/tenant | Multi-tenancy | TenantProvider, RequireRole, useOrganization |
| @plexusone/ui | UI components | Button, Card, DropdownMenu, Tooltip |
Choosing packages¶
An application on a SystemForge relying party (the BFF at /bff), with
the shared chrome:
An application exported as a module, run on its own or hosted by a stack:
Authentication only:
Components only: