Reference
Product source map
Open the Nuxt Customer Portal monorepo files behind packages, demos, migrations, and boundary checks.
This map connects the 0.4.0 documentation to the canonical monorepo. Every implementation link is pinned to the commit used to publish the npm packages, so later changes on master do not change the referenced source.
Workspace and demos
package.json— private workspace commands and Changesets tooling.pnpm-workspace.yaml— application and package membership.LICENSE— repository-wide MIT terms.apps/demo-apex/portal.config.ts— Apex package selection.apps/demo-apex/nuxt.config.ts— conventional SaaS host configuration.apps/demo-apex/app/app.vue— Apex host entry point.apps/demo-brutal/portal.config.ts— Brutal package selection.apps/demo-brutal/app/layouts/default.vue— independent editorial shell.apps/demo-brutal/app/assets/css/main.css— high-contrast responsive styling.
Core and UI contracts
packages/core/nuxt.config.ts— visually headless core layer.packages/core/portal.manifest.mjs— core provider metadata.packages/core/shared/types/feature.ts— navigation, widget, surface, badge, and policy contracts.packages/core/shared/feature-registry.ts— deterministic feature registration.packages/core/shared/portal-session.ts— active-organization extraction.packages/core/app/composables/usePortalFeatures.ts— client contribution collections.packages/core/server/portal.ts— stable session, tenant, authorization, and database adapters.packages/core/server/utils/route-meta.ts— route-owned Zod/OpenAPI metadata helper.packages/core/server/utils/openapi-contracts.ts— generic contract merging.packages/ui/nuxt.config.ts— neutral UI layer.packages/ui/app/layouts/default.vue— fallback shell layout.packages/ui/app/pages/dashboard.vue— feature-owned dashboard aggregation.packages/ui/app/components/DashboardContribution.vue— component-name resolution and error isolation.
Platform and feature packages
packages/preset/nuxt.config.ts— convenience layer composition.packages/authentication/nuxt.config.ts— authentication pages and configuration.packages/organizations/shared/feature.ts— account and organization contributions.packages/administration/shared/feature.ts— system administration contributions.packages/service-requests/shared/feature.ts— compact business-feature contract.packages/service-requests/server/plugins/openapi-contracts.ts— feature-owned API schemas.packages/service-requests/migrations/0000_baseline.sql— clean Service Requests baseline.packages/timesheets/shared/feature.ts— Timesheets modules, policies, widgets, and surface contribution.packages/timesheets/app/components/TimesheetsAdministrationOrganizationPanel.vue— optional administration surface panel.packages/timesheets/server/db/schema/timesheets.ts— feature-owned PostgreSQL records.packages/timesheets/migrations/0000_baseline.sql— clean Timesheets baseline.packages/products/shared/feature.ts— Store navigation, permissions, and client purchase access.packages/products/server/db/schema/products.ts— catalog, pricing, order, payment, and asset records.packages/planning/shared/feature.ts— Appointments navigation, policies, and dashboard contributions.packages/planning/server/db/schema/planning.ts— availability, holds, appointments, provider connections, and jobs.packages/invoice-products/portal.manifest.mjs— Products and Invoices integration dependencies.
Kit and verification
packages/kit/src/runtime.mjs— config resolution, ordering, locking, journals, and adoption.packages/kit/bin/nuxt-customer-portal.mjs— CLI commands.legacy/drizzle/0021_configurable_internal_approvals.sql— unchanged legacy history example.packages/core/test/layer-boundaries.test.ts— forbidden aliases, optional imports, locale parity, and brand isolation.packages/core/test/openapi-contracts.test.ts— route-owned API registry checks.
Continue with Create a feature layer or consult the glossary.
