Development Flow Guide
GitHub Project task sync with phase-based workflow tracking.
Project Configuration
Always read config first:
cat .claude/project.json
Variables:
PROJECT_NUMBER=.github.project.numberPROJECT_OWNER=.github.project.ownerREPOSITORY=.github.repository
Task Initialization
When starting a development session:
- Read config:
cat .claude/project.json - Check session todos (TaskList internal state)
- If empty, fetch from GitHub:
gh project item-list {PROJECT_NUMBER} --owner {PROJECT_OWNER} --format json - Select task and create session todo
See references/task-init-flow.md for detailed workflow.
Task Execution Workflow
Status Flow
Todo -> In Progress -> To Review -> Done
Phase-Based Tracking
Use TaskCreate/TaskUpdate to track phases:
- Phase 1: Setup & Context (in_progress)
- Phase 2: Implementation (pending)
- Phase 3: Quality Check (pending)
- Phase 4: Sync & Complete (pending)
Mark each phase in_progress when starting, completed when done.
Execution Steps
Phase 1: Setup & Context
- Read issue details:
gh issue view <number> --repo {REPOSITORY} - Understand acceptance criteria
- Identify affected files
Phase 2: Implementation
- Follow task plan/AC
- Apply KISS/YAGNI principles
- Add task ID comments for traceability:
// See Issue #123 function newFeature() { ... }
Phase 3: Quality Check
- Run lint:
npm run lint - Run type check:
npx tsc --noEmit - Verify tests pass
Phase 4: Sync & Complete
- Update GitHub issue status
- Close issue when done
- Update session todo
GitHub Sync Commands
Fetch Tasks
gh project item-list {PROJECT_NUMBER} --owner {PROJECT_OWNER}
gh project item-list {PROJECT_NUMBER} --owner {PROJECT_OWNER} --format json
Create Task
gh issue create --title "Task title" --body "Description" --repo {REPOSITORY}
gh project item-add {PROJECT_NUMBER} --owner {PROJECT_OWNER} --url <issue_url>
Complete Task
gh issue close <issue_number> --repo {REPOSITORY} --comment "Completed"
Status Mapping
| Session Todo | GitHub Issue | Project Status |
|---|---|---|
pending |
Open | Todo |
in_progress |
Open | In Progress |
completed |
Closed | Done |
Critical Rules
- Single task focus: Work on one task at a time
- Phase tracking: Always use TaskCreate/TaskUpdate for phases
- Quality gates: Run lint/typecheck before completing
- Traceability: Add issue ID comments to new code
- Sync back: Always update GitHub when task is done
Quick Reference
# Read config
cat .claude/project.json
# Fetch tasks
gh project item-list {PROJECT_NUMBER} --owner {PROJECT_OWNER}
# View issue
gh issue view <number> --repo {REPOSITORY}
# Close issue
gh issue close <number> --repo {REPOSITORY}
# Quality checks
npm run lint && npx tsc --noEmit
Flow References
- Task initialization:
references/task-init-flow.md - GitHub sync:
references/github-sync.md - TDD process:
references/tdd-process.md - Bug fix flow:
references/bug-fix-flow.md
Source: juhyeonni/gas-sheets-query — distributed by TomeVault.