# 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
# Install all workspace dependencies from js/
pnpm install
### 3. Database Configuration
# Generate Prisma client and run migrations
cd common
pnpm prisma generate
pnpm prisma migrate dev
## Development Workflow
### Start Development Servers
# From js/ workspace root:
pnpm --filter cf-api dev
pnpm --filter cf-webapp dev
### Build
# 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
pnpm build
pnpm publish