Project Structure

A peek under the hood at the Nuxfire monorepo codebase.

Nuxfire is a Bun workspace monorepo (apps/*, packages/*, layers/*), all under the @nuxfire/* namespace. apps/ holds everything with its own deploy; packages/ holds shared libraries with no deploy of their own; layers/ holds pluggable business-domain Nuxt Layers, each one extended into apps/app and toggled on/off in root config.ts.

  • apps/app — the Composition Root: the app shell (dashboard layout, account settings, the tRPC composition), extending every active layer. Business logic itself — team management, billing, notifications, the platform admin console — lives in layers/, not here.
  • apps/web — the public site: landing page, blog, and this documentation, built with Nuxt Content.
  • apps/login — the login/signup/forgot-password UI, built statically and served as the auth Worker's static assets.
  • apps/functions — Cloudflare Workers code that isn't the main app: the OpenAuth auth issuer, the email Worker, the WebSockets Worker, the job/dead-letter queue consumers, and the hourly Cron Worker. Also home to database/ — the Drizzle schema aggregator, migrations, and seed scripts.
  • layers/teams, layers/billing, layers/notifications, layers/admin — the core business domains (multi-tenancy/RBAC, subscriptions, notifications, the platform admin console), each a self-contained Nuxt Layer with its own pages, components, tRPC router and database schema slice.
  • layers/kanban — an example optional feature layer, toggleable independently of the four core ones.
  • packages/emails — packages/emails/templates, email templates built with React Email, plus packages/emails/mailer, the provider-agnostic send engine (a vendored fork of AdonisJS Mail) — see Emails.
  • packages/tokens — @nuxfire/tokens, the single source of truth for theming (brand colors, corner radius, dark-mode surface mapping, Nuxt UI component overrides), consumed by every app and layer alike — see Design System & Branding.
  • packages/manifest — @nuxfire/manifest, the shared defineLayerManifest() contract every layer's layer.manifest.ts uses.

Everything outside apps/, packages/ and layers/ that isn't application code is infrastructure: infra/*.ts defines every Cloudflare resource as SST — see SST.dev for how those files load and what a stage is.

Folder Structure

Nuxfire Production Kit

Ready to build and launch your SaaS?

Get 100% full source code ownership, zero proprietary wrappers, and architecture engineered for millions of requests on Cloudflare.

© 2026 Nuxfire