Quick reference for AI agents using vibe-coding-templates to bootstrap Python projects.
- Bootstrap Steps: BOOTSTRAP.md - Follow systematically, step by step
- Package Management: docs/PACKAGE_MANAGEMENT.md - READ BEFORE using any uv commands
- GitHub Actions: docs/cicd/GITHUB_ACTIONS.md - READ BEFORE creating workflows
- Pre-commit Hooks: docs/cicd/PRE_COMMIT.md - READ BEFORE configuring hooks
- Testing: docs/testing/TEST_COVERAGE.md - READ BEFORE setting up tests
Every Python project MUST include:
- ✅ GitHub Actions workflow (.github/workflows/test.yml)
- ✅ Pre-commit configuration (.pre-commit-config.yaml)
- ✅ Complete test suite in tests/
- ✅ Proper package structure in src/
User: "Create a Python project called data-processor"
Actions:
- Follow BOOTSTRAP.md ALL steps (1-9)
- READ docs/PACKAGE_MANAGEMENT.md when creating pyproject.toml and Makefile (Step 3)
- MUST create .github/workflows/test.yml (Step 6) - read GitHub Actions docs first
- MUST create .pre-commit-config.yaml (Step 7) - read Pre-commit docs first
- Replace placeholders:
{project_name}→data-processor,{package_name}→data_processor - Run ALL verification commands from Step 9 to ensure completeness
User: "Set up GitHub Actions"
Actions:
- FIRST: Read docs/cicd/GITHUB_ACTIONS.md completely
- THEN: Copy workflows from
templates/cicd/workflows/ - Customize for project needs based on the documentation
- Set up required secrets in GitHub
- Verify workflows run successfully
User: "Add pre-commit hooks"
Actions:
- FIRST: Read docs/cicd/PRE_COMMIT.md completely
- THEN: Copy hook configs from
templates/cicd/hooks/ - Ensure git is initialized first:
git init - Run
uv run pre-commit install - Test with
pre-commit run --all-files(may need to run twice)
User: "Convert my project to use uv"
Actions:
- FIRST: Read entire docs/PACKAGE_MANAGEMENT.md
- THEN: Follow migration guide section specifically
- Create
pyproject.tomlwith[tool.uv]section using template from docs - Run
uv sync --devto install dependencies - Update all scripts and documentation to use
uv runcommands - Verify with commands from the Package Management doc
Add to dependencies:
dependencies = [
"fastapi>=0.100.0",
"uvicorn>=0.23.0",
"pydantic>=2.0.0",
]Add to dependencies:
dependencies = [
"pandas>=2.0.0",
"numpy>=1.24.0",
"scikit-learn>=1.3.0",
"jupyter>=1.0.0",
]Add to dependencies and scripts:
dependencies = [
"click>=8.1.0",
"rich>=13.0.0",
]
[project.scripts]
my-cli = "my_package.cli:main"All commands use uv run prefix:
# Development
uv sync --dev # Install dependencies
uv run pytest # Run tests
uv run ruff check . # Lint code
uv run ruff format . # Format code
uv run mypy src/ # Type check
# Pre-commit
pre-commit install # Set up hooks
pre-commit run --all-files # Run all hooksSee troubleshooting sections in:
- docs/PACKAGE_MANAGEMENT.md#troubleshooting - Package issues
- docs/cicd/GITHUB_ACTIONS.md#troubleshooting - CI/CD issues
- docs/cicd/PRE_COMMIT.md - Hook issues
- READ DOCUMENTATION FIRST - Always read referenced docs before implementing
- Always use uv - Never mix pip and uv (see Package Management doc)
- Follow existing docs - Don't recreate what's already documented
- Test incrementally - Verify each step works before proceeding
- Use templates - Start from
templates/directory - Check existing patterns - Look at how things are done in the codebase
- Fix linting first - Run
uv run ruff check . --fixbefore committing - Initialize git early - Required for pre-commit hooks to work
- Run pre-commit twice - First run may fix issues, second run verifies
- Verify completeness - Use Step 9 verification checklist from BOOTSTRAP.md
- Mypy types-all: Don't use it, add specific type stubs instead
- Markdown code blocks: Always specify language (
```python,```yaml,```text) - Pre-commit stages: Some hooks warn about deprecated stage names - this is OK
- Initial linting: New code often needs
ruff --fixon first run - Git init timing: Must init git before installing pre-commit hooks