specweave 0.30.12 → 0.30.14

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 (127) hide show
  1. package/.claude-plugin/marketplace.json +0 -11
  2. package/CLAUDE.md +1 -1
  3. package/bin/fix-marketplace-errors.sh +1 -1
  4. package/dist/src/cli/commands/init.d.ts.map +1 -1
  5. package/dist/src/cli/commands/init.js +13 -0
  6. package/dist/src/cli/commands/init.js.map +1 -1
  7. package/dist/src/cli/helpers/ado-area-selector.d.ts.map +1 -1
  8. package/dist/src/cli/helpers/ado-area-selector.js +13 -0
  9. package/dist/src/cli/helpers/ado-area-selector.js.map +1 -1
  10. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  11. package/dist/src/cli/helpers/issue-tracker/index.js +7 -2
  12. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
  13. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.d.ts +7 -0
  14. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.d.ts.map +1 -1
  15. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js +33 -2
  16. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js.map +1 -1
  17. package/dist/src/cli/workers/clone-worker.js +19 -3
  18. package/dist/src/cli/workers/clone-worker.js.map +1 -1
  19. package/dist/src/core/living-docs/board-matcher.d.ts +120 -0
  20. package/dist/src/core/living-docs/board-matcher.d.ts.map +1 -0
  21. package/dist/src/core/living-docs/board-matcher.js +466 -0
  22. package/dist/src/core/living-docs/board-matcher.js.map +1 -0
  23. package/dist/src/core/living-docs/foundation-builder.js +1 -1
  24. package/dist/src/core/living-docs/foundation-builder.js.map +1 -1
  25. package/dist/src/core/living-docs/living-docs-sync.d.ts +19 -8
  26. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  27. package/dist/src/core/living-docs/living-docs-sync.js +148 -52
  28. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  29. package/dist/src/core/living-docs/suggestions-generator.js +1 -1
  30. package/dist/src/core/living-docs/suggestions-generator.js.map +1 -1
  31. package/dist/src/core/living-docs/umbrella-detector.d.ts +4 -0
  32. package/dist/src/core/living-docs/umbrella-detector.d.ts.map +1 -1
  33. package/dist/src/core/living-docs/umbrella-detector.js +20 -1
  34. package/dist/src/core/living-docs/umbrella-detector.js.map +1 -1
  35. package/dist/src/core/living-docs/workitem-matcher.js +5 -5
  36. package/dist/src/core/living-docs/workitem-matcher.js.map +1 -1
  37. package/dist/src/importers/item-converter.d.ts +4 -0
  38. package/dist/src/importers/item-converter.d.ts.map +1 -1
  39. package/dist/src/importers/item-converter.js +4 -0
  40. package/dist/src/importers/item-converter.js.map +1 -1
  41. package/dist/src/init/repo/types.d.ts +1 -1
  42. package/dist/src/living-docs/enterprise-analyzer.d.ts.map +1 -1
  43. package/dist/src/living-docs/enterprise-analyzer.js +70 -19
  44. package/dist/src/living-docs/enterprise-analyzer.js.map +1 -1
  45. package/dist/src/living-docs/epic-id-allocator.d.ts +4 -0
  46. package/dist/src/living-docs/epic-id-allocator.d.ts.map +1 -1
  47. package/dist/src/living-docs/epic-id-allocator.js +4 -0
  48. package/dist/src/living-docs/epic-id-allocator.js.map +1 -1
  49. package/dist/src/living-docs/fs-id-allocator.d.ts +4 -0
  50. package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
  51. package/dist/src/living-docs/fs-id-allocator.js +4 -0
  52. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  53. package/dist/src/living-docs/smart-doc-organizer.d.ts +114 -0
  54. package/dist/src/living-docs/smart-doc-organizer.d.ts.map +1 -0
  55. package/dist/src/living-docs/smart-doc-organizer.js +535 -0
  56. package/dist/src/living-docs/smart-doc-organizer.js.map +1 -0
  57. package/package.json +13 -13
  58. package/plugins/PLUGINS-INDEX.md +2 -3
  59. package/plugins/specweave/commands/specweave-judge.md +265 -0
  60. package/plugins/specweave/commands/specweave-organize-docs.md +185 -0
  61. package/plugins/specweave/hooks/hooks.json +3 -3
  62. package/plugins/specweave/hooks/universal/hook-wrapper.cmd +26 -0
  63. package/plugins/specweave/hooks/universal/hook-wrapper.sh +67 -0
  64. package/plugins/specweave-ado/commands/{specweave-ado-close-workitem.md → close.md} +9 -5
  65. package/plugins/specweave-ado/commands/{specweave-ado-create-workitem.md → create.md} +9 -5
  66. package/plugins/specweave-ado/commands/pull.md +459 -0
  67. package/plugins/specweave-ado/commands/push.md +361 -0
  68. package/plugins/specweave-ado/commands/{specweave-ado-status.md → status.md} +12 -0
  69. package/plugins/specweave-ado/commands/{specweave-ado-sync.md → sync.md} +64 -3
  70. package/plugins/specweave-ado/hooks/README.md +1 -1
  71. package/plugins/specweave-docs/commands/build.md +158 -0
  72. package/plugins/specweave-docs/commands/{docs-generate.md → generate.md} +10 -5
  73. package/plugins/specweave-docs/commands/health.md +268 -0
  74. package/plugins/specweave-docs/commands/{docs-init.md → init.md} +11 -6
  75. package/plugins/specweave-docs/commands/organize.md +184 -0
  76. package/plugins/specweave-docs/commands/preview.md +138 -0
  77. package/plugins/specweave-docs/skills/preview/SKILL.md +105 -0
  78. package/plugins/specweave-github/agents/user-story-updater/AGENT.md +1 -1
  79. package/plugins/specweave-github/commands/{specweave-github-close-issue.md → close.md} +2 -2
  80. package/plugins/specweave-github/commands/{specweave-github-create-issue.md → create.md} +2 -2
  81. package/plugins/specweave-github/commands/pull.md +142 -0
  82. package/plugins/specweave-github/commands/push.md +154 -0
  83. package/plugins/specweave-github/commands/{specweave-github-sync.md → sync.md} +19 -5
  84. package/plugins/specweave-github/commands/{specweave-github-update-user-story.md → update-user-story.md} +1 -1
  85. package/plugins/specweave-github/hooks/README.md +1 -1
  86. package/plugins/specweave-jira/commands/pull.md +164 -0
  87. package/plugins/specweave-jira/commands/push.md +170 -0
  88. package/plugins/specweave-jira/commands/{specweave-jira-sync.md → sync.md} +18 -3
  89. package/plugins/specweave-jira/hooks/README.md +1 -1
  90. package/plugins/specweave-kafka/README.md +20 -0
  91. package/plugins/specweave-kafka/benchmarks/kafka-throughput.benchmark.ts +551 -0
  92. package/plugins/specweave-kafka/examples/README.md +191 -0
  93. package/plugins/specweave-kafka/examples/avro-schema-registry/.env.example +8 -0
  94. package/plugins/specweave-kafka/examples/avro-schema-registry/README.md +69 -0
  95. package/plugins/specweave-kafka/examples/avro-schema-registry/consumer.js +37 -0
  96. package/plugins/specweave-kafka/examples/avro-schema-registry/package.json +14 -0
  97. package/plugins/specweave-kafka/examples/avro-schema-registry/producer.js +57 -0
  98. package/plugins/specweave-kafka/examples/exactly-once-semantics/.env.example +5 -0
  99. package/plugins/specweave-kafka/examples/exactly-once-semantics/README.md +30 -0
  100. package/plugins/specweave-kafka/examples/exactly-once-semantics/eos-pipeline.js +79 -0
  101. package/plugins/specweave-kafka/examples/exactly-once-semantics/package.json +11 -0
  102. package/plugins/specweave-kafka/examples/kafka-streams-app/.env.example +4 -0
  103. package/plugins/specweave-kafka/examples/kafka-streams-app/README.md +30 -0
  104. package/plugins/specweave-kafka/examples/kafka-streams-app/package.json +11 -0
  105. package/plugins/specweave-kafka/examples/kafka-streams-app/windowed-aggregation.js +66 -0
  106. package/plugins/specweave-kafka/examples/n8n-workflow/README.md +54 -0
  107. package/plugins/specweave-kafka/examples/n8n-workflow/docker-compose.yml +19 -0
  108. package/plugins/specweave-kafka/examples/n8n-workflow/kafka-to-slack.json +50 -0
  109. package/plugins/specweave-kafka/examples/simple-producer-consumer/.env.example +15 -0
  110. package/plugins/specweave-kafka/examples/simple-producer-consumer/README.md +183 -0
  111. package/plugins/specweave-kafka/examples/simple-producer-consumer/consumer.js +60 -0
  112. package/plugins/specweave-kafka/examples/simple-producer-consumer/docker-compose.yml +30 -0
  113. package/plugins/specweave-kafka/examples/simple-producer-consumer/package.json +18 -0
  114. package/plugins/specweave-kafka/examples/simple-producer-consumer/producer.js +52 -0
  115. package/plugins/specweave-release/commands/specweave-release-npm.md +26 -239
  116. package/plugins/specweave-docs-preview/.claude-plugin/plugin.json +0 -21
  117. package/plugins/specweave-docs-preview/commands/build.md +0 -489
  118. package/plugins/specweave-docs-preview/commands/preview.md +0 -355
  119. package/plugins/specweave-docs-preview/skills/docs-preview/SKILL.md +0 -386
  120. /package/plugins/specweave-ado/commands/{specweave-ado-clone-repos.md → clone.md} +0 -0
  121. /package/plugins/specweave-ado/commands/{specweave-ado-import-areas.md → import-areas.md} +0 -0
  122. /package/plugins/specweave-ado/commands/{specweave-ado-import-projects.md → import-projects.md} +0 -0
  123. /package/plugins/specweave-github/commands/{specweave-github-cleanup-duplicates.md → cleanup-duplicates.md} +0 -0
  124. /package/plugins/specweave-github/commands/{specweave-github-reconcile.md → reconcile.md} +0 -0
  125. /package/plugins/specweave-github/commands/{specweave-github-status.md → status.md} +0 -0
  126. /package/plugins/specweave-jira/commands/{specweave-jira-import-boards.md → import-boards.md} +0 -0
  127. /package/plugins/specweave-jira/commands/{specweave-jira-import-projects.md → import-projects-full.md} +0 -0
@@ -0,0 +1,361 @@
1
+ ---
2
+ name: specweave-ado:push
3
+ description: Push local changes to Azure DevOps (like git push). Supports increment, project, or full living docs sync.
4
+ ---
5
+
6
+ # ADO Push Command
7
+
8
+ **Usage**: `/specweave-ado:push [target] [options]`
9
+
10
+ **Purpose**: Push local changes to Azure DevOps (like `git push`)
11
+
12
+ ---
13
+
14
+ ## Quick Start
15
+
16
+ ```bash
17
+ # Push current/active increment (simple mode)
18
+ /specweave-ado:push
19
+
20
+ # Push specific increment
21
+ /specweave-ado:push 0005
22
+
23
+ # Push ALL local changes to ADO (living docs sync)
24
+ /specweave-ado:push --all
25
+
26
+ # Push specific project/board
27
+ /specweave-ado:push --project clinical-insights
28
+
29
+ # Push specific feature hierarchy
30
+ /specweave-ado:push --feature FS-042
31
+ ```
32
+
33
+ ---
34
+
35
+ ## Sync Modes
36
+
37
+ ### Mode 1: Increment Sync (Default)
38
+ Pushes task progress from ONE increment to its linked work item.
39
+
40
+ ### Mode 2: Living Docs Sync (--all)
41
+ Pushes ALL local spec changes to corresponding ADO items:
42
+ - Scans `.specweave/docs/internal/specs/` for modified specs
43
+ - Updates status, progress, comments on linked ADO items
44
+ - Respects multi-project folder structure
45
+
46
+ ### Mode 3: Project-Scoped Sync (--project)
47
+ Pushes changes only within a specific project folder.
48
+
49
+ ### Mode 4: Feature Hierarchy Sync (--feature)
50
+ Pushes a feature and all its child user stories.
51
+
52
+ ---
53
+
54
+ ## What Gets Pushed
55
+
56
+ | Field | Source |
57
+ |-------|--------|
58
+ | **Progress** | Calculated from tasks.md (X/Y tasks, Z%) |
59
+ | **Comment** | Auto-generated with completed tasks list |
60
+ | **Completion %** | Updated on work item custom field |
61
+ | **State** | Updated if threshold crossed (e.g., 100% -> Resolved) |
62
+
63
+ ---
64
+
65
+ ## Command Behavior
66
+
67
+ When user runs this command:
68
+
69
+ ### 1. Check Permission Gate (MANDATORY)
70
+
71
+ ```typescript
72
+ const config = JSON.parse(await fs.readFile('.specweave/config.json', 'utf-8'));
73
+ const canUpdateExternal = config?.sync?.settings?.canUpdateExternalItems ?? false;
74
+
75
+ if (!canUpdateExternal) {
76
+ console.log(`
77
+ Permission Denied: ADO writes disabled
78
+
79
+ Current: sync.settings.canUpdateExternalItems = false
80
+
81
+ To enable writes, update .specweave/config.json:
82
+ "sync": { "settings": { "canUpdateExternalItems": true } }
83
+
84
+ Or use read-only mode:
85
+ /specweave-ado:pull ${incrementId}
86
+ `);
87
+ return;
88
+ }
89
+ ```
90
+
91
+ ### 2. Resolve Increment & Profile
92
+
93
+ ```typescript
94
+ const incrementId = args.incrementId || await findActiveIncrement();
95
+
96
+ const metadata = JSON.parse(await fs.readFile(
97
+ `.specweave/increments/${incrementId}/metadata.json`, 'utf-8'
98
+ ));
99
+
100
+ const adoWorkItemId = metadata?.external_sync?.ado?.workItemId;
101
+ if (!adoWorkItemId) {
102
+ console.log(`Not linked to ADO. Run: /specweave-ado:create ${incrementId}`);
103
+ return;
104
+ }
105
+
106
+ const profileName = metadata?.external_sync?.ado?.profile
107
+ || config?.sync?.defaultProfile;
108
+ ```
109
+
110
+ ### 3. Calculate Progress
111
+
112
+ ```typescript
113
+ const tasksContent = await fs.readFile(
114
+ `.specweave/increments/${incrementId}/tasks.md`, 'utf-8'
115
+ );
116
+
117
+ const totalTasks = (tasksContent.match(/### T-\d+/g) || []).length;
118
+ const completedTasks = (tasksContent.match(/\[x\] completed/gi) || []).length;
119
+ const percentage = Math.round((completedTasks / totalTasks) * 100);
120
+
121
+ // Find recently completed tasks (for comment)
122
+ const recentlyCompleted = parseRecentlyCompletedTasks(tasksContent);
123
+ ```
124
+
125
+ ### 4. Invoke Push Sync
126
+
127
+ ```
128
+ Use Task tool with subagent_type: "specweave-ado:ado-manager:ado-manager"
129
+
130
+ Prompt: "Push progress to ADO for increment {increment-id}.
131
+
132
+ DIRECTION: to-ado
133
+ PERMISSION: canUpdateExternalItems = true (verified)
134
+
135
+ Profile: {profileName}
136
+ Work Item: #{workItemId}
137
+
138
+ Progress: {completedTasks}/{totalTasks} ({percentage}%)
139
+ Recently completed: {recentlyCompleted}
140
+
141
+ Steps:
142
+ 1. Format progress comment with task list
143
+ 2. POST comment to ADO work item
144
+ 3. PATCH work item completion field
145
+ 4. Update state if threshold crossed:
146
+ - 100% completed -> Resolved (if canUpdateStatus)
147
+ 5. Update sync timestamp in metadata
148
+ 6. Display push summary"
149
+ ```
150
+
151
+ ### 5. Display Result
152
+
153
+ ```
154
+ Pushed to ADO
155
+
156
+ Work Item: #12345
157
+ Profile: ado-my-project
158
+
159
+ Progress: 6/10 tasks (60%)
160
+
161
+ Comment posted:
162
+ "Progress Update: 60% complete
163
+
164
+ Recently completed:
165
+ - T-005: Add payment validation
166
+ - T-006: Implement refund flow"
167
+
168
+ Fields updated:
169
+ Completion: 60%
170
+
171
+ URL: https://dev.azure.com/org/project/_workitems/edit/12345
172
+ ```
173
+
174
+ ---
175
+
176
+ ## Permission Requirements
177
+
178
+ | Permission | Required | Purpose |
179
+ |------------|----------|---------|
180
+ | `canUpdateExternalItems` | **true** | Write to ADO |
181
+ | `canUpdateStatus` | optional | Change work item state |
182
+
183
+ If `canUpdateStatus` is false, progress is posted but state unchanged.
184
+
185
+ ---
186
+
187
+ ## Examples
188
+
189
+ ### Example 1: Simple Push
190
+
191
+ ```
192
+ User: /specweave-ado:push
193
+
194
+ Claude:
195
+ Checking permissions...
196
+ canUpdateExternalItems: true
197
+
198
+ Pushing to ADO...
199
+ Increment: 0005-payment-integration
200
+ Work Item: #12345
201
+
202
+ Pushed to ADO
203
+
204
+ Progress: 8/10 tasks (80%)
205
+ Comment posted with 2 recently completed tasks
206
+
207
+ Push complete!
208
+ ```
209
+
210
+ ### Example 2: Permission Denied
211
+
212
+ ```
213
+ User: /specweave-ado:push 0005
214
+
215
+ Claude:
216
+ Checking permissions...
217
+ canUpdateExternalItems: false
218
+
219
+ Permission Denied
220
+
221
+ To enable ADO writes:
222
+ 1. Edit .specweave/config.json
223
+ 2. Set sync.settings.canUpdateExternalItems = true
224
+
225
+ Or use read-only: /specweave-ado:pull 0005
226
+ ```
227
+
228
+ ### Example 3: 100% Complete
229
+
230
+ ```
231
+ User: /specweave-ado:push 0005
232
+
233
+ Claude:
234
+ Pushing to ADO...
235
+
236
+ Progress: 10/10 tasks (100%)
237
+
238
+ Comment posted:
239
+ "Progress Update: 100% complete - All tasks done!"
240
+
241
+ State updated:
242
+ Active -> Resolved (canUpdateStatus = true)
243
+
244
+ Ready to close: /specweave-ado:close 0005
245
+ ```
246
+
247
+ ---
248
+
249
+ ## Sync Brief (MANDATORY OUTPUT)
250
+
251
+ **After EVERY push operation, display a compact summary:**
252
+
253
+ ### Brief Format (Single Increment)
254
+
255
+ ```
256
+ ┌─────────────────────────────────────────────────────────┐
257
+ │ PUSH COMPLETE ✓ ADO │
258
+ ├─────────────────────────────────────────────────────────┤
259
+ │ Increment: 0005-payment-integration │
260
+ │ Work Item: #12345 │
261
+ │ Profile: ado-techcorp │
262
+ ├─────────────────────────────────────────────────────────┤
263
+ │ PROGRESS │
264
+ │ Tasks: 8/10 (80%) ████████░░ │
265
+ │ ↑ Comment posted: "Progress: 80% complete" │
266
+ │ ↑ Completion field: 60% → 80% │
267
+ ├─────────────────────────────────────────────────────────┤
268
+ │ RECENTLY COMPLETED │
269
+ │ ✓ T-007: Add payment validation │
270
+ │ ✓ T-008: Implement refund flow │
271
+ ├─────────────────────────────────────────────────────────┤
272
+ │ Last sync: 2025-12-04 10:32:15 (just now) │
273
+ │ URL: https://dev.azure.com/.../12345 │
274
+ └─────────────────────────────────────────────────────────┘
275
+ ```
276
+
277
+ ### Brief Format (Multi-Project --all)
278
+
279
+ ```
280
+ ┌─────────────────────────────────────────────────────────┐
281
+ │ PUSH COMPLETE ✓ ADO │
282
+ ├─────────────────────────────────────────────────────────┤
283
+ │ Pushed: 12 specs across 3 projects │
284
+ │ Comments posted: 12 │
285
+ │ Status transitions: 3 │
286
+ │ Duration: 5.1s │
287
+ ├─────────────────────────────────────────────────────────┤
288
+ │ BY PROJECT │
289
+ │ techcorp/clinical-insights/ 5 pushed │
290
+ │ techcorp/ai-platform/ 4 pushed │
291
+ │ infrastructure/core/ 3 pushed │
292
+ ├─────────────────────────────────────────────────────────┤
293
+ │ CHANGES PUSHED │
294
+ │ ↑ Progress comments: 12 │
295
+ │ ↑ Completion updates: 8 │
296
+ │ ↑ Status transitions: 3 │
297
+ │ • FS-042/us-001: Active → Resolved (100%) │
298
+ │ • FS-043/us-005: Active → Resolved (100%) │
299
+ │ • FS-050/us-010: New → Active (started) │
300
+ └─────────────────────────────────────────────────────────┘
301
+ ```
302
+
303
+ ### Brief Format (100% Complete - Ready to Close)
304
+
305
+ ```
306
+ ┌─────────────────────────────────────────────────────────┐
307
+ │ PUSH COMPLETE ✓ ADO │
308
+ ├─────────────────────────────────────────────────────────┤
309
+ │ Increment: 0005-payment-integration │
310
+ │ Work Item: #12345 │
311
+ ├─────────────────────────────────────────────────────────┤
312
+ │ PROGRESS │
313
+ │ Tasks: 10/10 (100%) ██████████ COMPLETE! │
314
+ │ ↑ Comment: "All tasks complete!" │
315
+ │ ↑ Status: Active → Resolved │
316
+ ├─────────────────────────────────────────────────────────┤
317
+ │ 🎉 INCREMENT READY TO CLOSE │
318
+ │ Run: /specweave-ado:close 0005 │
319
+ └─────────────────────────────────────────────────────────┘
320
+ ```
321
+
322
+ ### Brief Format (Permission Denied)
323
+
324
+ ```
325
+ ┌─────────────────────────────────────────────────────────┐
326
+ │ PUSH BLOCKED ✗ ADO │
327
+ ├─────────────────────────────────────────────────────────┤
328
+ │ Permission: canUpdateExternalItems = false │
329
+ ├─────────────────────────────────────────────────────────┤
330
+ │ TO ENABLE: │
331
+ │ Edit .specweave/config.json: │
332
+ │ sync.settings.canUpdateExternalItems = true │
333
+ │ │
334
+ │ OR USE READ-ONLY: │
335
+ │ /specweave-ado:pull 0005 │
336
+ └─────────────────────────────────────────────────────────┘
337
+ ```
338
+
339
+ ### Symbols Reference
340
+
341
+ | Symbol | Meaning |
342
+ |--------|---------|
343
+ | `✓` | Success |
344
+ | `⚠` | Warning (partial success) |
345
+ | `✗` | Error/Failed |
346
+ | `↓` | Pulled from external (incoming) |
347
+ | `↑` | Pushed to external (outgoing) |
348
+ | `+` | Added (new items) |
349
+ | `−` | Removed |
350
+ | `~` | Modified |
351
+
352
+ ---
353
+
354
+ ## Related Commands
355
+
356
+ | Command | Purpose |
357
+ |---------|---------|
358
+ | `/specweave-ado:pull` | Pull changes from ADO |
359
+ | `/specweave-ado:sync` | Two-way sync (pull + push) |
360
+ | `/specweave-ado:status` | Check sync status |
361
+ | `/specweave-ado:close` | Close completed work item |
@@ -51,3 +51,15 @@ Sync Enabled: ✅
51
51
 
52
52
  Next Sync: Automatic on task completion
53
53
  ```
54
+
55
+ ---
56
+
57
+ ## Related
58
+
59
+ | Command | Purpose |
60
+ |---------|---------|
61
+ | `/specweave-ado:pull` | Pull changes from ADO |
62
+ | `/specweave-ado:push` | Push progress to ADO |
63
+ | `/specweave-ado:sync` | Two-way sync |
64
+ | `/specweave-ado:create` | Create ADO work item |
65
+ | `/specweave-ado:close` | Close work item |
@@ -234,8 +234,69 @@ Options:
234
234
 
235
235
  ---
236
236
 
237
+ ## Simpler Alternatives
238
+
239
+ For most use cases, use the git-style commands:
240
+
241
+ | Command | Purpose |
242
+ |---------|---------|
243
+ | `/specweave-ado:pull` | Pull changes from ADO (read-only) |
244
+ | `/specweave-ado:push` | Push progress to ADO |
245
+
246
+ Use `/specweave-ado:sync` when you need explicit two-way sync with options.
247
+
248
+ ---
249
+
250
+ ## Sync Brief (MANDATORY OUTPUT)
251
+
252
+ **After EVERY sync operation, display a compact two-way summary:**
253
+
254
+ ```
255
+ ┌─────────────────────────────────────────────────────────┐
256
+ │ SYNC COMPLETE ✓ ADO │
257
+ ├─────────────────────────────────────────────────────────┤
258
+ │ Increment: 0005-payment-integration │
259
+ │ Work Item: #12345 │
260
+ │ Profile: ado-techcorp │
261
+ │ Direction: two-way (pull + push) │
262
+ ├─────────────────────────────────────────────────────────┤
263
+ │ PULLED (from ADO) ↓ │
264
+ │ ↓ Status: Active → Resolved (external wins) │
265
+ │ ↓ Priority: P2 → P1 │
266
+ │ + Comments: 2 new imported │
267
+ ├─────────────────────────────────────────────────────────┤
268
+ │ PUSHED (to ADO) ↑ │
269
+ │ Tasks: 8/10 (80%) ████████░░ │
270
+ │ ↑ Comment posted: "Progress: 80% complete" │
271
+ │ ↑ Completion: 60% → 80% │
272
+ ├─────────────────────────────────────────────────────────┤
273
+ │ CONFLICTS RESOLVED: 1 │
274
+ │ Status: local "in-progress" vs ADO "Resolved" │
275
+ │ Winner: ADO (external tool always wins) │
276
+ ├─────────────────────────────────────────────────────────┤
277
+ │ Last sync: 2025-12-04 10:32:15 (just now) │
278
+ │ URL: https://dev.azure.com/.../12345 │
279
+ └─────────────────────────────────────────────────────────┘
280
+ ```
281
+
282
+ ### Symbols Reference
283
+
284
+ | Symbol | Meaning |
285
+ |--------|---------|
286
+ | `✓` | Success |
287
+ | `⚠` | Warning |
288
+ | `✗` | Failed |
289
+ | `↓` | Pulled (incoming) |
290
+ | `↑` | Pushed (outgoing) |
291
+
292
+ ---
293
+
237
294
  ## Related
238
295
 
239
- - `/specweave-ado:create-workitem` - Create new ADO work item
240
- - `/specweave-ado:status` - Check sync status (read-only, always allowed)
241
- - `/specweave-ado:close-workitem` - Close work item when complete
296
+ | Command | Purpose |
297
+ |---------|---------|
298
+ | `/specweave-ado:pull` | Pull from ADO (git-style) |
299
+ | `/specweave-ado:push` | Push to ADO (git-style) |
300
+ | `/specweave-ado:create` | Create new ADO work item |
301
+ | `/specweave-ado:status` | Check sync status |
302
+ | `/specweave-ado:close` | Close work item when complete |
@@ -193,7 +193,7 @@ Core hook (330 lines) ADO plugin hook (150 lines)
193
193
 
194
194
  - **Core Plugin Hooks**: `plugins/specweave/hooks/README.md`
195
195
  - **Architecture Analysis**: `.specweave/increments/0018-strict-increment-discipline-enforcement/reports/HOOKS-ARCHITECTURE-ANALYSIS.md`
196
- - **ADO Sync Command**: `plugins/specweave-ado/commands/specweave-ado-sync.md`
196
+ - **ADO Sync Command**: `plugins/specweave-ado/commands/sync.md`
197
197
 
198
198
  ---
199
199
 
@@ -0,0 +1,158 @@
1
+ ---
2
+ name: specweave-docs:build
3
+ description: Build static documentation site for deployment. Supports both public and internal docs. Outputs production-ready HTML/CSS/JS.
4
+ ---
5
+
6
+ # Documentation Build Command
7
+
8
+ Build production-ready static documentation site for deployment to any static host.
9
+
10
+ ## Usage
11
+
12
+ ```bash
13
+ # Build INTERNAL docs (SpecWeave living documentation) - DEFAULT
14
+ /specweave-docs:build
15
+
16
+ # Build PUBLIC docs (end-user documentation)
17
+ /specweave-docs:build --public
18
+ ```
19
+
20
+ ## Two Build Targets
21
+
22
+ | Site | Output Directory | NPM Script |
23
+ |------|------------------|------------|
24
+ | **Internal** | `docs-site/build-internal/` | `docs:internal:build` |
25
+ | **Public** | `docs-site/build/` | `docs:build` |
26
+
27
+ ## Your Task
28
+
29
+ Execute the appropriate npm script based on user flags:
30
+
31
+ ```bash
32
+ # Check if user wants public docs
33
+ PUBLIC_FLAG="${1:-}"
34
+
35
+ cd /path/to/project
36
+
37
+ if [ "$PUBLIC_FLAG" = "--public" ]; then
38
+ echo "Building PUBLIC documentation..."
39
+ echo "Output: docs-site/build/"
40
+ echo ""
41
+ npm run docs:build
42
+ echo ""
43
+ echo "Build complete! Output: docs-site/build/"
44
+ else
45
+ echo "Building INTERNAL documentation..."
46
+ echo "Output: docs-site/build-internal/"
47
+ echo ""
48
+ npm run docs:internal:build
49
+ echo ""
50
+ echo "Build complete! Output: docs-site/build-internal/"
51
+ fi
52
+ ```
53
+
54
+ ## Output Structure
55
+
56
+ ```
57
+ docs-site/build-internal/
58
+ ├── index.html <- Landing page
59
+ ├── strategy/
60
+ ├── specs/
61
+ ├── architecture/
62
+ │ └── adr/
63
+ ├── delivery/
64
+ ├── operations/
65
+ ├── governance/
66
+ ├── assets/
67
+ │ ├── css/styles.[hash].css
68
+ │ └── js/runtime.[hash].js
69
+ └── sitemap.xml
70
+ ```
71
+
72
+ ## Deployment Options
73
+
74
+ ### 1. Preview Locally
75
+
76
+ ```bash
77
+ # Internal docs
78
+ cd docs-site && npm run serve:internal
79
+
80
+ # Public docs
81
+ cd docs-site && npm run serve
82
+ ```
83
+
84
+ ### 2. Netlify
85
+
86
+ ```bash
87
+ cd docs-site
88
+ npx netlify deploy --dir=build-internal --prod
89
+ ```
90
+
91
+ ### 3. Vercel
92
+
93
+ ```bash
94
+ cd docs-site
95
+ npx vercel --prod
96
+ ```
97
+
98
+ ### 4. GitHub Pages
99
+
100
+ ```bash
101
+ # Copy build to docs folder (GitHub Pages expects /docs)
102
+ cp -r docs-site/build-internal/* docs/
103
+ git add docs/
104
+ git commit -m "docs: update documentation site"
105
+ git push
106
+ ```
107
+
108
+ ### 5. Static Server
109
+
110
+ ```bash
111
+ npx serve docs-site/build-internal/
112
+ ```
113
+
114
+ ## Build vs Preview
115
+
116
+ | Aspect | Preview | Build |
117
+ |--------|---------|-------|
118
+ | **Purpose** | Development | Production |
119
+ | **Speed** | Instant | 10-30 seconds |
120
+ | **Output** | Dev server | Static files |
121
+ | **Hot Reload** | Yes | No |
122
+ | **Optimization** | No | Yes (minified) |
123
+ | **Use Case** | Writing docs | Deployment |
124
+
125
+ ## First-Time Setup
126
+
127
+ If dependencies not installed:
128
+
129
+ ```bash
130
+ npm run docs:install
131
+ ```
132
+
133
+ ## Troubleshooting
134
+
135
+ ### Build fails with broken links
136
+ ```bash
137
+ # Preview first to find errors
138
+ npm run docs:internal
139
+ # Fix broken links, then build
140
+ npm run docs:internal:build
141
+ ```
142
+
143
+ ### Out of memory
144
+ ```bash
145
+ # Increase Node memory
146
+ NODE_OPTIONS="--max-old-space-size=4096" npm run docs:internal:build
147
+ ```
148
+
149
+ ### Cache issues
150
+ ```bash
151
+ cd docs-site && npm run clear && npm run build:internal
152
+ ```
153
+
154
+ ## See Also
155
+
156
+ - `/specweave-docs:preview` - Preview docs locally with hot reload
157
+ - `/specweave-docs:organize` - Organize large folders with themed indexes
158
+ - `/specweave-docs:health` - Documentation health report
@@ -1,11 +1,16 @@
1
- # Docs Generate - Generate Documentation from Code
1
+ ---
2
+ name: specweave-docs:generate
3
+ description: Generate documentation from TypeScript/JavaScript code, OpenAPI specs, GraphQL schemas, and SpecWeave specifications.
4
+ ---
5
+
6
+ # Generate Documentation from Code
2
7
 
3
8
  Generate documentation automatically from TypeScript/JavaScript code, OpenAPI specs, GraphQL schemas, and SpecWeave specifications. Creates comprehensive API docs, type references, and usage examples.
4
9
 
5
10
  ## Usage
6
11
 
7
12
  ```
8
- /specweave-docs:docs-generate <source-type> <path> [options]
13
+ /specweave-docs:generate <source-type> <path> [options]
9
14
  ```
10
15
 
11
16
  ## Source Types
@@ -402,9 +407,9 @@ cat ./docs/api/index.md ./docs/specs/index.md > ./docs/complete-reference.md
402
407
 
403
408
  ## Related Commands
404
409
 
405
- - `/specweave-docs:docs-init` - Initialize Docusaurus documentation site
406
- - `/specweave-docs-preview:preview` - Preview generated documentation
407
- - `/specweave-docs-preview:build` - Build static site from generated docs
410
+ - `/specweave-docs:init` - Initialize Docusaurus documentation site
411
+ - `/specweave-docs:preview` - Preview generated documentation
412
+ - `/specweave-docs:build` - Build static site from generated docs
408
413
 
409
414
  ## Requirements
410
415