Files
project-bootstrap/templates/README.md
Bill 8dd4f0ca63 Initial commit: Complete project-bootstrap tool
- 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
2025-10-15 21:34:08 -04:00

2.0 KiB

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

# 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 server
    • start-frontend.sh - Start frontend dev server
    • start-database.sh - Start database container
    • reset-database.sh - Reset database
  • scripts/utils/ - Utility scripts

    • lint-backend.sh - Lint backend code
    • lint-frontend.sh - Lint frontend code
    • format-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]