- 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
6.5 KiB
6.5 KiB
Project Bootstrap - Complete Index
Documentation Files
Getting Started
- README.md - Main project overview and introduction
- QUICKSTART.md - Quick 3-step guide to get started
- USAGE.md - Detailed usage instructions and examples
Reference
- FEATURES.md - Complete list of all features
- PROJECT_SUMMARY.md - Executive summary and statistics
- CHANGELOG.md - Version history and changes
Development
- CONTRIBUTING.md - Guidelines for contributors
- INDEX.md - This file - complete project index
Executable Files
Main Script
- bootstrap.sh - Main bootstrap script to create new projects
Verification
- verify.sh - Automated verification script to test bootstrap
Template Files
All template files are located in the templates/ directory and will be copied to generated projects.
Root Templates
- templates/README.md - Project README template
- templates/LICENSE - MIT License template
- templates/.gitignore - Git ignore rules
Backend Templates (templates/backend/)
- pyproject.toml - Python project configuration with uv
- .env.example - Environment variables example
- app/main.py - FastAPI application entry point
- app/core/config.py - Configuration management
- app/core/errors.py - Error handling utilities
- tests/conftest.py - Test fixtures
- tests/unit/test_core/test_config.py - Example unit test
- tests/integration/test_api/test_health.py - Example integration test
Frontend Templates (templates/frontend/)
- package.json - Node.js dependencies and scripts
- tsconfig.json - TypeScript configuration
- .eslintrc.json - ESLint configuration
- .prettierrc.json - Prettier configuration
- .env.example - Environment variables example
- public/index.html - HTML template
- src/index.tsx - React entry point
- src/App.tsx - Main React component
- src/App.test.tsx - Example component test
- src/setupTests.ts - Test setup
- src/services/api.ts - API client configuration
- src/styles/index.css - Global styles
- src/styles/App.css - App styles
Deployment Templates (templates/deploy/)
- compose.yml - Docker Compose configuration
- .env.example - Deployment environment variables
- README.md - Deployment documentation
- docker/backend.Dockerfile - Backend container image
- docker/frontend.Dockerfile - Frontend container image
- docker/README.md - Docker documentation
Script Templates (templates/scripts/)
Development Scripts (templates/scripts/dev/)
- start-backend.sh - Start FastAPI development server
- start-frontend.sh - Start React development server
- start-database.sh - Start PostgreSQL container
- reset-database.sh - Reset database with confirmation
Utility Scripts (templates/scripts/utils/)
- lint-backend.sh - Run backend linting and type checking
- lint-frontend.sh - Run frontend linting
- format-all.sh - Format all code (backend + frontend)
CI Scripts (templates/scripts/ci/)
- backend-test.sh - Complete backend CI pipeline
- frontend-test.sh - Complete frontend CI pipeline
Documentation Templates (templates/docs/)
API Documentation (templates/docs/api/)
- README.md - API documentation overview
- CHANGELOG.md - API changelog template
Architecture Documentation (templates/docs/architecture/)
- README.md - Architecture documentation with diagrams
User Guide (templates/docs/user-guide/)
- README.md - User guide and tutorials
CI/CD Templates (templates/.gitea/)
- workflows/backend-ci.yml - Backend CI workflow
- workflows/frontend-ci.yml - Frontend CI workflow
Project Structure
project-bootstrap/
├── Documentation (8 files)
│ ├── README.md
│ ├── QUICKSTART.md
│ ├── USAGE.md
│ ├── FEATURES.md
│ ├── PROJECT_SUMMARY.md
│ ├── CHANGELOG.md
│ ├── CONTRIBUTING.md
│ └── INDEX.md
├── Scripts (2 files)
│ ├── bootstrap.sh
│ └── verify.sh
├── Configuration (1 file)
│ └── .gitignore
└── Templates (53 files)
├── Root (3 files)
├── Backend (8 files)
├── Frontend (13 files)
├── Deploy (6 files)
├── Scripts (9 files)
├── Docs (10 files)
└── CI/CD (2 files)
Quick Reference
Create a New Project
./bootstrap.sh my-project
Verify Bootstrap Works
./verify.sh
Start Generated Project
cd my-project
docker compose -f deploy/compose.yml up
Run Tests
# Backend
cd backend && uv run pytest --cov=app
# Frontend
cd frontend && npm test
Format Code
bash scripts/utils/format-all.sh
File Counts
- Documentation: 8 files
- Scripts: 2 files
- Templates: 53 files
- Total: 63 files
Generated Project Statistics
When you run the bootstrap, it creates:
- 62+ files in the new project
- 35+ directories
- 9 executable scripts
- Complete working application
Technology Stack
Backend
- Python 3.11+
- FastAPI
- Pydantic v2
- uv
- ruff
- mypy
- pytest
Frontend
- React 18
- TypeScript
- Axios
- ESLint
- Prettier
- Jest
DevOps
- Docker
- Docker Compose
- PostgreSQL 16
- Gitea Actions
Key Features Summary
✅ One-command project creation ✅ Full-stack monorepo structure ✅ Docker Compose setup ✅ 100% backend test coverage requirement ✅ 90%+ frontend test coverage ✅ Type safety (mypy + TypeScript) ✅ Automated linting and formatting ✅ CI/CD workflows included ✅ Comprehensive documentation ✅ Development scripts ✅ Example code and tests
Links
- Coding Rules: https://git.prettyhefty.com/Bill/coding-agent-rules
- FastAPI: https://fastapi.tiangolo.com/
- React: https://react.dev/
- uv: https://github.com/astral-sh/uv
Version
- Current Version: 1.0.0
- Release Date: 2024-10-15
- License: MIT
Support
For help:
- Read QUICKSTART.md for quick start
- Read USAGE.md for detailed guide
- Check FEATURES.md for feature list
- Review CONTRIBUTING.md for development
Next Steps
- Run
./bootstrap.sh my-projectto create a project - Follow the generated README.md in your project
- Start building your application
- Enjoy the modern development experience!