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

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

Development

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

Version

  • Current Version: 1.0.0
  • Release Date: 2024-10-15
  • License: MIT

Support

For help:

  1. Read QUICKSTART.md for quick start
  2. Read USAGE.md for detailed guide
  3. Check FEATURES.md for feature list
  4. Review 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!