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:
104
templates/README.md
Normal file
104
templates/README.md
Normal file
@@ -0,0 +1,104 @@
|
||||
# Project Name
|
||||
|
||||
A modern monorepo project with FastAPI backend and React frontend.
|
||||
|
||||
## Project Structure
|
||||
|
||||
This project follows a modular monorepo layout based on best practices:
|
||||
|
||||
- **backend/** - FastAPI server (Python 3.11+)
|
||||
- **frontend/** - React application (TypeScript)
|
||||
- **deploy/** - Docker and deployment configurations
|
||||
- **scripts/** - Shared scripts for CI and development
|
||||
- **docs/** - Project documentation
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Python 3.11+
|
||||
- Node.js 20 LTS
|
||||
- Docker & Docker Compose
|
||||
- uv (Python package manager)
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Using Docker Compose (Recommended)
|
||||
|
||||
```bash
|
||||
# Start all services
|
||||
docker compose -f deploy/compose.yml up
|
||||
|
||||
# Backend will be available at http://localhost:8000
|
||||
# Frontend will be available at http://localhost:3000
|
||||
# API docs at http://localhost:8000/docs
|
||||
```
|
||||
|
||||
### Local Development
|
||||
|
||||
#### Backend
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
cp .env.example .env
|
||||
uv sync
|
||||
uv run uvicorn app.main:app --reload
|
||||
```
|
||||
|
||||
#### Frontend
|
||||
|
||||
```bash
|
||||
cd frontend
|
||||
cp .env.example .env
|
||||
npm install
|
||||
npm start
|
||||
```
|
||||
|
||||
## Development Scripts
|
||||
|
||||
Located in `scripts/` directory:
|
||||
|
||||
- **scripts/dev/** - Developer convenience scripts
|
||||
- `start-backend.sh` - Start backend server
|
||||
- `start-frontend.sh` - Start frontend dev server
|
||||
- `start-database.sh` - Start database container
|
||||
- `reset-database.sh` - Reset database
|
||||
|
||||
- **scripts/utils/** - Utility scripts
|
||||
- `lint-backend.sh` - Lint backend code
|
||||
- `lint-frontend.sh` - Lint frontend code
|
||||
- `format-all.sh` - Format all code
|
||||
|
||||
## Testing
|
||||
|
||||
### Backend
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
uv run pytest --cov=app --cov-report=term-missing
|
||||
```
|
||||
|
||||
### Frontend
|
||||
|
||||
```bash
|
||||
cd frontend
|
||||
npm test
|
||||
npm run test:coverage
|
||||
```
|
||||
|
||||
## Code Quality
|
||||
|
||||
- **Backend**: ruff (format + lint), mypy (type checking), 100% test coverage required
|
||||
- **Frontend**: ESLint, Prettier, Jest, 90%+ test coverage
|
||||
|
||||
## CI/CD
|
||||
|
||||
CI workflows are defined in `.gitea/workflows/` and use scripts from `scripts/ci/`.
|
||||
|
||||
## Documentation
|
||||
|
||||
- API documentation: `/docs/api/`
|
||||
- Architecture diagrams: `/docs/architecture/`
|
||||
- User guide: `/docs/user-guide/`
|
||||
|
||||
## License
|
||||
|
||||
[Specify your license here]
|
||||
Reference in New Issue
Block a user