@flydocs/cli 0.5.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +96 -0
  2. package/dist/cli.js +2666 -0
  3. package/package.json +32 -0
  4. package/template/.claude/CLAUDE.md +90 -0
  5. package/template/.claude/agents/README.md +19 -0
  6. package/template/.claude/agents/implementation-agent.md +29 -0
  7. package/template/.claude/agents/pm-agent.md +29 -0
  8. package/template/.claude/agents/research-agent.md +25 -0
  9. package/template/.claude/agents/review-agent.md +29 -0
  10. package/template/.claude/commands/activate.md +10 -0
  11. package/template/.claude/commands/attach.md +9 -0
  12. package/template/.claude/commands/block.md +10 -0
  13. package/template/.claude/commands/capture.md +10 -0
  14. package/template/.claude/commands/close.md +10 -0
  15. package/template/.claude/commands/flydocs-setup.md +598 -0
  16. package/template/.claude/commands/flydocs-update.md +27 -0
  17. package/template/.claude/commands/implement.md +10 -0
  18. package/template/.claude/commands/new-project.md +11 -0
  19. package/template/.claude/commands/project-update.md +10 -0
  20. package/template/.claude/commands/refine.md +10 -0
  21. package/template/.claude/commands/review.md +10 -0
  22. package/template/.claude/commands/start-session.md +10 -0
  23. package/template/.claude/commands/status.md +10 -0
  24. package/template/.claude/commands/validate.md +10 -0
  25. package/template/.claude/commands/wrap-session.md +10 -0
  26. package/template/.claude/settings.json +49 -0
  27. package/template/.claude/skills/README.md +293 -0
  28. package/template/.claude/skills/flydocs-cloud/SKILL.md +96 -0
  29. package/template/.claude/skills/flydocs-cloud/cursor-rule.mdc +50 -0
  30. package/template/.claude/skills/flydocs-cloud/scripts/assign.py +38 -0
  31. package/template/.claude/skills/flydocs-cloud/scripts/assign_cycle.py +44 -0
  32. package/template/.claude/skills/flydocs-cloud/scripts/assign_milestone.py +44 -0
  33. package/template/.claude/skills/flydocs-cloud/scripts/comment.py +39 -0
  34. package/template/.claude/skills/flydocs-cloud/scripts/create_issue.py +100 -0
  35. package/template/.claude/skills/flydocs-cloud/scripts/create_milestone.py +46 -0
  36. package/template/.claude/skills/flydocs-cloud/scripts/create_project.py +40 -0
  37. package/template/.claude/skills/flydocs-cloud/scripts/estimate.py +38 -0
  38. package/template/.claude/skills/flydocs-cloud/scripts/flydocs_api.py +277 -0
  39. package/template/.claude/skills/flydocs-cloud/scripts/get_issue.py +77 -0
  40. package/template/.claude/skills/flydocs-cloud/scripts/link.py +47 -0
  41. package/template/.claude/skills/flydocs-cloud/scripts/list_cycles.py +35 -0
  42. package/template/.claude/skills/flydocs-cloud/scripts/list_issues.py +105 -0
  43. package/template/.claude/skills/flydocs-cloud/scripts/list_milestones.py +40 -0
  44. package/template/.claude/skills/flydocs-cloud/scripts/list_projects.py +45 -0
  45. package/template/.claude/skills/flydocs-cloud/scripts/priority.py +38 -0
  46. package/template/.claude/skills/flydocs-cloud/scripts/project_update.py +59 -0
  47. package/template/.claude/skills/flydocs-cloud/scripts/transition.py +67 -0
  48. package/template/.claude/skills/flydocs-cloud/scripts/update_description.py +47 -0
  49. package/template/.claude/skills/flydocs-cloud/scripts/update_issue.py +111 -0
  50. package/template/.claude/skills/flydocs-context-graph/SKILL.md +87 -0
  51. package/template/.claude/skills/flydocs-context-graph/schema.md +78 -0
  52. package/template/.claude/skills/flydocs-context-graph/scripts/graph_build.py +299 -0
  53. package/template/.claude/skills/flydocs-context-graph/scripts/graph_context.py +338 -0
  54. package/template/.claude/skills/flydocs-context-graph/scripts/graph_query.py +191 -0
  55. package/template/.claude/skills/flydocs-context-graph/scripts/graph_session.py +161 -0
  56. package/template/.claude/skills/flydocs-context-graph/scripts/graph_update.py +194 -0
  57. package/template/.claude/skills/flydocs-context-graph/scripts/graph_utils.py +118 -0
  58. package/template/.claude/skills/flydocs-estimates/SKILL.md +384 -0
  59. package/template/.claude/skills/flydocs-estimates/references/provider-costs.md +152 -0
  60. package/template/.claude/skills/flydocs-figma/SKILL.md +377 -0
  61. package/template/.claude/skills/flydocs-figma/references/PROMPTING.md +108 -0
  62. package/template/.claude/skills/flydocs-figma/references/TROUBLESHOOTING.md +112 -0
  63. package/template/.claude/skills/flydocs-local/SKILL.md +103 -0
  64. package/template/.claude/skills/flydocs-local/cursor-rule.mdc +43 -0
  65. package/template/.claude/skills/flydocs-local/scripts/assign.py +20 -0
  66. package/template/.claude/skills/flydocs-local/scripts/comment.py +27 -0
  67. package/template/.claude/skills/flydocs-local/scripts/create_issue.py +44 -0
  68. package/template/.claude/skills/flydocs-local/scripts/estimate.py +37 -0
  69. package/template/.claude/skills/flydocs-local/scripts/flydocs_api.py +272 -0
  70. package/template/.claude/skills/flydocs-local/scripts/get_issue.py +20 -0
  71. package/template/.claude/skills/flydocs-local/scripts/link.py +41 -0
  72. package/template/.claude/skills/flydocs-local/scripts/list_issues.py +34 -0
  73. package/template/.claude/skills/flydocs-local/scripts/priority.py +37 -0
  74. package/template/.claude/skills/flydocs-local/scripts/project_update.py +67 -0
  75. package/template/.claude/skills/flydocs-local/scripts/status_summary.py +16 -0
  76. package/template/.claude/skills/flydocs-local/scripts/transition.py +24 -0
  77. package/template/.claude/skills/flydocs-local/scripts/update_description.py +35 -0
  78. package/template/.claude/skills/flydocs-local/scripts/update_issue.py +84 -0
  79. package/template/.claude/skills/flydocs-workflow/SKILL.md +85 -0
  80. package/template/.claude/skills/flydocs-workflow/cursor-rule.mdc +53 -0
  81. package/template/.claude/skills/flydocs-workflow/reference/comment-templates.md +131 -0
  82. package/template/.claude/skills/flydocs-workflow/reference/golden-rules.md +76 -0
  83. package/template/.claude/skills/flydocs-workflow/reference/priority-estimates.md +28 -0
  84. package/template/.claude/skills/flydocs-workflow/reference/status-workflow.md +50 -0
  85. package/template/.claude/skills/flydocs-workflow/session.md +128 -0
  86. package/template/.claude/skills/flydocs-workflow/stages/activate.md +46 -0
  87. package/template/.claude/skills/flydocs-workflow/stages/capture.md +50 -0
  88. package/template/.claude/skills/flydocs-workflow/stages/close.md +32 -0
  89. package/template/.claude/skills/flydocs-workflow/stages/implement.md +124 -0
  90. package/template/.claude/skills/flydocs-workflow/stages/refine.md +51 -0
  91. package/template/.claude/skills/flydocs-workflow/stages/review.md +86 -0
  92. package/template/.claude/skills/flydocs-workflow/stages/validate.md +90 -0
  93. package/template/.claude/skills/flydocs-workflow/templates/bug.md +95 -0
  94. package/template/.claude/skills/flydocs-workflow/templates/chore.md +75 -0
  95. package/template/.claude/skills/flydocs-workflow/templates/feature.md +93 -0
  96. package/template/.claude/skills/flydocs-workflow/templates/idea.md +84 -0
  97. package/template/.cursor/agents/implementation-agent.md +28 -0
  98. package/template/.cursor/agents/pm-agent.md +27 -0
  99. package/template/.cursor/agents/research-agent.md +23 -0
  100. package/template/.cursor/agents/review-agent.md +27 -0
  101. package/template/.cursor/hooks.json +29 -0
  102. package/template/.cursor/mcp.json +16 -0
  103. package/template/.env.example +44 -0
  104. package/template/.flydocs/config.json +104 -0
  105. package/template/.flydocs/hooks/auto-approve.py +71 -0
  106. package/template/.flydocs/hooks/post-edit.py +72 -0
  107. package/template/.flydocs/hooks/prefer-scripts.py +89 -0
  108. package/template/.flydocs/hooks/prompt-submit.py +277 -0
  109. package/template/.flydocs/scripts/generate_manifest.py +287 -0
  110. package/template/.flydocs/scripts/skill_manager.py +541 -0
  111. package/template/.flydocs/templates/README.md +46 -0
  112. package/template/.flydocs/templates/bug.md +166 -0
  113. package/template/.flydocs/templates/chore.md +110 -0
  114. package/template/.flydocs/templates/design-system/README.md +27 -0
  115. package/template/.flydocs/templates/design-system/component-patterns.md +92 -0
  116. package/template/.flydocs/templates/design-system/token-mapping.md +168 -0
  117. package/template/.flydocs/templates/feature.md +173 -0
  118. package/template/.flydocs/templates/idea.md +122 -0
  119. package/template/.flydocs/templates/instructions.md +228 -0
  120. package/template/.flydocs/templates/quick-capture.md +35 -0
  121. package/template/.flydocs/templates/scripts/check-design-system.template.mjs +179 -0
  122. package/template/.flydocs/version +1 -0
  123. package/template/AGENTS.md +95 -0
  124. package/template/CHANGELOG.md +271 -0
  125. package/template/flydocs/README.md +186 -0
  126. package/template/flydocs/context/project.md +51 -0
  127. package/template/flydocs/design-system/README.md +126 -0
  128. package/template/flydocs/design-system/component-patterns.md +173 -0
  129. package/template/flydocs/design-system/token-mapping.md +114 -0
  130. package/template/flydocs/knowledge/INDEX.md +100 -0
  131. package/template/flydocs/knowledge/README.md +62 -0
  132. package/template/flydocs/knowledge/product/personas.md +79 -0
  133. package/template/flydocs/knowledge/product/user-flows.md +88 -0
  134. package/template/manifest.json +221 -0
@@ -0,0 +1,46 @@
1
+ # Activate
2
+
3
+ ## Intent
4
+
5
+ Assign work to a person and move the issue to In Progress.
6
+
7
+ ## Prerequisites
8
+
9
+ - Issue exists in Ready or Backlog state with a complete spec
10
+ - Issue is not blocked
11
+
12
+ ## Steps
13
+
14
+ ### Recommendation Mode (no issue specified)
15
+
16
+ When user asks "what should I work on?":
17
+
18
+ 1. **Query available issues** — `list_issues.py` for Ready and Backlog states.
19
+ 2. **Filter** — Exclude blocked issues and issues assigned to others.
20
+ 3. **Rank** — Priority (highest first) → unblocked → smaller estimate.
21
+ 4. **Present recommendation** — Show top candidates with reasoning.
22
+ 5. **Wait for selection** — Do not activate until user confirms.
23
+
24
+ ### Activation (specific issue)
25
+
26
+ 1. **Read full issue** — Load description and acceptance criteria.
27
+ 2. **Determine assignee** — MANDATORY. Ask "Who should this be assigned to?" if unclear. This is a hard gate.
28
+ 3. **Assign** — `assign.py` with user identifier. If assignment fails, STOP. Do not continue.
29
+ 4. **Set metadata** — Priority and estimate if not already set.
30
+ 5. **Transition** — `transition.py` to Implementing with Activate comment from `reference/comment-templates.md`.
31
+ 6. **Verify** — Confirm state = In Progress and assignee set.
32
+
33
+ **Sequence matters:** Assign → metadata → transition. Never transition without an assignee.
34
+
35
+ ## Gates
36
+
37
+ - Assignee set (hard gate — no exceptions)
38
+ - State = In Progress
39
+
40
+ ## Outputs
41
+
42
+ - Assigned issue in Implementing state with activation comment
43
+
44
+ ## Triggers
45
+
46
+ - "activate" / "start work on" / "pick up" / "what should I work on?"
@@ -0,0 +1,50 @@
1
+ # Capture
2
+
3
+ ## Intent
4
+
5
+ Create a new issue from user input — either a full spec or a quick idea tagged for later refinement.
6
+
7
+ ## Prerequisites
8
+
9
+ - Active project configured in `.flydocs/config.json`
10
+
11
+ ## Steps
12
+
13
+ ### Full Capture
14
+
15
+ When the user has enough context to describe the issue:
16
+
17
+ 1. **Determine type** — feature, bug, chore, or idea. Ask if unclear.
18
+ 2. **Select project** — Single active project: use it. Multiple: ask user. None: error.
19
+ 3. **Fill template** — Read the appropriate template from `templates/`. Extract from user input:
20
+ - **What** — Context or problem description
21
+ - **Why** — User story or business value
22
+ - **How** — Technical notes or approach (if known)
23
+ - **Done when** — Acceptance criteria as checkboxes
24
+ 4. **Create issue** — `create_issue.py` with title, type, description, priority, and estimate (if known).
25
+ 5. **Add comment** — Use the Capture template from `reference/comment-templates.md`.
26
+ 6. **Verify** — Confirm issue identifier returned.
27
+
28
+ ### Quick Capture
29
+
30
+ When logging an idea or observation during flow — flesh out later:
31
+
32
+ 1. **Determine type** — Default to `idea` if unclear.
33
+ 2. **Create issue** — `create_issue.py --triage` with minimal title and brief context.
34
+ Issue receives both the category label and the triage label.
35
+ 3. **Add comment** — "**Captured** — Quick capture, needs refinement."
36
+ 4. Issue sits in Backlog with triage tag. The Refine stage picks it up later.
37
+
38
+ ## Gates
39
+
40
+ - Issue exists with a valid identifier
41
+ - Capture comment posted
42
+
43
+ ## Outputs
44
+
45
+ - New issue in Backlog (full or triage-tagged)
46
+
47
+ ## Triggers
48
+
49
+ - "capture that" / "add to backlog" / "new issue" / "log this"
50
+ - "quick capture" / "jot this down" / "idea:"
@@ -0,0 +1,32 @@
1
+ # Close
2
+
3
+ ## Intent
4
+
5
+ Archive verified and completed work.
6
+
7
+ ## Prerequisites
8
+
9
+ - QE Approved comment exists on the issue
10
+
11
+ ## Steps
12
+
13
+ 1. **Verify QE approval** — Check issue comments for a "QE Approved" comment. If not found, do not close — direct to Validate stage first.
14
+ 2. **Determine terminal state:**
15
+ - **Done** — Work completed and verified (normal path)
16
+ - **Archived** — Deferring to a later date (not cancelled, may return)
17
+ - **Canceled** — Not pursuing (won't be done)
18
+ 3. **Transition** — `transition.py` with the appropriate Close comment from `reference/comment-templates.md`.
19
+ 4. **Verify** — Confirm terminal state reached.
20
+
21
+ ## Gates
22
+
23
+ - QE approval verified
24
+ - Terminal state reached
25
+
26
+ ## Outputs
27
+
28
+ - Issue in terminal state (Done, Archived, or Canceled)
29
+
30
+ ## Triggers
31
+
32
+ - "close" / "done" / "archive" / "cancel"
@@ -0,0 +1,124 @@
1
+ # Implement
2
+
3
+ ## Intent
4
+
5
+ Build, test, simplify, and hand off to code review.
6
+
7
+ ## Prerequisites
8
+
9
+ - Issue assigned and in Implementing state
10
+ - Acceptance criteria defined in issue description
11
+
12
+ ## Steps
13
+
14
+ ### 1. Load Context
15
+
16
+ - Issue description (full acceptance criteria)
17
+ - `project.md` and `preferences.md` for project standards
18
+ - Installed community skills relevant to the work (check `.claude/skills/` for available patterns)
19
+
20
+ ### 2. Show Implementation Checklist
21
+
22
+ Present to the user:
23
+ - Issue ID and title
24
+ - All acceptance criteria
25
+ - Estimate
26
+
27
+ ### 3. Implement Incrementally
28
+
29
+ For each acceptance criterion:
30
+
31
+ 1. Write the code
32
+ 2. Write tests (if applicable for this criterion)
33
+ 3. Update the checkbox in the issue description (see Checkbox Protocol below)
34
+ 4. Add a progress comment if significant milestone reached
35
+
36
+ ### 4. Document Decisions
37
+
38
+ When making non-obvious technical choices, add an issue comment:
39
+
40
+ ```
41
+ **Decision: [Title]**
42
+ Context: [Why this decision was needed]
43
+ Decision: [What was decided]
44
+ Rationale: [Why this choice over alternatives]
45
+ ```
46
+
47
+ For significant architectural decisions, also create a record in `knowledge/decisions/`.
48
+
49
+ ### 5. TODO to Issue
50
+
51
+ When adding a TODO comment in code:
52
+
53
+ 1. Write the initial comment: `// TODO: Description`
54
+ 2. Create a corresponding issue via `create_issue.py` with type `chore`
55
+ 3. Update the comment with the issue ID: `// TODO: Description (ENG-XXX)`
56
+
57
+ Every TODO must have a tracked issue. No orphaned TODOs.
58
+
59
+ ### 6. Simplify
60
+
61
+ After implementation is functionally complete, review modified files for:
62
+
63
+ - Unnecessary complexity or abstraction
64
+ - Redundant code
65
+ - Unclear naming
66
+ - Inconsistency with project patterns
67
+
68
+ Apply standards from installed community skills and `preferences.md`. Preserve all functionality.
69
+
70
+ ### 7. Self-Review
71
+
72
+ Before handing off:
73
+
74
+ - [ ] All acceptance criteria checked in issue description
75
+ - [ ] Tests written and passing
76
+ - [ ] Code follows project standards
77
+ - [ ] No obvious security issues
78
+ - [ ] No orphaned TODOs
79
+
80
+ ### 8. Hand Off to Review
81
+
82
+ Transition to Review via `transition.py` with the "Ready for Review" comment from `reference/comment-templates.md`. Include:
83
+
84
+ - What changed (brief summary)
85
+ - File count
86
+ - How it was tested
87
+ - Criteria completion count
88
+
89
+ ## Checkbox Protocol
90
+
91
+ Checkboxes live in the issue description. Never in comments.
92
+
93
+ 1. Read current description via `get_issue.py`
94
+ 2. Find `- [ ] Criterion text`
95
+ 3. Change to `- [x] Criterion text`
96
+ 4. Save entire updated description via `update_description.py`
97
+
98
+ **Never** put completion checkmarks in comments. **Never** create new checkboxes in comments.
99
+
100
+ ## Blocking
101
+
102
+ If blocked during implementation:
103
+
104
+ 1. Document what is blocking and what is needed
105
+ 2. Transition via `transition.py` to Blocked with comment from `reference/comment-templates.md`
106
+ 3. If blocked by another issue, create a dependency relationship
107
+
108
+ To unblock: transition back to Implementing with an Unblocked comment.
109
+
110
+ ## Gates
111
+
112
+ - All acceptance criteria checked in description
113
+ - Tests passing
114
+ - Implementation summary comment posted
115
+
116
+ ## Outputs
117
+
118
+ - Issue in Review state with summary comment
119
+ - Code changes ready for review
120
+
121
+ ## Triggers
122
+
123
+ - "implement" / "build" / "code this" / "let's work on"
124
+ - "I'm blocked" / "can't proceed" (blocking path)
@@ -0,0 +1,51 @@
1
+ # Refine
2
+
3
+ ## Intent
4
+
5
+ Triage raw captures and refine issue specs to a "ready" state with complete acceptance criteria.
6
+
7
+ ## Prerequisites
8
+
9
+ - Issue exists in Backlog
10
+
11
+ ## Steps
12
+
13
+ ### Triage Path (issue has triage tag)
14
+
15
+ For quick captures that need classification and structure:
16
+
17
+ 1. **Read issue** — Load current content.
18
+ 2. **Classify type** — Determine category (feature/bug/chore/idea). Ask if unclear.
19
+ 3. **Apply template** — Read appropriate template from `templates/` and restructure the issue content to match.
20
+ 4. **Set priority** — P1-P4 based on urgency and impact.
21
+ 5. **Update description** — `update_description.py` with templated content.
22
+ 6. **Add comment** — Use Triage template from `reference/comment-templates.md`.
23
+
24
+ ### Refinement Path (issue already templated)
25
+
26
+ For backlog items that need fleshing out before activation:
27
+
28
+ 1. **Load context** — Issue content, `project.md`, `knowledge/INDEX.md`.
29
+ 2. **Assess completeness** — Are acceptance criteria specific and testable? Is context clear?
30
+ 3. **Identify gaps** — Ask clarifying questions if needed. Don't guess.
31
+ 4. **Refine acceptance criteria** — Make each criterion specific, measurable, and testable as a checkbox.
32
+ 5. **Add technical notes** — Implementation guidance, dependencies, affected areas.
33
+ 6. **Set estimate and priority** — If not already set. See `reference/priority-estimates.md`.
34
+ 7. **Check dependencies** — Blocked by other issues? Related work?
35
+ 8. **Update description** — `update_description.py` with refined content.
36
+ 9. **Transition to Ready** — `transition.py` with Refine comment from `reference/comment-templates.md`.
37
+
38
+ ## Gates
39
+
40
+ - Acceptance criteria defined (specific, testable, as checkboxes)
41
+ - Estimate set (1-5)
42
+ - Priority set (1-4)
43
+
44
+ ## Outputs
45
+
46
+ - Issue in Ready state with complete spec
47
+ - Or triaged issue with template applied, ready for further refinement
48
+
49
+ ## Triggers
50
+
51
+ - "refine" / "triage" / "flesh out this issue"
@@ -0,0 +1,86 @@
1
+ # Review
2
+
3
+ ## Intent
4
+
5
+ Validate code quality, standards compliance, and acceptance criteria completion.
6
+
7
+ ## Prerequisites
8
+
9
+ - Issue in Review state
10
+ - Implementation summary comment exists on the issue
11
+
12
+ ## Steps
13
+
14
+ ### 1. Load Context
15
+
16
+ - Issue description (acceptance criteria)
17
+ - Implementation summary comment (what was built)
18
+ - Installed community skills relevant to the code (check `.claude/skills/` for available patterns)
19
+ - Changed files (from git diff or implementation notes)
20
+
21
+ ### 2. Verify Acceptance Criteria
22
+
23
+ **Mandatory.** Check each criterion in the issue description:
24
+
25
+ - Is it implemented?
26
+ - Is the checkbox marked `[x]`?
27
+
28
+ If ANY criterion is unchecked or unimplemented, review fails. Document which criteria are incomplete.
29
+
30
+ ### 3. Code Quality Analysis
31
+
32
+ Check against project standards and installed community skills:
33
+
34
+ **Structure** — Files in correct locations, naming conventions followed, appropriate separation of concerns.
35
+
36
+ **Patterns** — Consistent with existing codebase and project patterns. No unnecessary abstractions.
37
+
38
+ **Error handling** — Errors handled gracefully, user-facing errors are clear, no silent failures.
39
+
40
+ **Security** — No hardcoded secrets, input validation where needed, no obvious vulnerabilities.
41
+
42
+ **Performance** — No obvious performance issues, appropriate data fetching, no unnecessary re-renders.
43
+
44
+ ### 4. Test Coverage
45
+
46
+ - Tests exist for new functionality
47
+ - Tests are meaningful (not just coverage)
48
+ - Edge cases considered
49
+
50
+ ### 5. Decision
51
+
52
+ **If approved:**
53
+
54
+ 1. Transition to Testing via `transition.py` with "Code Review Passed" comment from `reference/comment-templates.md`.
55
+
56
+ **If changes needed:**
57
+
58
+ 1. Document specific issues with file/location details.
59
+ 2. Transition to Implementing via `transition.py` with "Code Review: Changes Needed" comment listing each issue.
60
+
61
+ ## Review Boundaries
62
+
63
+ The review agent:
64
+ - Analyzes code quality and documents findings
65
+ - Validates against standards and criteria
66
+ - Transitions issue state
67
+
68
+ The review agent does NOT:
69
+ - Edit or write code
70
+ - Fix issues directly
71
+ - Approve incomplete work
72
+ - Skip criteria validation
73
+
74
+ ## Gates
75
+
76
+ - All acceptance criteria verified
77
+ - Code quality analysis complete
78
+
79
+ ## Outputs
80
+
81
+ - Issue in Testing state (pass) with review comment
82
+ - Or issue in Implementing state (fail) with issues listed
83
+
84
+ ## Triggers
85
+
86
+ - "review" / "check the code" / "ready for review"
@@ -0,0 +1,90 @@
1
+ # Validate
2
+
3
+ ## Intent
4
+
5
+ Guide the user through acceptance testing and document the results.
6
+
7
+ ## Prerequisites
8
+
9
+ - Issue in Testing/QA state
10
+ - Code review passed
11
+
12
+ ## Steps
13
+
14
+ ### 1. Load Issue
15
+
16
+ Read issue description and acceptance criteria.
17
+
18
+ ### 2. Present Testing Session
19
+
20
+ Show each criterion with testing guidance:
21
+
22
+ ```
23
+ ## QA Testing: [ISSUE-ID]
24
+ Issue: [Title]
25
+
26
+ ### Acceptance Criteria to Verify:
27
+ 1. [ ] [Criterion 1]
28
+ → How to test: [guidance]
29
+ 2. [ ] [Criterion 2]
30
+ → How to test: [guidance]
31
+
32
+ Please test each criterion and let me know:
33
+ - "looks good" / "passes" for criteria that work
34
+ - Describe any issues you find
35
+ ```
36
+
37
+ ### 3. Wait for User Feedback
38
+
39
+ ### 4. Process Results
40
+
41
+ **On approval** — Recognition phrases: "looks good", "approve", "ship it", "all good", "works for me", "approved", "QE passed"
42
+
43
+ 1. Confirm with user: "Confirming QA approval for [ISSUE-ID]?"
44
+ 2. Add "QE Approved" comment from `reference/comment-templates.md`
45
+ 3. Respond: issue is ready for PM to close via `/close`
46
+
47
+ **On issues found:**
48
+
49
+ 1. Document issues clearly. Ask clarifying questions if needed.
50
+ 2. Transition to Implementing via `transition.py` with "QE Issues Found" comment listing each issue.
51
+
52
+ **On partial issues:**
53
+
54
+ 1. Clarify what passed vs what failed.
55
+ 2. Add "QE Partial" comment documenting both.
56
+ 3. Transition to Implementing.
57
+
58
+ ### 5. Re-Testing (issue returns to QA)
59
+
60
+ 1. Note this is a re-test.
61
+ 2. Show previous issues from the "QE Issues Found" comment.
62
+ 3. Focus re-test on the fixed items.
63
+ 4. Continue with normal approval/issues flow.
64
+
65
+ ## QE Boundaries
66
+
67
+ The QE agent:
68
+ - Guides user through testing
69
+ - Documents approval or issues
70
+ - Transitions back to Implementing if issues found
71
+
72
+ The QE agent NEVER:
73
+ - Moves issues to Done or closes them
74
+ - Skips documenting results
75
+ - Approves without user confirmation
76
+
77
+ Closing is the PM agent's responsibility via the Close stage.
78
+
79
+ ## Gates
80
+
81
+ - User explicitly approves, or issues are documented and returned to Implementing
82
+
83
+ ## Outputs
84
+
85
+ - QE Approved comment (pass) — ready for Close stage
86
+ - Or issue back in Implementing (fail) with issues documented
87
+
88
+ ## Triggers
89
+
90
+ - "test this" / "QE test" / "validate"
@@ -0,0 +1,95 @@
1
+ ## Context
2
+
3
+ **When Discovered:** [Date or event when bug was found]
4
+ **Discovered By:** [User, developer, automated test, etc.]
5
+ **Impact:** [How this affects users - be specific about scope]
6
+ **Frequency:** [Always | Sometimes | Rarely | Under specific conditions]
7
+
8
+ [Additional context about the bug]
9
+
10
+ ---
11
+
12
+ ## Bug Description
13
+
14
+ ### Expected Behavior
15
+ [Describe what SHOULD happen - the correct behavior]
16
+
17
+ ### Actual Behavior
18
+ [Describe what ACTUALLY happens - the broken behavior]
19
+
20
+ ### Steps to Reproduce
21
+ 1. [First action - be specific]
22
+ 2. [Second action - include any data/conditions needed]
23
+ 3. [Third action]
24
+ 4. [Observe the bug]
25
+
26
+ ### Environment
27
+ - **Browser/Platform:** [Chrome, Safari, Mobile, etc.]
28
+ - **OS:** [macOS, Windows, iOS, Android, etc.]
29
+ - **User Role:** [Which user type experiences this]
30
+ - **Data Conditions:** [Specific data state that triggers bug]
31
+
32
+ ### Screenshots/Evidence
33
+ <!-- Add as attachments -->
34
+
35
+ ---
36
+
37
+ ## Acceptance Criteria
38
+
39
+ ### Fix Verification
40
+ - [ ] Bug no longer reproducible using original steps
41
+ - [ ] Expected behavior now works correctly
42
+ - [ ] Fix doesn't break related functionality
43
+ - [ ] No new error messages or console errors
44
+
45
+ ### Tests
46
+ - [ ] Regression test added to prevent recurrence
47
+ - [ ] Related edge cases tested
48
+ - [ ] All tests passing
49
+
50
+ ### Documentation
51
+ - [ ] Root cause documented (if significant pattern)
52
+ - [ ] Prevention notes added to knowledge base (if applicable)
53
+ - [ ] N/A - No significant documentation needed
54
+
55
+ ---
56
+
57
+ ## Technical Notes
58
+
59
+ ### Root Cause Analysis
60
+ **Hypothesis:** [What you think is causing the bug]
61
+
62
+ **Investigation Findings:**
63
+ - [Finding 1 from debugging]
64
+ - [Finding 2 from debugging]
65
+
66
+ **Confirmed Cause:** [What's actually wrong - file, function, logic error]
67
+
68
+ ### Fix Approach
69
+ [Describe the fix strategy - what needs to change]
70
+
71
+ **Files to Modify:**
72
+ - `path/to/file.tsx` - [What needs to change]
73
+
74
+ **Risk Assessment:**
75
+ - **Regression Risk:** Low | Medium | High
76
+ - **Testing Required:** [What needs to be tested]
77
+
78
+ ---
79
+
80
+ ## Dependencies
81
+
82
+ **Related Systems:**
83
+ - [System or feature where bug occurs]
84
+
85
+ **Blocks:**
86
+ - [Work that can't proceed until bug is fixed]
87
+ - OR: Nothing blocked
88
+
89
+ **Related Bugs:**
90
+ - [Link to related bug if applicable]
91
+ - OR: No related issues
92
+
93
+ ---
94
+
95
+ _Reported: YYYY-MM-DD_
@@ -0,0 +1,75 @@
1
+ ## Context
2
+
3
+ **Why This Matters:**
4
+ [Explanation of the value - cleaner code, better UX, faster performance, etc.]
5
+
6
+ **Scope:**
7
+ [What areas/pages/features does this touch? Be specific enough to stay focused.]
8
+
9
+ **Type:** Ongoing | One-time
10
+
11
+ ---
12
+
13
+ ## Task List
14
+
15
+ ### Initial Tasks
16
+ - [ ] [Task 1 - be specific]
17
+ - [ ] [Task 2 - be specific]
18
+ - [ ] [Task 3 - be specific]
19
+
20
+ ### Added During Work
21
+ <!-- Add new tasks discovered while working -->
22
+
23
+ ### Out of Scope
24
+ <!-- Tasks that don't fit - might become new issues -->
25
+ - [Task that's too big or different focus]
26
+
27
+ ---
28
+
29
+ ## Acceptance Criteria
30
+
31
+ ### Completion
32
+ - [ ] All initial tasks completed (or moved to out of scope)
33
+ - [ ] Code quality acceptable
34
+ - [ ] No regressions introduced
35
+
36
+ ### Tests
37
+ - [ ] Tests updated if behavior changed
38
+ - [ ] All tests passing
39
+ - [ ] N/A - No behavior changes
40
+
41
+ ### Documentation
42
+ - [ ] Patterns documented (if new approach discovered)
43
+ - [ ] N/A - No significant documentation needed
44
+
45
+ ---
46
+
47
+ ## Technical Notes
48
+
49
+ ### Approach
50
+ [How you'll tackle this work]
51
+
52
+ ### Files to Touch
53
+ - `path/to/file.tsx` - [What changes]
54
+
55
+ ### Risk Assessment
56
+ - **Regression Risk:** Low | Medium | High
57
+ - **Related Areas:** [What else might be affected]
58
+
59
+ ---
60
+
61
+ ## Completion Criteria
62
+
63
+ **This chore is done when:**
64
+ - [ ] [Completion criterion 1]
65
+ - [ ] [Completion criterion 2]
66
+ - [ ] No obvious improvements remaining in scope
67
+
68
+ **Signs this needs to be split:**
69
+ - Work has been ongoing for 3+ weeks
70
+ - Scope has grown significantly
71
+ - New tasks are unrelated to original purpose
72
+
73
+ ---
74
+
75
+ _Created: YYYY-MM-DD_