# CodeFlash AI ## Overview CodeFlash AI is a JavaScript/TypeScript monorepo that provides a scalable and modular architecture for web applications, focusing on efficient code sharing and robust development practices. ## Project Structure ``` js/ ├── common/ # Shared code and database schema ├── cf-api/ # Backend API service ├── cf-webapp/ # Next.js web application ├── VSC-Extension/ # VS Code extension └── pnpm-workspace.yaml ``` ## Prerequisites - Node.js (v20+) - pnpm (v10+): `npm install -g pnpm` - Prisma CLI (installed as devDependency) ## Setup ### 1. Clone the Repository ```bash git clone https://github.com/your-org/codeflash-ai.git cd codeflash-ai/js ``` ### 2. Install Dependencies ```bash # Install all workspace dependencies from js/ pnpm install ``` ### 3. Database Configuration ```bash # Generate Prisma client and run migrations cd common pnpm prisma generate pnpm prisma migrate dev ``` ## Development Workflow ### Start Development Servers ```bash # From js/ workspace root: pnpm --filter cf-api dev pnpm --filter cf-webapp dev ``` ### Build ```bash # Build individual packages pnpm --filter cf-webapp build pnpm --filter cf-api build pnpm --filter @codeflash-ai/common build ``` ## Key Components ### Common Package (`@codeflash-ai/common`) - Shared TypeScript utilities - Prisma database schema - Reusable functions across projects - Referenced as `"workspace:*"` by cf-api and cf-webapp #### Usage Example ```typescript import { createOrUpdateUser } from "@codeflash-ai/common" ``` ## Best Practices 1. Always install from the workspace root (`js/`) 2. Keep shared logic in the `common` package 3. Use TypeScript for type safety 4. Follow existing code structure 5. Never commit sensitive data or build artifacts ## Publishing common Package ```bash cd common pnpm build pnpm publish ```