Note: This is mock/placeholder content for demonstration purposes.
Learn how the codebase is organized and where to find things.
This project uses Turborepo to manage a monorepo with multiple apps and packages.
project-root/ โโโ apps/ # Applications โ โโโ web/ # Main Next.js app โ โโโ e2e/ # Playwright E2E tests โ โโโ dev-tool/ # Development utilities โโโ packages/ # Shared packages โ โโโ features/ # Feature packages โ โโโ ui/ # UI components โ โโโ supabase/ # Supabase utilities โ โโโ billing/ # Billing integrations โโโ tooling/ # Development tools โโโ supabase/ # Database schema & migrations โโโ docs/ # Documentation
apps/web)The primary Next.js application:
apps/web/ โโโ app/ # Next.js App Router โ โโโ (marketing)/ # Public pages โ โโโ (auth)/ # Authentication โ โโโ home/ # Main application โ โ โโโ (user)/ # Personal account โ โ โโโ [account]/ # Team accounts โ โโโ admin/ # Admin panel โ โโโ api/ # API routes โโโ components/ # Shared components โโโ config/ # Configuration files โโโ lib/ # Utility functions โโโ public/ # Static assets โโโ supabase/ # Supabase setup
(marketing))Public-facing pages:
app/(marketing)/ โโโ page.tsx # Landing page โโโ pricing/ # Pricing page โโโ blog/ # Blog โโโ docs/ # Documentation
(auth))Authentication pages:
app/(auth)/ โโโ sign-in/ โโโ sign-up/ โโโ password-reset/ โโโ verify/
home)Main application:
app/home/
โโโ (user)/ # Personal account context
โ โโโ page.tsx # Personal dashboard
โ โโโ settings/ # User settings
โ โโโ projects/ # Personal projects
โโโ [account]/ # Team account context
โโโ page.tsx # Team dashboard
โโโ settings/ # Team settings
โโโ projects/ # Team projects
โโโ members/ # Team members
packages/features/)Modular features:
packages/features/ โโโ accounts/ # Account management โโโ auth/ # Authentication โโโ team-accounts/ # Team features โโโ billing/ # Billing & subscriptions โโโ admin/ # Admin features โโโ notifications/ # Notification system
packages/ui/)Shared UI components:
packages/ui/
โโโ src/
โโโ components/ # Shadcn UI components
โ โโโ button.tsx
โ โโโ input.tsx
โ โโโ dialog.tsx
โ โโโ ...
โโโ utils/ # UI utilities
packages/supabase/)Database utilities:
packages/supabase/ โโโ schema/ # Declarative schemas โ โโโ accounts.schema.ts โ โโโ auth.schema.ts โ โโโ ... โโโ src/ โ โโโ clients/ # Supabase clients โ โโโ hooks/ # React hooks โ โโโ middleware/ # Auth middleware โโโ migrations/ # SQL migrations
project-root/ โโโ package.json # Root package.json โโโ turbo.json # Turborepo config โโโ pnpm-workspace.yaml # PNPM workspace โโโ tsconfig.json # Base TypeScript config
apps/web/ โโโ next.config.js # Next.js configuration โโโ tailwind.config.ts # Tailwind CSS โโโ tsconfig.json # TypeScript config โโโ .env.local # Environment variables
apps/web/config/ โโโ paths.config.ts # Route paths โโโ billing.config.ts # Billing settings โโโ feature-flags.config.ts # Feature flags โโโ personal-account-navigation.config.tsx โโโ team-account-navigation.config.tsx
page.tsx (Next.js convention)layout.tsxkebab-case.tsxkebab-case.tstypes.ts or component-name.types.ts[param] for dynamic(group) for organization_components, _lib@folderfeature/
โโโ page.tsx # Route page
โโโ layout.tsx # Route layout
โโโ loading.tsx # Loading state
โโโ error.tsx # Error boundary
โโโ _components/ # Private components
โ โโโ feature-list.tsx
โ โโโ feature-form.tsx
โโโ _lib/ # Private utilities
โโโ server/ # Server-side code
โ โโโ loaders.ts
โ โโโ actions.ts
โโโ schemas/ # Validation schemas
โโโ feature.schema.ts
Use TypeScript path aliases:
// Absolute imports from packages
import { Button } from '@kit/ui/button';
import { createClient } from '@kit/supabase/server-client';
// Relative imports within app
import { FeatureList } from './_components/feature-list';
import { loadData } from './_lib/server/loaders';
_components and _lib| Looking for... | Location |
|---|---|
| UI Components | packages/ui/src/components/ |
| Database Schema | packages/supabase/schema/ |
| API Routes | apps/web/app/api/ |
| Auth Logic | packages/features/auth/ |
| Billing Code | packages/features/billing/ |
| Team Features | packages/features/team-accounts/ |
| Config Files | apps/web/config/ |
| Types | *.types.ts files throughout |