Monorepo Commands
Reference for all npm scripts available in this full-stack monorepo project.
Project Structure
This monorepo contains three main packages:
- •API Server: FastAPI (Python)
- •Mobile App: React Native (TypeScript)
- •Web App: React + Vite (TypeScript)
Command Categories
Global Commands
Commands that run across the entire monorepo:
- •
npm run test- Run all tests (mobile Jest + API pytest) - •
npm run typecheck- Type check all packages (mobile, web, API) - •
npm run lint- Lint all packages (mobile, web, API)
API Server Commands
FastAPI backend commands:
- •
npm run api:test- Run pytest tests - •
npm run api:typecheck- Run mypy type checking - •
npm run api:lint- Run Ruff linter
Mobile App Commands
React Native commands:
- •
npm run mobile:ios- Build and run on iOS simulator (requires Xcode) - •
npm run mobile:android- Build and run on Android emulator (requires Android SDK) - •
npm run mobile:test- Run Jest tests - •
npm run mobile:typecheck- Run TypeScript type checking - •
npm run mobile:lint- Run ESLint
Web App Commands
React + Vite commands:
- •
npm run web:dev- Start development server with HMR (http://localhost:5173) - •
npm run web:build- Build for production (outputs toweb-app/dist)
Detailed Command Reference
For complete details on each command including descriptions and usage notes, see:
Usage Patterns
When working with this monorepo:
- •Starting development: Use
npm run web:devfor web ornpm run mobile:ios/mobile:androidfor mobile - •Before committing: Run
npm run lintandnpm run typecheckto catch issues - •Running tests: Use
npm run testfor all tests or specific commands for targeted testing - •Building for production: Use
npm run web:buildfor web deployment
Technology Stack
- •Backend: Python, FastAPI, pytest, mypy, Ruff
- •Mobile: React Native, TypeScript, Jest, ESLint
- •Web: React, Vite, TypeScript, ESLint
- •Monorepo: npm workspaces