Starting a new project — pick a template
Never start from an empty repo. Fork the template matching the project type — all three already ship CI/CD, GitHub Pages docs site, pre-commit, and release tooling, so you replace content, not plumbing.
| Build target | Fork | Stack / notes |
|---|---|---|
| Python package / library | python-package-template | uv-based package, tests, pre-commit, semantic-release |
| Generative-AI project, or full-stack (backend + frontend) | generative-ai-project-template | FastAPI + NiceGUI; litellm/ollama (cloud + local LLMs); langfuse observability |
| Home Assistant addon | ha-addons (octo-fiesta pattern: per-addon config.yaml/Dockerfile/run.sh, HA Store release flow) — or fork it as the base for your own addon collection |
Rules:
- Match the type first (package vs gen-ai/full-stack vs addon) — don't retrofit a template.
- Fork, don't clone — keep the upstream link so template improvements can be pulled in later.
- After forking, make the repo self-describing: add
AGENTS.md/CLAUDE.md+.claude/skills/(seerepo-conventions) so any agent works in it correctly from day one. - Rebrand/rename the package per the template's own README before first use.