- 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
4.4 KiB
4.4 KiB
Changelog
All notable changes to the project-bootstrap will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.0.0] - 2024-10-15
Added
Bootstrap Script
- Main
bootstrap.shscript for creating new projects - Automatic directory structure creation
- Python
__init__.pyfile generation - Template file copying
- Git repository initialization (optional with
--no-git) - Colored console output for better UX
- Error handling and validation
Backend Templates
- FastAPI application entry point (
main.py) - Core configuration module with Pydantic settings
- Error handling utilities
pyproject.tomlwith uv configuration- Complete ruff and mypy configuration
- pytest configuration with 100% coverage requirement
.env.examplefor environment variables- Example unit and integration tests
- Test fixtures in
conftest.py
Frontend Templates
- React 18 application with TypeScript
package.jsonwith all dependencies- TypeScript configuration (
tsconfig.json) - ESLint configuration with React rules
- Prettier configuration
- Jest testing setup
- React Testing Library configuration
- API service client with Axios
- Example component tests
.env.examplefor environment variables
Docker & Deployment
- Docker Compose configuration (
compose.yml) - Backend Dockerfile with uv
- Frontend Dockerfile with Node.js 20
- PostgreSQL database service
- Volume mounting for hot reload
- Network configuration
- Environment variable examples
Development Scripts
start-backend.sh- Start FastAPI dev serverstart-frontend.sh- Start React dev serverstart-database.sh- Start PostgreSQL containerreset-database.sh- Reset database with confirmation
Utility Scripts
lint-backend.sh- Backend linting and type checkinglint-frontend.sh- Frontend lintingformat-all.sh- Format all code
CI Scripts
backend-test.sh- Complete backend CI pipelinefrontend-test.sh- Complete frontend CI pipeline
CI/CD Workflows
- Gitea Actions workflow for backend
- Gitea Actions workflow for frontend
- Path-based triggers
- Coverage reporting integration
Documentation
- Main README with comprehensive overview
- USAGE.md with detailed usage instructions
- QUICKSTART.md for quick reference
- FEATURES.md listing all features
- API documentation template
- API changelog template
- Architecture documentation template
- User guide template
Configuration Files
.gitignorefor common files- MIT License template
- Environment variable examples for all services
Project Structure
- Modular monorepo layout
- Separate backend, frontend, deploy, scripts, and docs directories
- Organized test structure (unit and integration)
- Clear separation of concerns
Code Quality
- 100% backend test coverage requirement
- 90%+ frontend test coverage requirement
- Type safety with mypy and TypeScript
- Automated linting and formatting
- Pre-configured quality tools
Developer Experience
- One-command project creation
- Docker Compose for easy setup
- Hot reload for development
- Comprehensive documentation
- Example code and tests
- Helpful scripts for common tasks
[Unreleased]
Planned
- Database migration templates (Alembic)
- Authentication/authorization examples
- More comprehensive example code
- Kubernetes deployment templates
- Production Docker configurations
- Pre-commit hooks configuration
- GitHub Actions workflows (in addition to Gitea)
- Additional database options (MySQL, MongoDB)
- GraphQL API option
- WebSocket support examples
- Monitoring and logging examples
Under Consideration
- React Native mobile app template
- Next.js option for frontend
- Alternative backend frameworks (Django, Flask)
- Microservices architecture option
- Serverless deployment options
- Infrastructure as Code (Terraform, Pulumi)
Notes
Version 1.0.0
This is the initial release of the project-bootstrap, created based on the coding standards from coding-agent-rules.
The bootstrap creates a production-ready monorepo with:
- FastAPI backend (Python 3.11+)
- React frontend (TypeScript)
- PostgreSQL database
- Docker Compose setup
- Complete CI/CD workflows
- Comprehensive testing setup
- Development scripts
- Full documentation
All templates follow best practices and modern development standards.