- 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
150 lines
4.4 KiB
Markdown
150 lines
4.4 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to the project-bootstrap will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [1.0.0] - 2024-10-15
|
|
|
|
### Added
|
|
|
|
#### Bootstrap Script
|
|
- Main `bootstrap.sh` script for creating new projects
|
|
- Automatic directory structure creation
|
|
- Python `__init__.py` file 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.toml` with uv configuration
|
|
- Complete ruff and mypy configuration
|
|
- pytest configuration with 100% coverage requirement
|
|
- `.env.example` for environment variables
|
|
- Example unit and integration tests
|
|
- Test fixtures in `conftest.py`
|
|
|
|
#### Frontend Templates
|
|
- React 18 application with TypeScript
|
|
- `package.json` with 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.example` for 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 server
|
|
- `start-frontend.sh` - Start React dev server
|
|
- `start-database.sh` - Start PostgreSQL container
|
|
- `reset-database.sh` - Reset database with confirmation
|
|
|
|
#### Utility Scripts
|
|
- `lint-backend.sh` - Backend linting and type checking
|
|
- `lint-frontend.sh` - Frontend linting
|
|
- `format-all.sh` - Format all code
|
|
|
|
#### CI Scripts
|
|
- `backend-test.sh` - Complete backend CI pipeline
|
|
- `frontend-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
|
|
- `.gitignore` for 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](https://git.prettyhefty.com/Bill/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.
|