# Bun Workspace Monorepo Structure

{{PROJECT_NAME}}/
├── apps/
│   ├── web/                      # Astro shell or Vite app surface
│   │   ├── src/
│   │   │   ├── routes/
│   │   │   ├── components/
│   │   │   └── main.tsx
│   │   ├── package.json
│   │   └── vite.config.ts
│   │
│   ├── admin/                    # Admin dashboard (optional)
│   │   ├── app/
│   │   └── package.json
│   │
│   └── mobile/                   # Mobile app (optional)
│       ├── src/
│       └── package.json
│
├── packages/
│   ├── ui/                       # Shared UI components
│   │   ├── src/
│   │   │   ├── button.tsx
│   │   │   ├── input.tsx
│   │   │   └── index.ts
│   │   ├── package.json
│   │   └── tsconfig.json
│   │
│   ├── utils/                    # Shared utilities
│   │   ├── src/
│   │   │   ├── format.ts
│   │   │   ├── validate.ts
│   │   │   └── index.ts
│   │   └── package.json
│   │
│   ├── contracts/                # Shared Zod/Valibot contracts
│   │   ├── src/
│   │   │   ├── events.ts
│   │   │   ├── tools.ts
│   │   │   └── index.ts
│   │   └── package.json
│   │
│   └── tsconfig/                 # Shared TypeScript configs
│       ├── base.json
│       ├── react.json
│       └── package.json
│
├── 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)
├── turbo.json                    # Optional Turborepo config when scale needs it
├── package.json                  # Root package.json
├── bun.lockb                     # Bun lockfile
├── .gitignore
├── CLAUDE.md                     # AI development guide
└── README.md
