@orderful/droid 0.25.2 → 0.27.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 (159) hide show
  1. package/.claude-plugin/marketplace.json +114 -0
  2. package/.github/workflows/ci.yml +20 -0
  3. package/AGENTS.md +75 -18
  4. package/CHANGELOG.md +73 -0
  5. package/README.md +30 -4
  6. package/dist/bin/droid.js +164 -75
  7. package/dist/index.js +68 -26
  8. package/dist/lib/migrations.d.ts +8 -0
  9. package/dist/lib/migrations.d.ts.map +1 -1
  10. package/dist/lib/skill-config.d.ts.map +1 -1
  11. package/dist/lib/skills.d.ts.map +1 -1
  12. package/dist/lib/tools.d.ts.map +1 -1
  13. package/dist/lib/types.d.ts +10 -2
  14. package/dist/lib/types.d.ts.map +1 -1
  15. package/dist/tools/README.md +1 -1
  16. package/dist/tools/brain/.claude-plugin/plugin.json +16 -0
  17. package/dist/tools/brain/TOOL.yaml +7 -5
  18. package/dist/tools/brain/commands/brain.md +17 -49
  19. package/dist/tools/brain/commands/scratchpad.md +13 -50
  20. package/{src/tools/brain/skills/droid-brain → dist/tools/brain/skills/brain}/SKILL.md +6 -6
  21. package/dist/tools/brain/skills/{droid-brain-obsidian → brain-obsidian}/SKILL.md +9 -9
  22. package/dist/tools/coach/.claude-plugin/plugin.json +16 -0
  23. package/dist/tools/coach/TOOL.yaml +4 -3
  24. package/dist/tools/coach/commands/coach.md +14 -54
  25. package/{src/tools/coach/skills/droid-coach → dist/tools/coach/skills/coach}/SKILL.md +5 -4
  26. package/dist/tools/code-review/.claude-plugin/plugin.json +16 -0
  27. package/dist/tools/code-review/TOOL.yaml +4 -3
  28. package/dist/tools/code-review/commands/code-review.md +18 -102
  29. package/dist/tools/code-review/skills/code-review/SKILL.md +154 -0
  30. package/dist/tools/codex/.claude-plugin/plugin.json +16 -0
  31. package/dist/tools/codex/TOOL.yaml +5 -4
  32. package/dist/tools/codex/commands/codex.md +18 -65
  33. package/dist/tools/codex/skills/{droid-codex → codex}/SKILL.md +64 -45
  34. package/{src/tools/codex/skills/droid-codex → dist/tools/codex/skills/codex}/references/loading.md +94 -55
  35. package/dist/tools/codex/skills/codex/scripts/git-finish-write.d.ts.map +1 -0
  36. package/dist/tools/codex/skills/codex/scripts/git-preamble.d.ts.map +1 -0
  37. package/dist/tools/codex/skills/codex/scripts/git-start-write.d.ts.map +1 -0
  38. package/dist/tools/comments/.claude-plugin/plugin.json +16 -0
  39. package/dist/tools/comments/TOOL.yaml +4 -3
  40. package/dist/tools/comments/commands/comments.md +12 -14
  41. package/{src/tools/comments/skills/droid-comments → dist/tools/comments/skills/comments}/SKILL.md +4 -2
  42. package/dist/tools/droid/.claude-plugin/plugin.json +15 -0
  43. package/dist/tools/droid/TOOL.yaml +1 -1
  44. package/dist/tools/droid/skills/droid/SKILL.md +1 -1
  45. package/dist/tools/project/.claude-plugin/plugin.json +16 -0
  46. package/dist/tools/project/TOOL.yaml +4 -3
  47. package/dist/tools/project/commands/project.md +12 -27
  48. package/dist/tools/project/skills/{droid-project → project}/SKILL.md +13 -12
  49. package/dist/tools/tech-design/.claude-plugin/plugin.json +16 -0
  50. package/dist/tools/tech-design/TOOL.yaml +19 -0
  51. package/dist/tools/tech-design/commands/tech-design.md +31 -0
  52. package/dist/tools/tech-design/skills/tech-design/SKILL.md +218 -0
  53. package/dist/tools/tech-design/skills/tech-design/references/draft.md +321 -0
  54. package/dist/tools/tech-design/skills/tech-design/references/gaps.md +328 -0
  55. package/dist/tools/tech-design/skills/tech-design/references/publish.md +409 -0
  56. package/dist/tools/tech-design/skills/tech-design/references/research-doc-template.md +129 -0
  57. package/dist/tools/tech-design/skills/tech-design/references/rollup-template.md +55 -0
  58. package/dist/tools/tech-design/skills/tech-design/references/start.md +353 -0
  59. package/dist/tools/tech-design/skills/tech-design/references/think.md +356 -0
  60. package/dist/tools/tech-design/skills/tech-design/references/thought-doc-template.md +72 -0
  61. package/package.json +3 -2
  62. package/scripts/build-plugins.ts +207 -0
  63. package/src/commands/tui/components/Badge.test.tsx +10 -4
  64. package/src/commands/tui.tsx +4 -4
  65. package/src/lib/migrations.ts +95 -4
  66. package/src/lib/skill-config.ts +95 -57
  67. package/src/lib/skills.test.ts +199 -74
  68. package/src/lib/skills.ts +57 -56
  69. package/src/lib/tools.ts +19 -12
  70. package/src/lib/types.ts +20 -5
  71. package/src/tools/README.md +1 -1
  72. package/src/tools/brain/.claude-plugin/plugin.json +16 -0
  73. package/src/tools/brain/TOOL.yaml +7 -5
  74. package/src/tools/brain/commands/brain.md +17 -49
  75. package/src/tools/brain/commands/scratchpad.md +13 -50
  76. package/{dist/tools/brain/skills/droid-brain → src/tools/brain/skills/brain}/SKILL.md +6 -6
  77. package/src/tools/brain/skills/{droid-brain-obsidian → brain-obsidian}/SKILL.md +9 -9
  78. package/src/tools/coach/.claude-plugin/plugin.json +16 -0
  79. package/src/tools/coach/TOOL.yaml +4 -3
  80. package/src/tools/coach/commands/coach.md +14 -54
  81. package/{dist/tools/coach/skills/droid-coach → src/tools/coach/skills/coach}/SKILL.md +5 -4
  82. package/src/tools/code-review/.claude-plugin/plugin.json +16 -0
  83. package/src/tools/code-review/TOOL.yaml +4 -3
  84. package/src/tools/code-review/commands/code-review.md +18 -102
  85. package/src/tools/code-review/skills/code-review/SKILL.md +154 -0
  86. package/src/tools/codex/.claude-plugin/plugin.json +16 -0
  87. package/src/tools/codex/TOOL.yaml +5 -4
  88. package/src/tools/codex/commands/codex.md +18 -65
  89. package/src/tools/codex/skills/{droid-codex → codex}/SKILL.md +64 -45
  90. package/{dist/tools/codex/skills/droid-codex → src/tools/codex/skills/codex}/references/loading.md +94 -55
  91. package/src/tools/comments/.claude-plugin/plugin.json +16 -0
  92. package/src/tools/comments/TOOL.yaml +4 -3
  93. package/src/tools/comments/commands/comments.md +12 -14
  94. package/{dist/tools/comments/skills/droid-comments → src/tools/comments/skills/comments}/SKILL.md +4 -2
  95. package/src/tools/droid/.claude-plugin/plugin.json +15 -0
  96. package/src/tools/droid/TOOL.yaml +1 -1
  97. package/src/tools/droid/skills/droid/SKILL.md +1 -1
  98. package/src/tools/project/.claude-plugin/plugin.json +16 -0
  99. package/src/tools/project/TOOL.yaml +4 -3
  100. package/src/tools/project/commands/project.md +12 -27
  101. package/src/tools/project/skills/{droid-project → project}/SKILL.md +13 -12
  102. package/src/tools/tech-design/.claude-plugin/plugin.json +16 -0
  103. package/src/tools/tech-design/TOOL.yaml +19 -0
  104. package/src/tools/tech-design/commands/tech-design.md +31 -0
  105. package/src/tools/tech-design/skills/tech-design/SKILL.md +218 -0
  106. package/src/tools/tech-design/skills/tech-design/references/draft.md +321 -0
  107. package/src/tools/tech-design/skills/tech-design/references/gaps.md +328 -0
  108. package/src/tools/tech-design/skills/tech-design/references/publish.md +409 -0
  109. package/src/tools/tech-design/skills/tech-design/references/research-doc-template.md +129 -0
  110. package/src/tools/tech-design/skills/tech-design/references/rollup-template.md +55 -0
  111. package/src/tools/tech-design/skills/tech-design/references/start.md +353 -0
  112. package/src/tools/tech-design/skills/tech-design/references/think.md +356 -0
  113. package/src/tools/tech-design/skills/tech-design/references/thought-doc-template.md +72 -0
  114. package/dist/tools/code-review/skills/droid-code-review/SKILL.md +0 -55
  115. package/dist/tools/codex/skills/droid-codex/scripts/git-finish-write.d.ts.map +0 -1
  116. package/dist/tools/codex/skills/droid-codex/scripts/git-preamble.d.ts.map +0 -1
  117. package/dist/tools/codex/skills/droid-codex/scripts/git-start-write.d.ts.map +0 -1
  118. package/src/tools/code-review/skills/droid-code-review/SKILL.md +0 -55
  119. /package/dist/tools/brain/skills/{droid-brain → brain}/references/metadata.md +0 -0
  120. /package/dist/tools/brain/skills/{droid-brain → brain}/references/naming.md +0 -0
  121. /package/dist/tools/brain/skills/{droid-brain → brain}/references/templates.md +0 -0
  122. /package/dist/tools/brain/skills/{droid-brain → brain}/references/workflows.md +0 -0
  123. /package/dist/tools/brain/skills/{droid-brain-obsidian → brain-obsidian}/references/templates.md +0 -0
  124. /package/dist/tools/brain/skills/{droid-brain-obsidian → brain-obsidian}/references/workflows.md +0 -0
  125. /package/dist/tools/codex/skills/{droid-codex → codex}/references/creating.md +0 -0
  126. /package/dist/tools/codex/skills/{droid-codex → codex}/references/decisions.md +0 -0
  127. /package/dist/tools/codex/skills/{droid-codex → codex}/references/topics.md +0 -0
  128. /package/dist/tools/codex/skills/{droid-codex → codex}/scripts/git-finish-write.d.ts +0 -0
  129. /package/dist/tools/codex/skills/{droid-codex → codex}/scripts/git-finish-write.ts +0 -0
  130. /package/dist/tools/codex/skills/{droid-codex → codex}/scripts/git-preamble.d.ts +0 -0
  131. /package/dist/tools/codex/skills/{droid-codex → codex}/scripts/git-preamble.ts +0 -0
  132. /package/dist/tools/codex/skills/{droid-codex → codex}/scripts/git-scripts.test.ts +0 -0
  133. /package/dist/tools/codex/skills/{droid-codex → codex}/scripts/git-start-write.d.ts +0 -0
  134. /package/dist/tools/codex/skills/{droid-codex → codex}/scripts/git-start-write.ts +0 -0
  135. /package/dist/tools/project/skills/{droid-project → project}/references/changelog.md +0 -0
  136. /package/dist/tools/project/skills/{droid-project → project}/references/creating.md +0 -0
  137. /package/dist/tools/project/skills/{droid-project → project}/references/loading.md +0 -0
  138. /package/dist/tools/project/skills/{droid-project → project}/references/templates.md +0 -0
  139. /package/dist/tools/project/skills/{droid-project → project}/references/updating.md +0 -0
  140. /package/dist/tools/project/skills/{droid-project → project}/references/versioning.md +0 -0
  141. /package/src/tools/brain/skills/{droid-brain → brain}/references/metadata.md +0 -0
  142. /package/src/tools/brain/skills/{droid-brain → brain}/references/naming.md +0 -0
  143. /package/src/tools/brain/skills/{droid-brain → brain}/references/templates.md +0 -0
  144. /package/src/tools/brain/skills/{droid-brain → brain}/references/workflows.md +0 -0
  145. /package/src/tools/brain/skills/{droid-brain-obsidian → brain-obsidian}/references/templates.md +0 -0
  146. /package/src/tools/brain/skills/{droid-brain-obsidian → brain-obsidian}/references/workflows.md +0 -0
  147. /package/src/tools/codex/skills/{droid-codex → codex}/references/creating.md +0 -0
  148. /package/src/tools/codex/skills/{droid-codex → codex}/references/decisions.md +0 -0
  149. /package/src/tools/codex/skills/{droid-codex → codex}/references/topics.md +0 -0
  150. /package/src/tools/codex/skills/{droid-codex → codex}/scripts/git-finish-write.ts +0 -0
  151. /package/src/tools/codex/skills/{droid-codex → codex}/scripts/git-preamble.ts +0 -0
  152. /package/src/tools/codex/skills/{droid-codex → codex}/scripts/git-scripts.test.ts +0 -0
  153. /package/src/tools/codex/skills/{droid-codex → codex}/scripts/git-start-write.ts +0 -0
  154. /package/src/tools/project/skills/{droid-project → project}/references/changelog.md +0 -0
  155. /package/src/tools/project/skills/{droid-project → project}/references/creating.md +0 -0
  156. /package/src/tools/project/skills/{droid-project → project}/references/loading.md +0 -0
  157. /package/src/tools/project/skills/{droid-project → project}/references/templates.md +0 -0
  158. /package/src/tools/project/skills/{droid-project → project}/references/updating.md +0 -0
  159. /package/src/tools/project/skills/{droid-project → project}/references/versioning.md +0 -0
@@ -0,0 +1,328 @@
1
+ # Gap Analysis
2
+
3
+ **Trigger:** `/tech-design gaps` or user asks "what's missing?"
4
+
5
+ **Goal:** Show checklist of sections that are empty or missing. Offer `/think` for each.
6
+
7
+ ## Procedure
8
+
9
+ ### 1. Read Thought Doc
10
+
11
+ ```bash
12
+ thought_doc=$(cat "$thought_doc_path")
13
+
14
+ # Parse sections (lines starting with ##)
15
+ sections=$(grep "^## " "$thought_doc_path" | sed 's/^## //')
16
+ ```
17
+
18
+ ### 2. Define Expected Sections
19
+
20
+ **Core sections** (always check):
21
+
22
+ - Background
23
+ - Proposal
24
+ - Open Questions
25
+
26
+ **Common sections** (check if relevant):
27
+
28
+ - Scope / Non-goals
29
+ - Data Model
30
+ - API Surface
31
+ - Implementation Plan
32
+ - Key Decisions
33
+ - Trade-off Analysis
34
+ - Risks & Mitigations
35
+ - Metrics
36
+ - Rollout Plan
37
+ - Security Considerations
38
+
39
+ ### 3. Identify Gaps
40
+
41
+ **A section is "empty" if:**
42
+
43
+ - It exists as a header but has no content
44
+ - Content is just placeholders like `{Why we're doing this}`
45
+ - Content is < 50 characters (likely just template)
46
+
47
+ **A section is "missing" if:**
48
+
49
+ - Not present in thought doc at all
50
+ - Likely needed based on PRD/project type
51
+
52
+ ```bash
53
+ # For each expected section:
54
+ if ! section_exists; then
55
+ missing+=("$section")
56
+ elif section_is_empty; then
57
+ empty+=("$section")
58
+ else
59
+ complete+=("$section")
60
+ fi
61
+ ```
62
+
63
+ ### 4. Determine Importance
64
+
65
+ **Critical** (should have before publishing):
66
+
67
+ - Background
68
+ - Proposal
69
+ - Risks & Mitigations
70
+ - Rollout Plan (for user-facing features)
71
+ - Security Considerations (if handling user input or sensitive data)
72
+
73
+ **Important** (nice to have):
74
+
75
+ - Scope / Non-goals
76
+ - Data Model (if schema changes)
77
+ - API Surface (if new endpoints)
78
+ - Implementation Plan
79
+ - Key Decisions
80
+
81
+ **Optional** (can skip or keep light):
82
+
83
+ - Metrics (can be in thought doc only)
84
+ - Trade-off Analysis (can be implicit in Decisions)
85
+
86
+ ### 5. Infer from Project Context
87
+
88
+ **Check PRD for clues:**
89
+
90
+ ```bash
91
+ # If PRD mentions "API", mark API Surface as important
92
+ grep -i "API\|endpoint\|REST" "$prd_path" && api_needed=true
93
+
94
+ # If PRD mentions "database", mark Data Model as important
95
+ grep -i "database\|schema\|table\|entity" "$prd_path" && data_model_needed=true
96
+
97
+ # If PRD mentions "security\|auth\|permission", mark Security as critical
98
+ grep -i "security\|auth\|permission\|sensitive" "$prd_path" && security_critical=true
99
+
100
+ # If user-facing, rollout is critical
101
+ grep -i "user\|customer\|partner" "$prd_path" && rollout_critical=true
102
+ ```
103
+
104
+ ### 6. Output Checklist
105
+
106
+ ```bash
107
+ echo "📋 Tech Design Gaps Analysis"
108
+ echo ""
109
+
110
+ if [ ${#complete[@]} -gt 0 ]; then
111
+ echo "✓ Complete:"
112
+ for section in "${complete[@]}"; do
113
+ echo " • $section"
114
+ done
115
+ echo ""
116
+ fi
117
+
118
+ if [ ${#empty[@]} -gt 0 ]; then
119
+ echo "⚠️ Started but empty:"
120
+ for section in "${empty[@]}"; do
121
+ criticality=$(get_criticality "$section")
122
+ echo " • $section [$criticality]"
123
+ done
124
+ echo ""
125
+ fi
126
+
127
+ if [ ${#missing[@]} -gt 0 ]; then
128
+ echo "❌ Missing:"
129
+ for section in "${missing[@]}"; do
130
+ criticality=$(get_criticality "$section")
131
+ echo " • $section [$criticality]"
132
+ done
133
+ echo ""
134
+ fi
135
+
136
+ echo "Next steps:"
137
+ echo " • Work through a section: /tech-design think rollout"
138
+ echo " • Draft a section: /tech-design draft data-model"
139
+ echo " • Natural language also works: \"Let's think through the rollout plan\""
140
+ ```
141
+
142
+ ### 7. Offer Guided Walkthrough
143
+
144
+ If multiple critical sections missing:
145
+
146
+ ```bash
147
+ echo ""
148
+ echo "Want me to walk you through these? I can:"
149
+ echo " 1. Guide you through each critical section"
150
+ echo " 2. Let you pick which to work on"
151
+ echo " 3. Just show the list (already done)"
152
+ ```
153
+
154
+ If user chooses option 1, run `/tech-design think` for each critical section in order.
155
+
156
+ ## Section Criticality Logic
157
+
158
+ ```bash
159
+ function get_criticality() {
160
+ local section=$1
161
+
162
+ case "$section" in
163
+ "Background"|"Proposal")
164
+ echo "CRITICAL"
165
+ ;;
166
+ "Risks & Mitigations")
167
+ echo "CRITICAL"
168
+ ;;
169
+ "Security Considerations")
170
+ # Critical if handling user input or sensitive data
171
+ if grep -qi "input\|user.*data\|sensitive\|auth" "$prd_path" 2>/dev/null; then
172
+ echo "CRITICAL"
173
+ else
174
+ echo "IMPORTANT"
175
+ fi
176
+ ;;
177
+ "Rollout Plan")
178
+ # Critical if user-facing
179
+ if grep -qi "user\|customer\|partner" "$prd_path" 2>/dev/null; then
180
+ echo "CRITICAL"
181
+ else
182
+ echo "IMPORTANT"
183
+ fi
184
+ ;;
185
+ "Data Model")
186
+ # Important if PRD mentions database
187
+ if grep -qi "database\|schema\|table" "$prd_path" 2>/dev/null; then
188
+ echo "IMPORTANT"
189
+ else
190
+ echo "OPTIONAL"
191
+ fi
192
+ ;;
193
+ "API Surface")
194
+ # Important if PRD mentions API
195
+ if grep -qi "API\|endpoint\|REST" "$prd_path" 2>/dev/null; then
196
+ echo "IMPORTANT"
197
+ else
198
+ echo "OPTIONAL"
199
+ fi
200
+ ;;
201
+ "Scope / Non-goals"|"Implementation Plan"|"Key Decisions")
202
+ echo "IMPORTANT"
203
+ ;;
204
+ *)
205
+ echo "OPTIONAL"
206
+ ;;
207
+ esac
208
+ }
209
+ ```
210
+
211
+ ## Example Output (Early Stage)
212
+
213
+ ```
214
+ 📋 Tech Design Gaps Analysis
215
+
216
+ ✓ Complete:
217
+ • Background
218
+ • Open Questions
219
+
220
+ ⚠️ Started but empty:
221
+ • Proposal [CRITICAL]
222
+
223
+ ❌ Missing:
224
+ • Scope / Non-goals [IMPORTANT]
225
+ • Data Model [IMPORTANT] (PRD mentions database schema)
226
+ • API Surface [IMPORTANT] (PRD mentions REST endpoints)
227
+ • Risks & Mitigations [CRITICAL]
228
+ • Rollout Plan [CRITICAL] (user-facing feature)
229
+ • Security Considerations [CRITICAL] (handles user input)
230
+ • Implementation Plan [IMPORTANT]
231
+ • Key Decisions [IMPORTANT]
232
+
233
+ Next steps:
234
+ • Work through a section: /tech-design think rollout
235
+ • Draft a section: /tech-design draft data-model
236
+ • Natural language also works: "Let's think through the rollout plan"
237
+
238
+ Want me to walk you through these? I can:
239
+ 1. Guide you through each critical section
240
+ 2. Let you pick which to work on
241
+ 3. Just show the list (already done)
242
+ ```
243
+
244
+ ## Example Output (Nearly Complete)
245
+
246
+ ```
247
+ 📋 Tech Design Gaps Analysis
248
+
249
+ ✓ Complete:
250
+ • Background
251
+ • Proposal
252
+ • Scope / Non-goals
253
+ • Data Model
254
+ • API Surface
255
+ • Risks & Mitigations
256
+ • Rollout Plan
257
+ • Security Considerations
258
+ • Implementation Plan
259
+
260
+ ⚠️ Started but empty:
261
+ • Key Decisions [IMPORTANT]
262
+
263
+ ❌ Missing:
264
+ • Metrics [OPTIONAL]
265
+ • Trade-off Analysis [OPTIONAL]
266
+
267
+ Looking good! Just need to document your key decisions.
268
+
269
+ Next steps:
270
+ • Add key decisions: /tech-design think decisions
271
+ • Ready to publish: /tech-design publish
272
+ ```
273
+
274
+ ## Example Output (Ready to Publish)
275
+
276
+ ```
277
+ 📋 Tech Design Gaps Analysis
278
+
279
+ ✓ Complete:
280
+ • Background
281
+ • Proposal
282
+ • Scope / Non-goals
283
+ • Data Model
284
+ • API Surface
285
+ • Risks & Mitigations
286
+ • Rollout Plan
287
+ • Security Considerations
288
+ • Implementation Plan
289
+ • Key Decisions
290
+
291
+ ❌ Missing:
292
+ • Metrics [OPTIONAL] (can be in thought doc only, surfaced via /ask in v2)
293
+
294
+ 🎉 All critical sections complete!
295
+
296
+ Ready to publish:
297
+ /tech-design publish
298
+
299
+ This will:
300
+ • Generate clean roll-up from your thought doc
301
+ • Create PR to codex with both docs
302
+ • TECH-DESIGN.md (reviewable roll-up)
303
+ • artifacts/thought-doc.md (your full working doc)
304
+ ```
305
+
306
+ ## Error Handling
307
+
308
+ - **Thought doc not found:** Remind user to run `/tech-design start` first
309
+ - **Thought doc has only template:** Suggest running `/tech-design draft` first
310
+ - **Can't read PRD:** Skip context-based criticality, use defaults
311
+ - **Section names don't match template:** Fuzzy match and warn if unexpected sections found
312
+
313
+ ## Helpful Hints
314
+
315
+ If specific sections are commonly empty, provide targeted guidance:
316
+
317
+ ```
318
+ ⚠️ Risks & Mitigations is empty
319
+
320
+ Common risks to consider:
321
+ • Performance: Will this handle expected load?
322
+ • Data: Migration issues? Data loss scenarios?
323
+ • Integration: What if dependent services fail?
324
+ • Rollout: What's the blast radius if it breaks?
325
+ • Security: Attack surface? Input validation?
326
+
327
+ Want to explore these? /tech-design think risks
328
+ ```