This file provides guidance to Claude Code (claude.ai/code) and other AI agents when working with this template repository.
Professional project template repository designed for AI-assisted development, providing comprehensive documentation and templates for bootstrapping modern software projects with best practices, automated tooling, and production-ready configurations.
Complete Python project templates with:
- Package Management:
uv(10-100x faster than pip, Rust-based) - Testing: pytest with coverage reporting and fixtures
- Code Quality: ruff (linting/formatting), black (formatting), mypy (type checking)
- CI/CD: GitHub Actions with matrix testing
- Pre-commit: Automated hooks for code quality
- Documentation: Comprehensive guides and best practices
📚 Python Documentation:
- python/BOOTSTRAP.md - Step-by-step project bootstrap guide
- python/AI_AGENT_GUIDE.md - Common scenarios and quick reference
- python/docs/ - Comprehensive documentation for all components
- llms.txt - AI agent overview and quick start
- Navigate to the Python templates:
python/ - Follow python/BOOTSTRAP.md systematically
- CRITICAL: Read the referenced documentation when performing each step:
- Step 3 (pyproject.toml, Makefile): READ python/docs/PACKAGE_MANAGEMENT.md
- Step 5 (Testing): READ python/docs/testing/TEST_COVERAGE.md
- Step 6 (GitHub Actions): READ python/docs/cicd/GITHUB_ACTIONS.md
- Step 7 (Pre-commit): READ python/docs/cicd/PRE_COMMIT.md
- Use templates from
python/templates/ - Always run Step 9 verification commands to ensure completeness
- Bootstrap Guide: python/BOOTSTRAP.md
- Package Management: python/docs/PACKAGE_MANAGEMENT.md
- GitHub Actions: python/docs/cicd/GITHUB_ACTIONS.md
- Pre-commit Hooks: python/docs/cicd/PRE_COMMIT.md
- Testing: python/docs/testing/TEST_COVERAGE.md
- llms.txt Guide: python/docs/LLMS_TXT.md
- Makefile: python/templates/Makefile
- llms.txt: python/templates/llms.txt
- CLAUDE.md: python/templates/CLAUDE.md
- READ DOCUMENTATION FIRST - When BOOTSTRAP.md references a doc (hyperlink or path), READ IT before implementing that step
- Use language-specific guides - Each language has its own folder with tailored documentation
- Follow existing documentation - Don't recreate what's already documented, use the templates provided
- Use templates as starting points - Customize based on user needs
- Verify everything works - Always run verification commands (Step 9 in BOOTSTRAP.md) before declaring success
- Package Management is Critical - ALWAYS read python/docs/PACKAGE_MANAGEMENT.md to understand uv commands, lock files, and best practices
- Test Coverage Matters - Aim for minimum 80% coverage, critical modules should have 90-100%
- Use Modern Tools - Prefer uv over pip, ruff over pylint/flake8, use type hints everywhere
- CI/CD is Essential - Always set up GitHub Actions for automated testing and quality checks
All Python projects use uv for package management:
# Install uv (if not installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Initialize project
uv init
# Install dependencies
uv sync --dev
# Add a new dependency
uv add package-name
uv add --dev package-name # for dev dependencies
# Run tests with coverage
uv run pytest --cov=src --cov-report=term-missing
# Linting and formatting
uv run ruff check . --fix
uv run ruff format .
uv run black .
# Type checking
uv run mypy src/
# Pre-commit hooks
uv run pre-commit install
uv run pre-commit run --all-files
# Build package
uv build
# Update lock file
uv lockPython projects include a comprehensive Makefile for common development tasks, configured to use uv commands.
📚 See the complete Makefile template: python/templates/Makefile
📚 Documentation: python/docs/PACKAGE_MANAGEMENT.md#makefile-integration
Common make targets:
make help- Show all available targetsmake install- Install project dependenciesmake dev-install- Install with dev dependenciesmake test- Run testsmake test-cov- Run tests with coveragemake lint- Run linting checksmake format- Format codemake qa- Run all quality checksmake clean- Clean build artifacts
AI AGENTS: You MUST read python/docs/PACKAGE_MANAGEMENT.md for:
- Complete command reference
- Makefile integration details
- Lock file management (
uv.lock) - Troubleshooting common issues
- Best practices and DO's/DON'Ts
- Migration from pip
- Publishing to PyPI
Common placeholders to replace:
{project_name}- Project directory name{package_name}- Language-specific package name{description}- Project description{author}- Author name{email}- Author email{python_version}or{language_version}- Target language version
This repository structure supports adding templates for other languages:
javascript/- Node.js/TypeScript projects (future)rust/- Rust projects (future)go/- Go projects (future)
Each language folder will contain its own:
BOOTSTRAP.md- Language-specific bootstrap guidedocs/- Language-specific documentationtemplates/- Language-specific templates