Files
project-bootstrap/INDEX.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

243 lines
6.5 KiB
Markdown

# Project Bootstrap - Complete Index
## Documentation Files
### Getting Started
- **[README.md](README.md)** - Main project overview and introduction
- **[QUICKSTART.md](QUICKSTART.md)** - Quick 3-step guide to get started
- **[USAGE.md](USAGE.md)** - Detailed usage instructions and examples
### Reference
- **[FEATURES.md](FEATURES.md)** - Complete list of all features
- **[PROJECT_SUMMARY.md](PROJECT_SUMMARY.md)** - Executive summary and statistics
- **[CHANGELOG.md](CHANGELOG.md)** - Version history and changes
### Development
- **[CONTRIBUTING.md](CONTRIBUTING.md)** - Guidelines for contributors
- **[INDEX.md](INDEX.md)** - This file - complete project index
## Executable Files
### Main Script
- **[bootstrap.sh](bootstrap.sh)** - Main bootstrap script to create new projects
### Verification
- **[verify.sh](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
```bash
./bootstrap.sh my-project
```
### Verify Bootstrap Works
```bash
./verify.sh
```
### Start Generated Project
```bash
cd my-project
docker compose -f deploy/compose.yml up
```
### Run Tests
```bash
# Backend
cd backend && uv run pytest --cov=app
# Frontend
cd frontend && npm test
```
### Format Code
```bash
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:
1. Read [QUICKSTART.md](QUICKSTART.md) for quick start
2. Read [USAGE.md](USAGE.md) for detailed guide
3. Check [FEATURES.md](FEATURES.md) for feature list
4. Review [CONTRIBUTING.md](CONTRIBUTING.md) for development
## Next Steps
1. Run `./bootstrap.sh my-project` to create a project
2. Follow the generated README.md in your project
3. Start building your application
4. Enjoy the modern development experience!