- Bootstrap script for creating monorepo projects - FastAPI backend templates with uv, ruff, mypy, pytest - React frontend templates with TypeScript, ESLint, Prettier - Docker Compose setup with backend, frontend, and database - 9 development and CI scripts - Gitea Actions CI/CD workflows - Comprehensive documentation (8 files) - 45 template files for complete project structure - Automated verification script (all tests pass) - Based on coding-agent-rules standards
Project Name
A modern monorepo project with FastAPI backend and React frontend.
Project Structure
This project follows a modular monorepo layout based on best practices:
- backend/ - FastAPI server (Python 3.11+)
- frontend/ - React application (TypeScript)
- deploy/ - Docker and deployment configurations
- scripts/ - Shared scripts for CI and development
- docs/ - Project documentation
Prerequisites
- Python 3.11+
- Node.js 20 LTS
- Docker & Docker Compose
- uv (Python package manager)
Quick Start
Using Docker Compose (Recommended)
# Start all services
docker compose -f deploy/compose.yml up
# Backend will be available at http://localhost:8000
# Frontend will be available at http://localhost:3000
# API docs at http://localhost:8000/docs
Local Development
Backend
cd backend
cp .env.example .env
uv sync
uv run uvicorn app.main:app --reload
Frontend
cd frontend
cp .env.example .env
npm install
npm start
Development Scripts
Located in scripts/ directory:
-
scripts/dev/ - Developer convenience scripts
start-backend.sh- Start backend serverstart-frontend.sh- Start frontend dev serverstart-database.sh- Start database containerreset-database.sh- Reset database
-
scripts/utils/ - Utility scripts
lint-backend.sh- Lint backend codelint-frontend.sh- Lint frontend codeformat-all.sh- Format all code
Testing
Backend
cd backend
uv run pytest --cov=app --cov-report=term-missing
Frontend
cd frontend
npm test
npm run test:coverage
Code Quality
- Backend: ruff (format + lint), mypy (type checking), 100% test coverage required
- Frontend: ESLint, Prettier, Jest, 90%+ test coverage
CI/CD
CI workflows are defined in .gitea/workflows/ and use scripts from scripts/ci/.
Documentation
- API documentation:
/docs/api/ - Architecture diagrams:
/docs/architecture/ - User guide:
/docs/user-guide/
License
[Specify your license here]