Run through this checklist at the start of every working session.
# Verify clean working tree
git status
# Pull latest changes
git pull origin mainIf there are uncommitted changes:
- Stash them with
git stash push -m "WIP: description"if you want to save them temporarily - Or ask the user if they should be committed first
Before starting work, verify your local environment is set up:
# Check Docker is running
docker compose ps
# If not running, start the full stack:
docker compose up -d
# Ensure migrations and seed data are current:
make migrate
make seedSee doc/ref/local_dev.md for full local development setup.
- Read
doc/progress/SUMMARY.mdto see what's completed and in-progress. - Read
doc/spec/ROADMAP.mdto identify the next unstarted card. - Determine which card to work on based on dependencies.
Before writing code, evaluate:
| Factor | Questions |
|---|---|
| Complexity | Is this a simple implementation or a complex feature? |
| Risk | Does it touch the database schema or core APIs? |
| Testing | Will new tests be required? |
| Scope | Can this be done in one session, or should it be split? |
Prompt the user with your assessment:
"The next card is [Card XX: Title]. It's [simple/complex] — involves [scope summary]. Should I create a feature branch (
feature/XX-description) to trigger the preview workflow, or work directly on main?"
-
Create a branch if:
- The work involves multiple files or significant changes
- You want the full CI/CD pipeline to run
- It's a feature that should be reviewed via PR
-
Work on main if:
- Quick fixes or single-file changes
- Documentation-only updates
- The user explicitly approves
- Read the relevant specification in
doc/ref/to refresh context. - Begin implementation.
- Follow the acceptance criteria in the spec.
-
Run lint/typecheck:
# Python ruff check . mypy . # TypeScript/Frontend npm run lint npm run typecheck
-
Run tests:
make test-unit # or relevant test command -
Verify acceptance criteria from the card spec.
- Commit all changes with a descriptive message.
- Update
doc/progress/SUMMARY.md:- Add a line for this work item with short description and blockers/follow-ups
- Clearly relay status to user and ask if they want you to push changes
> git status
On branch main. Working tree clean.
> cat doc/progress/SUMMARY.md
# Progress Summary
This document is used to track progress.
2025-03-12 Initial documentation restructure (PRD, Roadmap, Reference library) completed, no issues