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
This commit is contained in:
149
CHANGELOG.md
Normal file
149
CHANGELOG.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user