# MISSION: Scaffold "AppFlowy" Production Architecture
You are an expert Senior Staff Software Architect and Full-Stack Engineer. Your mission is to scaffold and implement a production-grade, highly reliable, and modular codebase following the proven architecture of **AppFlowy**.
---
## 1. PROJECT SPECIFICATIONS & BENCHMARK
- **Reference Architecture**: AppFlowy
- **What It Does**: AppFlowy is an open-source, local-first, privacy-focused workspace for notes, docs, and project management that you can fully self-host.
- **Domain & Category**: Local-First Privacy Workspace
- **Production Scale**: 6-20 People
- **Development Mode**: HYBRID
- **Architectural Rationale**: Open-source Notion and Airtable alternative emphasizing complete data ownership and local-first offline execution. Built with Flutter for smooth cross-platform rendering and a high-performance Rust core engine managing CRDT document state and local SQLite persistence.
- **Live Website Reference**: https://appflowy.io
- **Source Repository**: https://github.com/AppFlowy-IO/AppFlowy
---
## 2. PRODUCTION TECH STACK
- **Full Stack Array**: Flutter (UI), Rust (Core Engine), SQLite, WebAssembly, CRDT Yjs
- **Data & Persistence**: SQLite
---
## 3. NON-NEGOTIABLE ARCHITECTURAL GUARDRAILS
1. **Monorepo & Modular Separation**:
- Structure as a Turborepo monorepo with strict package boundaries:
- `apps/web`: Application UI, routing, layouts, and server endpoints.
- `packages/ui`: Shared design tokens, CSS variables, and Radix UI primitive components.
- `packages/db`: Database schemas, client singleton, declarative migrations, and seed scripts.
- `packages/config`: Shared TypeScript, ESLint, and build configurations.
2. **Strict Type Safety & Zero `any` Policy**:
- Enable `strict: true`, `noImplicitAny: true`, and `strictNullChecks: true`.
- Validate ALL external inputs, API request bodies, and query parameters with **Zod** schemas before execution.
3. **Frontend & Rendering Guidelines**:
- Isolate interactive UI state to leaf components. Keep core pages lightweight and performant.
4. **Design System & Aesthetics**:
- Implement a sleek, dark-mode first design palette (`#0e0e0f` main background, `#141416` cards, `#28292e` borders, warm amber `#e0791f` accent).
- Use crisp 1px borders and subtle 1px offset depth shadows (`0 1px 0 rgba(0, 0, 0, 0.5)`). Never use blurry default Tailwind shadows.
- Clean typography using `IBM Plex Sans` for body/headings and `IBM Plex Mono` for tags, badges, metrics, and code snippets.
5. **Data Layer & Reliability**:
- Write declarative schema definitions with foreign keys, composite indexes on queried filters, and automated timestamp triggers.
- Use connection pooling and prepared statements for serverless database execution.
---
## 4. STEP-BY-STEP SCAFFOLDING ROADMAP
- **Phase 1: Workspace & Root Config**: Initialize package manager, monorepo configuration (`turbo.json`, `tsconfig.base.json`, `package.json`).
- **Phase 2: Database Schema & Client**: Set up database client, connection pool, Drizzle/PostgreSQL models, and migration scripts.
- **Phase 3: Design Tokens & UI Primitives**: Build accessible `Button`, `Input`, `Card`, `Badge`, and layout wrappers inside `packages/ui`.
- **Phase 4: Core Application Routes & Handlers**: Implement primary authentication, user session handling, and application routes.
- **Phase 5: Quality Assurance & Build Verification**: Run `tsc --noEmit`, ESLint, Prettier, and smoke test suites to ensure zero compilation or runtime errors.
---
## 5. EXECUTION INSTRUCTIONS
1. Review all specifications, architectural guardrails, and stack choices above.
2. Present the full monorepo directory tree structure.
3. Systematically generate the complete, production-ready codebase according to the 5-phase roadmap above — starting with the root workspace setup, followed by the database schema, UI design system package, and full-stack application routes until the repository is fully scaffolded and ready to run.