--- description: Full project lifecycle with trckr. Init a project, scope work into tickets, then plow through the queue with parallel agents. category: personal --- flowchart TD _HEADER_["
trckr Plow
Full project lifecycle with trckr. Init a project, scope work into tickets, then plow through the queue with parallel agents.
"]:::headerStyle classDef headerStyle fill:none,stroke:none subgraph _MAIN_[" "] direction LR %% Phase 1: Init subgraph Init["/trckr:init"] CHECK_PROJ{Project
Exists?} CHECK_PROJ -->|No| CREATE[Create Project
+ Add Repo] CHECK_PROJ -->|Yes| VERIFY[Verify Status] CREATE --> VERIFY VERIFY --> SYNC_INIT[trckr sync] end %% Phase 2: Scope subgraph Scope["/trckr:scope"] SYNC_INIT --> EXPLORE[Explore Codebase
+ Research] EXPLORE --> CLARIFY{Questions?} CLARIFY -->|Yes| ASK[Ask User] ASK --> CLARIFY CLARIFY -->|No| PLAN[Plan Issues
deps + parallelism] PLAN --> PRESENT[Present Roadmap
+ Dep Graph] PRESENT --> APPROVE{Approved?} APPROVE -->|No| PLAN APPROVE -->|Yes| CREATE_TIX[Create Tickets
status=triage] CREATE_TIX --> LINK[Create Links
blocks/blocked-by] LINK --> SYNC_SCOPE[trckr sync] end %% Phase 3: Plow subgraph Plow["/trckr:plow"] SYNC_SCOPE --> SCAN[Scan Queue] SCAN --> EMPTY{Queue Empty?} EMPTY -->|Yes| REPORT([Batch Complete]) EMPTY -->|No| BATCH[Pick Parallelizable
deps satisfied] end %% Phase 4: Per-Ticket Pipeline subgraph Pipeline["Per-Ticket Pipeline (parallel)"] BATCH --> CLASSIFY{Needs Triage?} CLASSIFY -->|Bug| TRIAGE_BUG[[trckr-triage-bug]] CLASSIFY -->|Feature| TRIAGE_FEAT[[trckr-triage-feature]] CLASSIFY -->|Ready| RESEARCH TRIAGE_BUG --> RESEARCH[[task-research-analyst]] TRIAGE_FEAT --> RESEARCH RESEARCH --> IMPL[[trckr-issue-worker
isolation: worktree]] IMPL --> QA{QA Type?} QA -->|CLI/API| QA_CLI[[trckr-cli-qa]] QA -->|Web| QA_WEB[[trckr-web-qa]] QA_CLI --> PASS{Pass?} QA_WEB --> PASS PASS -->|No| FEEDBACK[Post Feedback
as Comment] FEEDBACK --> IMPL PASS -->|Yes| READY[Ready to Merge] end %% Phase 5: Merge + Cleanup subgraph Merge["Merge + Cleanup"] READY --> MERGE_ORD[Merge to Main
ordered by deps] MERGE_ORD --> SMOKE{Smoke Test
Pass?} SMOKE -->|Yes| CLEANUP[Remove Worktrees
Push Main] SMOKE -->|No| ROLLBACK[Revert + Rework] ROLLBACK --> IMPL CLEANUP --> SCAN end click CHECK_PROJ "#" "**Project Exists?**\nCheck if trckr already has a project for this repo:\n`trckr project list --repo '$(git remote get-url origin)'`\n\nIf the project exists, verify it's healthy.\nIf not, create one." click CREATE "#" "**Create Project**\nCreate a new trckr project and associate it with the repo:\n`trckr project create --name 'My Project' --status active --repo 'owner/repo'`\n\nThe project key (e.g., PROJ) becomes the ticket prefix." click VERIFY "#" "**Verify Status**\nCheck trckr health and project configuration:\n`trckr status`\n`trckr doctor`\n\nFix any sync issues or missing configuration before proceeding." click SYNC_INIT "#" "**trckr sync**\nSync local SQLite database with the trckr server:\n`trckr sync`\n\nEnsures all agents see the same state.\nAlways sync before and after creating tickets." click EXPLORE "#" "**Explore Codebase + Research**\nBefore scoping tickets, understand what exists:\n- Read code structure and patterns\n- Check llm-code-docs for relevant library docs\n- Use perplexity/tavily for external research\n- Identify existing tests, CI, and deployment patterns" click CLARIFY "#" "**Questions?**\nIf the task is ambiguous, ask the user for clarification.\nLoop until all requirements are clear.\n\nDon't assume -- unclear requirements lead to wasted agent cycles." click ASK "#" "**Ask User**\nPresent specific questions about scope, constraints, or priorities.\nEach question should be answerable, not open-ended." click PLAN "#" "**Plan Issues**\nUse extended thinking to design the issue graph:\n- Break work into independently-implementable tickets\n- Map dependencies (which blocks which)\n- Identify parallelism opportunities\n- Define QA criteria per ticket\n- Estimate complexity (affects agent selection)" click PRESENT "#" "**Present Roadmap**\nShow the user:\n- Ticket list with titles, descriptions, priorities\n- Dependency graph (what blocks what)\n- Proposed execution order\n- Estimated parallel lanes\n\nUser must approve before tickets are created." click APPROVE "#" "**Approved?**\nUser reviews the roadmap.\nIf rejected, incorporate feedback and re-plan.\nIf approved, proceed to create tickets." click CREATE_TIX "#" "**Create Tickets**\nCreate all planned tickets with `status=triage`:\n`trckr issue create --title 'Title' --description 'Desc' --priority high --status triage --project PROJ`\n\nAll tickets start as triage -- the plow pipeline promotes them." click LINK "#" "**Create Links**\nEstablish dependency relationships:\n`trckr issue link PROJ-1 PROJ-2 --relation blocks`\n\nThe plow phase uses these links to determine execution order and parallelism." click SYNC_SCOPE "#" "**trckr sync**\nSync after creating all tickets so the plow phase sees them.\n`trckr sync`" click SCAN "#" "**Scan Queue**\nCheck the ticket queue for work:\n`trckr issue list --status todo,triage --project-id --comments`\n\nAlso check for blocked tickets whose blockers are now done." click EMPTY "#" "**Queue Empty?**\nIf no tickets remain (all done/cancelled), report results.\nIf tickets remain but all are blocked, report the blockers." click REPORT "#" "**Batch Complete**\nAll tickets processed. Report:\n- Total tickets: N done, M failed, K blocked\n- Commits and PRs created\n- Any manual follow-up needed\n\nNotify via ntfy:\n`ntfy send 'Plow complete: N done, M issues'`" click BATCH "#" "**Pick Parallelizable**\nSelect tickets that can run simultaneously:\n- Dependencies satisfied (blockers are done)\n- No file conflicts (different areas of codebase)\n- Up to 10 concurrent workers\n\nEach ticket gets its own git worktree for isolation." click CLASSIFY "#" "**Needs Triage?**\nTickets in `triage` status need classification before work.\n- Bug: dispatch trckr-triage-bug agent\n- Feature: dispatch trckr-triage-feature agent\n- Already triaged (todo): skip to research" click TRIAGE_BUG "#" "**trckr-triage-bug**\nValidates the bug exists, researches solutions, checks test coverage.\nCreates a detailed triage report as a comment.\nDoes NOT write code -- only researches and documents.\nPromotes ticket from triage to todo if valid." click TRIAGE_FEAT "#" "**trckr-triage-feature**\nChecks if the feature already exists, researches approaches.\nIdentifies where it would live in the codebase.\nCreates a detailed triage report as a comment.\nDoes NOT write code -- only researches and documents." click RESEARCH "#" "**task-research-analyst**\nDeep research before implementation:\n- Read related code and tests\n- Check docs for libraries involved\n- Understand existing patterns to follow\n- Identify edge cases and risks\n\nPosts findings as a comment on the ticket." click IMPL "#" "**trckr-issue-worker**\nThe implementation agent. Runs in an isolated git worktree:\n`Agent(isolation: 'worktree')`\n\n- Reads the issue and all comments (including triage + research)\n- Implements the fix/feature\n- Writes tests\n- Commits to the worktree branch\n- Updates ticket to `in-review`" click QA "#" "**QA Type?**\nRoute to the appropriate QA agent based on the ticket:\n- CLI/API/backend changes: trckr-cli-qa\n- Web UI changes: trckr-web-qa" click QA_CLI "#" "**trckr-cli-qa**\nVerifies CLI/API/backend fixes by running actual commands.\n- Tests the happy path\n- Tests edge cases from the ticket\n- Compares output against expected behavior\n- Posts pass/fail report as a comment" click QA_WEB "#" "**trckr-web-qa**\nVerifies web fixes using claude-in-chrome MCP.\n- Navigates to the relevant page\n- Tests the UI interaction\n- Takes screenshots for evidence\n- Posts pass/fail report as a comment" click PASS "#" "**Pass?**\nQA agent posts its verdict:\n- Pass: ticket is ready to merge\n- Fail: posts specific feedback as a comment, ticket loops back to implementation" click FEEDBACK "#" "**Post Feedback**\nQA failure details are posted as a comment on the ticket.\nThe implementation agent reads this comment on its next run and addresses the specific issues." click READY "#" "**Ready to Merge**\nQA passed. Ticket's worktree branch is ready for merge.\nStatus updated to `done`." click MERGE_ORD "#" "**Merge to Main**\nMerge completed worktree branches in dependency order:\n- Blockers merge before dependents\n- Resolve any merge conflicts\n- Each merge is a separate commit on main\n\n`git checkout main`\n`git merge PROJ-42`" click SMOKE "#" "**Smoke Test**\nAfter merging a batch, run a smoke test on main:\n- Run the full test suite\n- Check for regressions from merged changes\n- Verify no merge conflicts broke anything" click CLEANUP "#" "**Remove Worktrees + Push**\nClean up after successful merge:\n`git worktree remove /tmp/repo-PROJ-42`\n`git push origin main`\n\nLoop back to scan for more tickets." click ROLLBACK "#" "**Revert + Rework**\nSmoke test failed. Revert the merge and send the ticket back to implementation with the failure details." classDef init fill:#d1ecf1,stroke:#7ec8d8 classDef scope fill:#e8daef,stroke:#b07cc6 classDef plow fill:#dfe6ff,stroke:#5b7bce classDef pipeline fill:#fff3cd,stroke:#f0c040 classDef agent fill:#ffeaa7,stroke:#e0c040 classDef merge fill:#dfe6ff,stroke:#5b7bce classDef approved fill:#d4edda,stroke:#5cb85c classDef flagged fill:#f8d7da,stroke:#e06070 class CHECK_PROJ,CREATE,VERIFY,SYNC_INIT init class EXPLORE,CLARIFY,ASK,PLAN,PRESENT,APPROVE,CREATE_TIX,LINK,SYNC_SCOPE scope class SCAN,EMPTY,BATCH plow class CLASSIFY,QA,PASS pipeline class TRIAGE_BUG,TRIAGE_FEAT,RESEARCH,IMPL,QA_CLI,QA_WEB agent class MERGE_ORD,SMOKE,CLEANUP merge class READY,REPORT approved class FEEDBACK,ROLLBACK flagged end style _MAIN_ fill:none,stroke:none,padding:0 _HEADER_ ~~~ _MAIN_