spec-kitty-cli 0.12.1__py3-none-any.whl

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 (242) hide show
  1. spec_kitty_cli-0.12.1.dist-info/METADATA +1767 -0
  2. spec_kitty_cli-0.12.1.dist-info/RECORD +242 -0
  3. spec_kitty_cli-0.12.1.dist-info/WHEEL +4 -0
  4. spec_kitty_cli-0.12.1.dist-info/entry_points.txt +2 -0
  5. spec_kitty_cli-0.12.1.dist-info/licenses/LICENSE +21 -0
  6. specify_cli/__init__.py +171 -0
  7. specify_cli/acceptance.py +627 -0
  8. specify_cli/agent_utils/README.md +157 -0
  9. specify_cli/agent_utils/__init__.py +9 -0
  10. specify_cli/agent_utils/status.py +356 -0
  11. specify_cli/cli/__init__.py +6 -0
  12. specify_cli/cli/commands/__init__.py +46 -0
  13. specify_cli/cli/commands/accept.py +189 -0
  14. specify_cli/cli/commands/agent/__init__.py +22 -0
  15. specify_cli/cli/commands/agent/config.py +382 -0
  16. specify_cli/cli/commands/agent/context.py +191 -0
  17. specify_cli/cli/commands/agent/feature.py +1057 -0
  18. specify_cli/cli/commands/agent/release.py +11 -0
  19. specify_cli/cli/commands/agent/tasks.py +1253 -0
  20. specify_cli/cli/commands/agent/workflow.py +801 -0
  21. specify_cli/cli/commands/context.py +246 -0
  22. specify_cli/cli/commands/dashboard.py +85 -0
  23. specify_cli/cli/commands/implement.py +973 -0
  24. specify_cli/cli/commands/init.py +827 -0
  25. specify_cli/cli/commands/init_help.py +62 -0
  26. specify_cli/cli/commands/merge.py +755 -0
  27. specify_cli/cli/commands/mission.py +240 -0
  28. specify_cli/cli/commands/ops.py +265 -0
  29. specify_cli/cli/commands/orchestrate.py +640 -0
  30. specify_cli/cli/commands/repair.py +175 -0
  31. specify_cli/cli/commands/research.py +165 -0
  32. specify_cli/cli/commands/sync.py +364 -0
  33. specify_cli/cli/commands/upgrade.py +249 -0
  34. specify_cli/cli/commands/validate_encoding.py +186 -0
  35. specify_cli/cli/commands/validate_tasks.py +186 -0
  36. specify_cli/cli/commands/verify.py +310 -0
  37. specify_cli/cli/helpers.py +123 -0
  38. specify_cli/cli/step_tracker.py +91 -0
  39. specify_cli/cli/ui.py +192 -0
  40. specify_cli/core/__init__.py +53 -0
  41. specify_cli/core/agent_context.py +311 -0
  42. specify_cli/core/config.py +96 -0
  43. specify_cli/core/context_validation.py +362 -0
  44. specify_cli/core/dependency_graph.py +351 -0
  45. specify_cli/core/git_ops.py +129 -0
  46. specify_cli/core/multi_parent_merge.py +323 -0
  47. specify_cli/core/paths.py +260 -0
  48. specify_cli/core/project_resolver.py +110 -0
  49. specify_cli/core/stale_detection.py +263 -0
  50. specify_cli/core/tool_checker.py +79 -0
  51. specify_cli/core/utils.py +43 -0
  52. specify_cli/core/vcs/__init__.py +114 -0
  53. specify_cli/core/vcs/detection.py +341 -0
  54. specify_cli/core/vcs/exceptions.py +85 -0
  55. specify_cli/core/vcs/git.py +1304 -0
  56. specify_cli/core/vcs/jujutsu.py +1208 -0
  57. specify_cli/core/vcs/protocol.py +285 -0
  58. specify_cli/core/vcs/types.py +249 -0
  59. specify_cli/core/version_checker.py +261 -0
  60. specify_cli/core/worktree.py +506 -0
  61. specify_cli/dashboard/__init__.py +28 -0
  62. specify_cli/dashboard/diagnostics.py +204 -0
  63. specify_cli/dashboard/handlers/__init__.py +17 -0
  64. specify_cli/dashboard/handlers/api.py +143 -0
  65. specify_cli/dashboard/handlers/base.py +65 -0
  66. specify_cli/dashboard/handlers/features.py +390 -0
  67. specify_cli/dashboard/handlers/router.py +81 -0
  68. specify_cli/dashboard/handlers/static.py +50 -0
  69. specify_cli/dashboard/lifecycle.py +541 -0
  70. specify_cli/dashboard/scanner.py +437 -0
  71. specify_cli/dashboard/server.py +123 -0
  72. specify_cli/dashboard/static/dashboard/dashboard.css +722 -0
  73. specify_cli/dashboard/static/dashboard/dashboard.js +1424 -0
  74. specify_cli/dashboard/static/spec-kitty.png +0 -0
  75. specify_cli/dashboard/templates/__init__.py +36 -0
  76. specify_cli/dashboard/templates/index.html +258 -0
  77. specify_cli/doc_generators.py +621 -0
  78. specify_cli/doc_state.py +408 -0
  79. specify_cli/frontmatter.py +384 -0
  80. specify_cli/gap_analysis.py +915 -0
  81. specify_cli/gitignore_manager.py +300 -0
  82. specify_cli/guards.py +145 -0
  83. specify_cli/legacy_detector.py +83 -0
  84. specify_cli/manifest.py +286 -0
  85. specify_cli/merge/__init__.py +63 -0
  86. specify_cli/merge/executor.py +653 -0
  87. specify_cli/merge/forecast.py +215 -0
  88. specify_cli/merge/ordering.py +126 -0
  89. specify_cli/merge/preflight.py +230 -0
  90. specify_cli/merge/state.py +185 -0
  91. specify_cli/merge/status_resolver.py +354 -0
  92. specify_cli/mission.py +654 -0
  93. specify_cli/missions/documentation/command-templates/implement.md +309 -0
  94. specify_cli/missions/documentation/command-templates/plan.md +275 -0
  95. specify_cli/missions/documentation/command-templates/review.md +344 -0
  96. specify_cli/missions/documentation/command-templates/specify.md +206 -0
  97. specify_cli/missions/documentation/command-templates/tasks.md +189 -0
  98. specify_cli/missions/documentation/mission.yaml +113 -0
  99. specify_cli/missions/documentation/templates/divio/explanation-template.md +192 -0
  100. specify_cli/missions/documentation/templates/divio/howto-template.md +168 -0
  101. specify_cli/missions/documentation/templates/divio/reference-template.md +179 -0
  102. specify_cli/missions/documentation/templates/divio/tutorial-template.md +146 -0
  103. specify_cli/missions/documentation/templates/generators/jsdoc.json.template +18 -0
  104. specify_cli/missions/documentation/templates/generators/sphinx-conf.py.template +36 -0
  105. specify_cli/missions/documentation/templates/plan-template.md +269 -0
  106. specify_cli/missions/documentation/templates/release-template.md +222 -0
  107. specify_cli/missions/documentation/templates/spec-template.md +172 -0
  108. specify_cli/missions/documentation/templates/task-prompt-template.md +140 -0
  109. specify_cli/missions/documentation/templates/tasks-template.md +159 -0
  110. specify_cli/missions/research/command-templates/merge.md +388 -0
  111. specify_cli/missions/research/command-templates/plan.md +125 -0
  112. specify_cli/missions/research/command-templates/review.md +144 -0
  113. specify_cli/missions/research/command-templates/tasks.md +225 -0
  114. specify_cli/missions/research/mission.yaml +115 -0
  115. specify_cli/missions/research/templates/data-model-template.md +33 -0
  116. specify_cli/missions/research/templates/plan-template.md +161 -0
  117. specify_cli/missions/research/templates/research/evidence-log.csv +18 -0
  118. specify_cli/missions/research/templates/research/source-register.csv +18 -0
  119. specify_cli/missions/research/templates/research-template.md +35 -0
  120. specify_cli/missions/research/templates/spec-template.md +64 -0
  121. specify_cli/missions/research/templates/task-prompt-template.md +148 -0
  122. specify_cli/missions/research/templates/tasks-template.md +114 -0
  123. specify_cli/missions/software-dev/command-templates/accept.md +75 -0
  124. specify_cli/missions/software-dev/command-templates/analyze.md +183 -0
  125. specify_cli/missions/software-dev/command-templates/checklist.md +286 -0
  126. specify_cli/missions/software-dev/command-templates/clarify.md +157 -0
  127. specify_cli/missions/software-dev/command-templates/constitution.md +432 -0
  128. specify_cli/missions/software-dev/command-templates/dashboard.md +101 -0
  129. specify_cli/missions/software-dev/command-templates/implement.md +41 -0
  130. specify_cli/missions/software-dev/command-templates/merge.md +383 -0
  131. specify_cli/missions/software-dev/command-templates/plan.md +171 -0
  132. specify_cli/missions/software-dev/command-templates/review.md +32 -0
  133. specify_cli/missions/software-dev/command-templates/specify.md +321 -0
  134. specify_cli/missions/software-dev/command-templates/tasks.md +566 -0
  135. specify_cli/missions/software-dev/mission.yaml +100 -0
  136. specify_cli/missions/software-dev/templates/plan-template.md +132 -0
  137. specify_cli/missions/software-dev/templates/spec-template.md +116 -0
  138. specify_cli/missions/software-dev/templates/task-prompt-template.md +140 -0
  139. specify_cli/missions/software-dev/templates/tasks-template.md +159 -0
  140. specify_cli/orchestrator/__init__.py +75 -0
  141. specify_cli/orchestrator/agent_config.py +224 -0
  142. specify_cli/orchestrator/agents/__init__.py +170 -0
  143. specify_cli/orchestrator/agents/augment.py +112 -0
  144. specify_cli/orchestrator/agents/base.py +243 -0
  145. specify_cli/orchestrator/agents/claude.py +112 -0
  146. specify_cli/orchestrator/agents/codex.py +106 -0
  147. specify_cli/orchestrator/agents/copilot.py +137 -0
  148. specify_cli/orchestrator/agents/cursor.py +139 -0
  149. specify_cli/orchestrator/agents/gemini.py +115 -0
  150. specify_cli/orchestrator/agents/kilocode.py +94 -0
  151. specify_cli/orchestrator/agents/opencode.py +132 -0
  152. specify_cli/orchestrator/agents/qwen.py +96 -0
  153. specify_cli/orchestrator/config.py +455 -0
  154. specify_cli/orchestrator/executor.py +642 -0
  155. specify_cli/orchestrator/integration.py +1230 -0
  156. specify_cli/orchestrator/monitor.py +898 -0
  157. specify_cli/orchestrator/scheduler.py +832 -0
  158. specify_cli/orchestrator/state.py +508 -0
  159. specify_cli/orchestrator/testing/__init__.py +122 -0
  160. specify_cli/orchestrator/testing/availability.py +346 -0
  161. specify_cli/orchestrator/testing/fixtures.py +684 -0
  162. specify_cli/orchestrator/testing/paths.py +218 -0
  163. specify_cli/plan_validation.py +107 -0
  164. specify_cli/scripts/debug-dashboard-scan.py +61 -0
  165. specify_cli/scripts/tasks/acceptance_support.py +695 -0
  166. specify_cli/scripts/tasks/task_helpers.py +506 -0
  167. specify_cli/scripts/tasks/tasks_cli.py +848 -0
  168. specify_cli/scripts/validate_encoding.py +180 -0
  169. specify_cli/task_metadata_validation.py +274 -0
  170. specify_cli/tasks_support.py +447 -0
  171. specify_cli/template/__init__.py +47 -0
  172. specify_cli/template/asset_generator.py +206 -0
  173. specify_cli/template/github_client.py +334 -0
  174. specify_cli/template/manager.py +193 -0
  175. specify_cli/template/renderer.py +99 -0
  176. specify_cli/templates/AGENTS.md +190 -0
  177. specify_cli/templates/POWERSHELL_SYNTAX.md +229 -0
  178. specify_cli/templates/agent-file-template.md +35 -0
  179. specify_cli/templates/checklist-template.md +42 -0
  180. specify_cli/templates/claudeignore-template +58 -0
  181. specify_cli/templates/command-templates/accept.md +141 -0
  182. specify_cli/templates/command-templates/analyze.md +253 -0
  183. specify_cli/templates/command-templates/checklist.md +352 -0
  184. specify_cli/templates/command-templates/clarify.md +224 -0
  185. specify_cli/templates/command-templates/constitution.md +432 -0
  186. specify_cli/templates/command-templates/dashboard.md +175 -0
  187. specify_cli/templates/command-templates/implement.md +190 -0
  188. specify_cli/templates/command-templates/merge.md +374 -0
  189. specify_cli/templates/command-templates/plan.md +171 -0
  190. specify_cli/templates/command-templates/research.md +88 -0
  191. specify_cli/templates/command-templates/review.md +510 -0
  192. specify_cli/templates/command-templates/specify.md +321 -0
  193. specify_cli/templates/command-templates/status.md +92 -0
  194. specify_cli/templates/command-templates/tasks.md +199 -0
  195. specify_cli/templates/git-hooks/pre-commit +22 -0
  196. specify_cli/templates/git-hooks/pre-commit-agent-check +37 -0
  197. specify_cli/templates/git-hooks/pre-commit-encoding-check +142 -0
  198. specify_cli/templates/plan-template.md +108 -0
  199. specify_cli/templates/spec-template.md +118 -0
  200. specify_cli/templates/task-prompt-template.md +165 -0
  201. specify_cli/templates/tasks-template.md +161 -0
  202. specify_cli/templates/vscode-settings.json +13 -0
  203. specify_cli/text_sanitization.py +225 -0
  204. specify_cli/upgrade/__init__.py +18 -0
  205. specify_cli/upgrade/detector.py +239 -0
  206. specify_cli/upgrade/metadata.py +182 -0
  207. specify_cli/upgrade/migrations/__init__.py +65 -0
  208. specify_cli/upgrade/migrations/base.py +80 -0
  209. specify_cli/upgrade/migrations/m_0_10_0_python_only.py +359 -0
  210. specify_cli/upgrade/migrations/m_0_10_12_constitution_cleanup.py +99 -0
  211. specify_cli/upgrade/migrations/m_0_10_14_update_implement_slash_command.py +176 -0
  212. specify_cli/upgrade/migrations/m_0_10_1_populate_slash_commands.py +174 -0
  213. specify_cli/upgrade/migrations/m_0_10_2_update_slash_commands.py +172 -0
  214. specify_cli/upgrade/migrations/m_0_10_6_workflow_simplification.py +174 -0
  215. specify_cli/upgrade/migrations/m_0_10_8_fix_memory_structure.py +252 -0
  216. specify_cli/upgrade/migrations/m_0_10_9_repair_templates.py +168 -0
  217. specify_cli/upgrade/migrations/m_0_11_0_workspace_per_wp.py +182 -0
  218. specify_cli/upgrade/migrations/m_0_11_1_improved_workflow_templates.py +173 -0
  219. specify_cli/upgrade/migrations/m_0_11_1_update_implement_slash_command.py +160 -0
  220. specify_cli/upgrade/migrations/m_0_11_2_improved_workflow_templates.py +173 -0
  221. specify_cli/upgrade/migrations/m_0_11_3_workflow_agent_flag.py +114 -0
  222. specify_cli/upgrade/migrations/m_0_12_0_documentation_mission.py +155 -0
  223. specify_cli/upgrade/migrations/m_0_12_1_remove_kitty_specs_from_gitignore.py +183 -0
  224. specify_cli/upgrade/migrations/m_0_2_0_specify_to_kittify.py +80 -0
  225. specify_cli/upgrade/migrations/m_0_4_8_gitignore_agents.py +118 -0
  226. specify_cli/upgrade/migrations/m_0_5_0_encoding_hooks.py +141 -0
  227. specify_cli/upgrade/migrations/m_0_6_5_commands_rename.py +169 -0
  228. specify_cli/upgrade/migrations/m_0_6_7_ensure_missions.py +228 -0
  229. specify_cli/upgrade/migrations/m_0_7_2_worktree_commands_dedup.py +89 -0
  230. specify_cli/upgrade/migrations/m_0_7_3_update_scripts.py +114 -0
  231. specify_cli/upgrade/migrations/m_0_8_0_remove_active_mission.py +82 -0
  232. specify_cli/upgrade/migrations/m_0_8_0_worktree_agents_symlink.py +148 -0
  233. specify_cli/upgrade/migrations/m_0_9_0_frontmatter_only_lanes.py +346 -0
  234. specify_cli/upgrade/migrations/m_0_9_1_complete_lane_migration.py +656 -0
  235. specify_cli/upgrade/migrations/m_0_9_2_research_mission_templates.py +221 -0
  236. specify_cli/upgrade/registry.py +121 -0
  237. specify_cli/upgrade/runner.py +284 -0
  238. specify_cli/validators/__init__.py +14 -0
  239. specify_cli/validators/paths.py +154 -0
  240. specify_cli/validators/research.py +428 -0
  241. specify_cli/verify_enhanced.py +270 -0
  242. specify_cli/workspace_context.py +224 -0
@@ -0,0 +1,344 @@
1
+ ---
2
+ description: Review documentation work packages for Divio compliance and quality.
3
+ ---
4
+
5
+ # Command Template: /spec-kitty.review (Documentation Mission)
6
+
7
+ **Phase**: Validate
8
+ **Purpose**: Review documentation for Divio compliance, accessibility, completeness, and quality.
9
+
10
+ ## User Input
11
+
12
+ ```text
13
+ $ARGUMENTS
14
+ ```
15
+
16
+ You **MUST** consider the user input before proceeding (if not empty).
17
+
18
+ ## Review Philosophy
19
+
20
+ Documentation review is NOT code review:
21
+ - **Not about correctness** (code is about bugs) but **usability** (can readers accomplish their goals?)
22
+ - **Not about style** but **accessibility** (can everyone use these docs?)
23
+ - **Not about completeness** (covering every edge case) but **usefulness** (solving real problems)
24
+ - **Not pass/fail** but **continuous improvement**
25
+
26
+ ---
27
+
28
+ ## Review Checklist
29
+
30
+ ### 1. Divio Type Compliance
31
+
32
+ For each documentation file, verify it follows principles for its declared type:
33
+
34
+ **Tutorial Review**:
35
+ - [ ] Learning-oriented (teaches by doing, not explaining)?
36
+ - [ ] Step-by-step progression with clear sequence?
37
+ - [ ] Each step shows immediate, visible result?
38
+ - [ ] Minimal explanations (links to explanation docs instead)?
39
+ - [ ] Assumes beginner level (no unexplained prerequisites)?
40
+ - [ ] Reliable (will work for all users following instructions)?
41
+ - [ ] Achieves concrete outcome (learner can do something new)?
42
+
43
+ **How-To Review**:
44
+ - [ ] Goal-oriented (solves specific problem)?
45
+ - [ ] Assumes experienced user (not teaching basics)?
46
+ - [ ] Practical steps, minimal explanation?
47
+ - [ ] Flexible (readers can adapt to their situation)?
48
+ - [ ] Includes common variations?
49
+ - [ ] Links to reference for details, explanation for "why"?
50
+ - [ ] Title starts with "How to..."?
51
+
52
+ **Reference Review**:
53
+ - [ ] Information-oriented (describes what exists)?
54
+ - [ ] Complete (all APIs/options/commands documented)?
55
+ - [ ] Consistent format (same structure for similar items)?
56
+ - [ ] Accurate (matches actual behavior)?
57
+ - [ ] Includes usage examples (not just descriptions)?
58
+ - [ ] Structured around code organization?
59
+ - [ ] Factual tone (no opinions or recommendations)?
60
+
61
+ **Explanation Review**:
62
+ - [ ] Understanding-oriented (clarifies concepts)?
63
+ - [ ] Not instructional (not teaching how-to-do)?
64
+ - [ ] Discusses concepts, design decisions, trade-offs?
65
+ - [ ] Compares with alternatives fairly?
66
+ - [ ] Makes connections between ideas?
67
+ - [ ] Provides context and background?
68
+ - [ ] Identifies limitations and when (not) to use?
69
+
70
+ **If type is wrong or mixed**:
71
+ - Return with feedback: "This is classified as {type} but reads like {actual_type}. Either reclassify or rewrite to match {type} principles."
72
+
73
+ ---
74
+
75
+ ### 2. Accessibility Review
76
+
77
+ **Heading Hierarchy**:
78
+ - [ ] One H1 per document (the title)
79
+ - [ ] H2s for major sections
80
+ - [ ] H3s for subsections under H2s
81
+ - [ ] No skipped levels (H1 → H3 is wrong)
82
+ - [ ] Headings are descriptive (not "Introduction", "Section 2")
83
+
84
+ **Images**:
85
+ - [ ] All images have alt text
86
+ - [ ] Alt text describes what image shows (not "image" or "screenshot")
87
+ - [ ] Decorative images have empty alt text (`![]()`)
88
+ - [ ] Complex diagrams have longer descriptions
89
+
90
+ **Language**:
91
+ - [ ] Clear, plain language (technical terms defined)
92
+ - [ ] Active voice ("run the command" not "the command should be run")
93
+ - [ ] Present tense ("returns" not "will return")
94
+ - [ ] Short sentences (15-20 words max)
95
+ - [ ] Short paragraphs (3-5 sentences)
96
+
97
+ **Links**:
98
+ - [ ] Link text is descriptive ("see the installation guide" not "click here")
99
+ - [ ] Links are not bare URLs (use markdown links)
100
+ - [ ] No broken links (test all links)
101
+
102
+ **Code Blocks**:
103
+ - [ ] All code blocks have language tags for syntax highlighting
104
+ - [ ] Expected output is shown (not just commands)
105
+ - [ ] Code examples actually work (tested)
106
+
107
+ **Tables**:
108
+ - [ ] Tables have headers
109
+ - [ ] Headers use `|---|` syntax
110
+ - [ ] Tables are not too wide (wrap if needed)
111
+
112
+ **Lists**:
113
+ - [ ] Proper markdown lists (not paragraphs with commas)
114
+ - [ ] Consistent bullet style
115
+ - [ ] Items are parallel in structure
116
+
117
+ **If accessibility issues found**:
118
+ - Return with feedback listing specific issues and how to fix
119
+
120
+ ---
121
+
122
+ ### 3. Inclusivity Review
123
+
124
+ **Examples and Names**:
125
+ - [ ] Uses diverse names (not just Western male names)
126
+ - [ ] Names span different cultures and backgrounds
127
+ - [ ] Avoids stereotypical name choices
128
+
129
+ **Language**:
130
+ - [ ] Gender-neutral ("they" not "he/she", "developers" not "guys")
131
+ - [ ] Avoids ableist language ("just", "simply", "obviously", "easy" imply reader inadequacy)
132
+ - [ ] Person-first language where appropriate ("person with disability" not "disabled person")
133
+ - [ ] Avoids idioms (cultural-specific phrases that don't translate)
134
+
135
+ **Cultural Assumptions**:
136
+ - [ ] No religious references (Christmas, Ramadan, etc.)
137
+ - [ ] No cultural-specific examples (American holidays, sports, food)
138
+ - [ ] Date formats explained (ISO 8601 preferred)
139
+ - [ ] Currency and units specified (USD, meters, etc.)
140
+
141
+ **Tone**:
142
+ - [ ] Welcoming to newcomers (not intimidating)
143
+ - [ ] Assumes good faith (users aren't "doing it wrong")
144
+ - [ ] Encouraging (celebrates progress)
145
+
146
+ **If inclusivity issues found**:
147
+ - Return with feedback listing examples to change
148
+
149
+ ---
150
+
151
+ ### 4. Completeness Review
152
+
153
+ **For Initial Documentation**:
154
+ - [ ] All selected Divio types are present
155
+ - [ ] Tutorials enable new users to get started
156
+ - [ ] Reference covers all public APIs
157
+ - [ ] How-tos address common problems (from user research or support tickets)
158
+ - [ ] Explanations clarify key concepts and design
159
+
160
+ **For Gap-Filling**:
161
+ - [ ] High-priority gaps from audit are filled
162
+ - [ ] Outdated docs are updated
163
+ - [ ] Coverage percentage improved
164
+
165
+ **For Feature-Specific**:
166
+ - [ ] Feature is documented across relevant Divio types
167
+ - [ ] Feature docs integrate with existing documentation
168
+ - [ ] Feature is discoverable (linked from main index, relevant how-tos, etc.)
169
+
170
+ **Common Gaps**:
171
+ - [ ] Installation/setup covered (tutorial or how-to)?
172
+ - [ ] Common tasks have how-tos?
173
+ - [ ] All public APIs in reference?
174
+ - [ ] Error messages explained (troubleshooting how-tos)?
175
+ - [ ] Architecture/design explained (explanation)?
176
+
177
+ **If completeness gaps found**:
178
+ - Return with feedback listing missing documentation
179
+
180
+ ---
181
+
182
+ ### 5. Quality Review
183
+
184
+ **Tutorial Quality**:
185
+ - [ ] Tutorial actually works (reviewer followed it successfully)?
186
+ - [ ] Each step shows result (not "do X, Y, Z" without checkpoints)?
187
+ - [ ] Learner accomplishes something valuable?
188
+ - [ ] Appropriate for stated audience?
189
+
190
+ **How-To Quality**:
191
+ - [ ] Solves the stated problem?
192
+ - [ ] Steps are clear and actionable?
193
+ - [ ] Reader can adapt to their situation?
194
+ - [ ] Links to reference for details?
195
+
196
+ **Reference Quality**:
197
+ - [ ] Descriptions match actual behavior (not outdated)?
198
+ - [ ] Examples work (not broken or misleading)?
199
+ - [ ] Format is consistent across similar items?
200
+ - [ ] Search-friendly (clear headings, keywords)?
201
+
202
+ **Explanation Quality**:
203
+ - [ ] Concepts are clarified (not more confusing)?
204
+ - [ ] Design rationale is clear?
205
+ - [ ] Alternatives are discussed fairly?
206
+ - [ ] Trade-offs are identified?
207
+
208
+ **General Quality**:
209
+ - [ ] Documentation builds without errors
210
+ - [ ] No broken links (internal or external)
211
+ - [ ] No spelling errors
212
+ - [ ] Code examples work
213
+ - [ ] Images load correctly
214
+ - [ ] If `release.md` is present, it reflects the actual publish path and handoff steps
215
+
216
+ **If quality issues found**:
217
+ - Return with feedback describing issues and how to improve
218
+
219
+ ---
220
+
221
+ ## Review Process
222
+
223
+ 1. **Load work package**:
224
+ - Read WP prompt file (e.g., `tasks/WP02-tutorials.md`)
225
+ - Identify which documentation was created/updated
226
+
227
+ 2. **Review each document** against checklists above
228
+
229
+ 3. **Build documentation** and verify:
230
+ ```bash
231
+ ./build-docs.sh
232
+ ```
233
+ - Check for build errors/warnings
234
+ - Navigate to docs in browser
235
+ - Test links, images, navigation
236
+
237
+ 4. **Test tutorials** (if present):
238
+ - Follow tutorial steps exactly
239
+ - Verify each step works
240
+ - Confirm outcome is achieved
241
+
242
+ 5. **Test how-tos** (if present):
243
+ - Attempt to solve the problem using the guide
244
+ - Verify solution works
245
+
246
+ 6. **Validate generated reference** (if present):
247
+ - Check auto-generated API docs
248
+ - Verify all public APIs present
249
+ - Check descriptions are clear
250
+
251
+ 7. **Decide**:
252
+
253
+ **If all checks pass**:
254
+ - Move WP to "done" lane
255
+ - Update activity log with approval
256
+ - Proceed to next WP
257
+
258
+ **If issues found**:
259
+ - Populate Review Feedback section in WP prompt
260
+ - List specific issues with locations and fix guidance
261
+ - Set `review_status: has_feedback`
262
+ - Move WP back to "planned" or "doing"
263
+ - Notify implementer
264
+
265
+ ---
266
+
267
+ ## Review Feedback Format
268
+
269
+ When returning work for changes, use this format:
270
+
271
+ ```markdown
272
+ ## Review Feedback
273
+
274
+ ### Divio Type Compliance
275
+
276
+ **Issue**: docs/tutorials/getting-started.md is classified as tutorial but reads like how-to (assumes too much prior knowledge).
277
+
278
+ **Fix**: Either:
279
+ - Reclassify as how-to (change frontmatter `type: how-to`)
280
+ - Rewrite to be learning-oriented for beginners (add prerequisites section, simplify steps, show results at each step)
281
+
282
+ ### Accessibility
283
+
284
+ **Issue**: docs/tutorials/getting-started.md has image without alt text (line 45).
285
+
286
+ **Fix**: Add alt text describing what the image shows:
287
+ ```markdown
288
+ ![Screenshot showing the welcome screen after successful login](images/welcome.png)
289
+ ```
290
+
291
+ ### Inclusivity
292
+
293
+ **Issue**: docs/how-to/authentication.md uses only male names in examples ("Bob", "John", "Steve").
294
+
295
+ **Fix**: Use diverse names: "Aisha", "Yuki", "Carlos", "Alex".
296
+
297
+ ### Completeness
298
+
299
+ **Issue**: Public API `DocumentGenerator.configure()` is not documented in reference.
300
+
301
+ **Fix**: Add entry to docs/reference/api.md or regenerate API docs if using auto-generation.
302
+
303
+ ### Quality
304
+
305
+ **Issue**: Tutorial step 3 command fails (missing required --flag option).
306
+
307
+ **Fix**: Add --flag to command on line 67:
308
+ ```bash
309
+ command --flag --other-option value
310
+ ```
311
+ ```
312
+
313
+ ---
314
+
315
+ ## Key Guidelines
316
+
317
+ **For Reviewers**:
318
+ - Focus on usability and accessibility, not perfection
319
+ - Provide specific, actionable feedback with line numbers
320
+ - Explain why something is an issue (educate, don't just reject)
321
+ - Test tutorials and how-tos by actually following them
322
+ - Check Divio type compliance carefully (most common issue)
323
+
324
+ **For Implementers**:
325
+ - Review feedback is guidance, not criticism
326
+ - Address all feedback items before re-submitting
327
+ - Mark `review_status: acknowledged` when you understand feedback
328
+ - Update activity log as you address each item
329
+
330
+ ---
331
+
332
+ ## Success Criteria
333
+
334
+ Documentation is ready for "done" when:
335
+ - [ ] All Divio type principles followed
336
+ - [ ] All accessibility checks pass
337
+ - [ ] All inclusivity checks pass
338
+ - [ ] All completeness requirements met
339
+ - [ ] All quality validations pass
340
+ - [ ] Documentation builds successfully
341
+ - [ ] Tutorials work when followed
342
+ - [ ] How-tos solve stated problems
343
+ - [ ] Reference is complete and accurate
344
+ - [ ] Explanations clarify concepts
@@ -0,0 +1,206 @@
1
+ ---
2
+ description: Create a documentation-focused feature specification with discovery and Divio scoping.
3
+ ---
4
+
5
+ # Command Template: /spec-kitty.specify (Documentation Mission)
6
+
7
+ **Phase**: Discover
8
+ **Purpose**: Understand documentation needs, identify iteration mode, select Divio types, detect languages, recommend generators.
9
+
10
+ ## User Input
11
+
12
+ ```text
13
+ $ARGUMENTS
14
+ ```
15
+
16
+ You **MUST** consider the user input before proceeding (if not empty).
17
+
18
+ ## Discovery Gate (mandatory)
19
+
20
+ Before running any scripts or writing to disk, conduct a structured discovery interview tailored to documentation missions.
21
+
22
+ **Scope proportionality**: For documentation missions, discovery depth depends on project maturity:
23
+ - **New project** (initial mode): 3-4 questions about audience, goals, Divio types
24
+ - **Existing docs** (gap-filling mode): 2-3 questions about gaps, priorities, maintenance
25
+ - **Feature-specific** (documenting new feature): 1-2 questions about feature scope, integration
26
+
27
+ ### Discovery Questions
28
+
29
+ **Question 1: Iteration Mode** (CRITICAL)
30
+
31
+ Ask user which documentation scenario applies:
32
+
33
+ **(A) Initial Documentation** - First-time documentation for a project (no existing docs)
34
+ **(B) Gap-Filling** - Improving/extending existing documentation
35
+ **(C) Feature-Specific** - Documenting a specific new feature/module
36
+
37
+ **Why it matters**: Determines whether to run gap analysis, how to structure workflow.
38
+
39
+ **Store answer in**: `meta.json → documentation_state.iteration_mode`
40
+
41
+ ---
42
+
43
+ **Question 2A: For Initial Mode - What to Document**
44
+
45
+ Ask user:
46
+ - What is the primary audience? (developers, end users, contributors, operators)
47
+ - What are the documentation goals? (onboarding, API reference, troubleshooting, understanding architecture)
48
+ - Which Divio types are most important? (tutorial, how-to, reference, explanation)
49
+
50
+ **Why it matters**: Determines which templates to generate, what content to prioritize.
51
+
52
+ ---
53
+
54
+ **Question 2B: For Gap-Filling Mode - What's Missing**
55
+
56
+ Inform user you will audit existing documentation, then ask:
57
+ - What problems are users reporting? (can't get started, can't solve specific problems, APIs undocumented, don't understand concepts)
58
+ - Which areas need documentation most urgently? (specific features, concepts, tasks)
59
+ - What Divio types are you willing to add? (tutorial, how-to, reference, explanation)
60
+
61
+ **Why it matters**: Focuses gap analysis on user-reported issues, prioritizes work.
62
+
63
+ ---
64
+
65
+ **Question 2C: For Feature-Specific Mode - Feature Details**
66
+
67
+ Ask user:
68
+ - Which feature/module are you documenting?
69
+ - Who will use this feature? (what audience)
70
+ - What aspects need documentation? (getting started, common tasks, API details, architecture/design)
71
+
72
+ **Why it matters**: Scopes documentation to just the feature, determines which Divio types apply.
73
+
74
+ ---
75
+
76
+ **Question 3: Language Detection & Generators**
77
+
78
+ Auto-detect project languages:
79
+ - Scan for `.js`, `.ts`, `.jsx`, `.tsx` files → Recommend JSDoc/TypeDoc
80
+ - Scan for `.py` files → Recommend Sphinx
81
+ - Scan for `Cargo.toml`, `.rs` files → Recommend rustdoc
82
+
83
+ Present to user:
84
+ "Detected languages: [list]. Recommend these generators: [list]. Proceed with these?"
85
+
86
+ Allow user to:
87
+ - Confirm all
88
+ - Select subset
89
+ - Skip generators (manual documentation only)
90
+
91
+ **Why it matters**: Determines which generators to configure in planning phase.
92
+
93
+ **Store answer in**: `meta.json → documentation_state.generators_configured`
94
+
95
+ ---
96
+
97
+ **Question 4: Target Audience (if not already clear)**
98
+
99
+ If not clear from earlier answers, ask:
100
+ "Who is the primary audience for this documentation?"
101
+ - Developers integrating your library/API
102
+ - End users using your application
103
+ - Contributors to your project
104
+ - Operators deploying/maintaining your system
105
+ - Mix of above (specify)
106
+
107
+ **Why it matters**: Affects documentation tone, depth, assumed knowledge.
108
+
109
+ **Store answer in**: `spec.md → ## Documentation Scope → Target Audience`
110
+
111
+ ---
112
+
113
+ **Question 5: Publish Scope (optional)**
114
+
115
+ Ask user:
116
+ - Is documentation release/publish in scope for this effort?
117
+ - If yes, should we produce `release.md` with hosting and handoff details?
118
+
119
+ **Why it matters**: Avoids unnecessary release work when publishing is handled elsewhere.
120
+
121
+ ---
122
+
123
+ ### Intent Summary
124
+
125
+ After discovery questions answered, synthesize into Intent Summary:
126
+
127
+ ```markdown
128
+ ## Documentation Mission Intent
129
+
130
+ **Iteration Mode**: [initial | gap-filling | feature-specific]
131
+ **Primary Goal**: [Describe what user wants to accomplish]
132
+ **Target Audience**: [Who will read these docs]
133
+ **Selected Divio Types**: [tutorial, how-to, reference, explanation]
134
+ **Detected Languages**: [Python, JavaScript, Rust, etc.]
135
+ **Recommended Generators**: [JSDoc, Sphinx, rustdoc]
136
+
137
+ **Scope**: [Summary of what will be documented]
138
+ ```
139
+
140
+ Confirm with user before proceeding.
141
+
142
+ ---
143
+
144
+ ## Outline
145
+
146
+ 1. **Check discovery status**: If questions unanswered, ask one at a time (Discovery Gate above)
147
+
148
+ 2. **Generate feature directory**: Run `spec-kitty agent feature create-feature "doc-{project-name}" --json --mission documentation`
149
+ - Feature naming convention: `doc-{project-name}` or `docs-{feature-name}` for feature-specific
150
+
151
+ 3. **Create meta.json**: Include `mission: "documentation"` and `documentation_state` field:
152
+ ```json
153
+ {
154
+ "feature_number": "###",
155
+ "slug": "doc-project-name",
156
+ "friendly_name": "Documentation: Project Name",
157
+ "mission": "documentation",
158
+ "source_description": "...",
159
+ "created_at": "...",
160
+ "documentation_state": {
161
+ "iteration_mode": "initial",
162
+ "divio_types_selected": ["tutorial", "reference"],
163
+ "generators_configured": [
164
+ {"name": "sphinx", "language": "python"}
165
+ ],
166
+ "target_audience": "developers",
167
+ "last_audit_date": null,
168
+ "coverage_percentage": 0.0
169
+ }
170
+ }
171
+ ```
172
+
173
+ 4. **Run gap analysis** (gap-filling mode only):
174
+ - Scan existing `docs/` directory
175
+ - Classify docs into Divio types
176
+ - Build coverage matrix
177
+ - Generate `gap-analysis.md` with findings
178
+
179
+ 5. **Generate specification**:
180
+ - Use `templates/spec-template.md` from documentation mission
181
+ - Fill in Documentation Scope section with discovery answers
182
+ - Include gap analysis results if gap-filling mode
183
+ - Define requirements based on selected Divio types and generators
184
+ - Define success criteria (accessibility, completeness, audience satisfaction)
185
+
186
+ 6. **Validate specification**: Run quality checks (see spec-template.md checklist)
187
+
188
+ 7. **Report completion**: Spec file path, next command (`/spec-kitty.plan`)
189
+
190
+ ---
191
+
192
+ ## Key Guidelines
193
+
194
+ **For Agents**:
195
+ - Ask discovery questions one at a time (don't overwhelm user)
196
+ - Auto-detect languages to recommend generators
197
+ - For gap-filling, show audit results to user before asking what to fill
198
+ - Store iteration state in meta.json (enables future iterations)
199
+ - Emphasize Divio types in specification (tutorial/how-to/reference/explanation)
200
+ - Link to Write the Docs and Divio resources in spec
201
+
202
+ **For Users**:
203
+ - Discovery helps ensure documentation meets real needs
204
+ - Gap analysis (if iterating) shows what's missing
205
+ - Generator recommendations save manual API documentation work
206
+ - Iteration mode affects workflow (initial vs gap-filling vs feature-specific)