# Vite + TanStack Router Client-Only Project Structure

Use this structure for dense interactive apps, dashboards, internal tools, and
client-only product surfaces. It does not provide crawler-visible SSR landing
HTML. If the same webapp needs public SEO/SSR at `/` plus an authenticated or
browser-heavy workspace under `/app`, choose the TanStack Start + Cloudflare
Workers model instead of scaffolding separate `apps/marketing` and `apps/web`
frontend deployments.

{{PROJECT_NAME}}/
├── src/
│   ├── routes/                  # TanStack Router routes
│   │   ├── __root.tsx          # Root route
│   │   ├── index.tsx           # Home page (/)
│   │   ├── _auth/              # Auth layout
│   │   │   ├── login.tsx       # /login
│   │   │   └── register.tsx    # /register
│   │   └── _app/               # Main app layout
│   │       ├── dashboard.tsx   # /dashboard
│   │       └── users/
│   │           ├── index.tsx   # /users
│   │           └── $id.tsx     # /users/:id
│   ├── components/
│   │   ├── ui/                 # shadcn/ui components
│   │   ├── layout/             # Layout components
│   │   │   ├── header.tsx
│   │   │   ├── sidebar.tsx
│   │   │   └── footer.tsx
│   │   └── features/           # Business components
│   ├── lib/
│   │   ├── supabase.ts         # Supabase client
│   │   ├── utils.ts            # Utilities
│   │   └── cn.ts               # className merge
│   ├── hooks/                  # Custom hooks
│   ├── stores/                 # Zustand stores
│   ├── types/                  # TypeScript types
│   │   └── database.types.ts   # Supabase generated types
│   ├── styles/
│   │   └── globals.css
│   └── main.tsx                # Entry point
├── public/                     # Static assets
├── docs/                       # Project documentation
│   ├── architecture/
│   │   ├── ARCHITECTURE.md
│   │   └── tech-stack.md
│   └── CHANGELOG.md
├── deploy/                     # Trackable deploy/ops docs, scripts, and SQL
│   └── sql/                    # Ordered deployment SQL
├── _ops/                       # Ignored local secrets, env, state, logs
├── artifacts/                  # Build outputs (not in Git)
├── .env.example
├── .gitignore
├── package.json
├── vite.config.ts
├── tailwind.config.ts
├── tsconfig.json
├── CLAUDE.md                   # AI development guide
└── README.md
