Checklists
New Project Setup
Checklist for bootstrapping a new project.
Run through this when starting any new project.
Repository Setup
- Create GitHub repo (org or personal)
- Clone locally
- Add
.gitignore(use GitHub's template for your language) - Create
CLAUDE.mdfrom templates/claude-md-starter.md - Create
README.mdwith project overview and setup instructions
GitHub Configuration
-
Create GitHub Project board (Kanban: To Do → In Progress → Testing → Done)
-
Add labels to repo (see labels.yml):
# Priority labels gh label create "P0-critical" --color "B60205" --description "Critical priority" --repo <repo> gh label create "P1-high" --color "D93F0B" --description "High priority" --repo <repo> gh label create "P2-medium" --color "FBCA04" --description "Medium priority" --repo <repo> gh label create "P3-low" --color "0E8A16" --description "Low priority" --repo <repo> -
Add PR template:
.github/PULL_REQUEST_TEMPLATE.md(from templates/pull-request.md) -
Add issue templates:
.github/ISSUE_TEMPLATE/(from templates/) -
Enable branch protection on
main(if on paid plan):- Require PR before merging
- Require CI status checks to pass
- Do not allow force pushes
CI/CD
- Create
.github/workflows/ci.yml(follow process/ci-cd.md) - Verify CI runs on push and PR
- Ensure tests block the pipeline (no
continue-on-error) - Add GitHub Secrets for any required environment variables
Development Environment
-
docker-compose.ymlfor local services (DB, cache, etc.) -
.env.examplewith all required env vars (no real values) - Verify:
git clone→ install → run → tests pass (fresh machine test) - Document setup steps in README or CLAUDE.md
Code Quality
- Linter configured and running in CI
- Formatter configured (or format check in CI)
- Type checking enabled (TypeScript strict, mypy, etc.)
- Pre-commit hooks (optional but recommended): lint + format on commit
First Issue
- Create the first issue on the board (project scaffold or first feature)
- Assign priority label
- Add to the project board
- Start working using the branch → PR → merge flow from day one