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
@@ -1,355 +0,0 @@
1
- ---
2
- name: specweave-docs-preview:preview
3
- description: Launch interactive documentation preview server with Docusaurus. Auto-generates sidebar, enables hot reload, and opens browser automatically.
4
- ---
5
-
6
- # Documentation Preview Command
7
-
8
- Launch an interactive Docusaurus development server to preview your SpecWeave living documentation.
9
-
10
- ## 🎨 Beautiful Docusaurus Experience
11
-
12
- **This command ALWAYS uses Docusaurus** - not basic file serving! You get:
13
- - ✅ Auto-generated navigation from folder structure
14
- - ✅ Search functionality (instant local search)
15
- - ✅ Beautiful theming (light/dark mode)
16
- - ✅ Mermaid diagram rendering
17
- - ✅ Hot reload (edit markdown, see changes instantly)
18
- - ✅ Professional typography and layout
19
- - ✅ Mobile responsive design
20
-
21
- **Never settle for basic markdown rendering when you can have this!**
22
-
23
- ## Your Task
24
-
25
- Execute the following workflow to launch the documentation preview server:
26
-
27
- ### Step 1: Load the Preview Utilities
28
-
29
- ```typescript
30
- import { launchPreview, isSetupNeeded, getDocsSitePath } from '../../../src/utils/docs-preview/index.js';
31
- ```
32
-
33
- **Note:** These utilities are already implemented in the SpecWeave codebase.
34
-
35
- ### Step 2: Check Configuration
36
-
37
- Read the project configuration from `.specweave/config.json`:
38
-
39
- ```typescript
40
- import * as fs from 'fs-extra';
41
- import * as path from 'path';
42
-
43
- const projectRoot = process.cwd();
44
- const configPath = path.join(projectRoot, '.specweave', 'config.json');
45
-
46
- let config: any = {};
47
- if (fs.existsSync(configPath)) {
48
- config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
49
- }
50
-
51
- const docsConfig = config.documentation?.preview || {
52
- enabled: true,
53
- autoInstall: true,
54
- port: 3016,
55
- openBrowser: true,
56
- theme: 'default',
57
- excludeFolders: ['legacy', 'node_modules']
58
- };
59
- ```
60
-
61
- ### Step 3: Check if Documentation Preview is Enabled (Auto-Enable if Needed)
62
-
63
- ```typescript
64
- if (!docsConfig.enabled) {
65
- console.log('📚 Documentation preview is currently disabled.');
66
- console.log(' Enabling it now for beautiful Docusaurus experience...\n');
67
-
68
- // Auto-enable the feature
69
- config.documentation = config.documentation || {};
70
- config.documentation.preview = {
71
- ...docsConfig,
72
- enabled: true,
73
- autoInstall: true
74
- };
75
-
76
- // Save updated config
77
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
78
-
79
- console.log('✅ Documentation preview enabled!\n');
80
- }
81
- ```
82
-
83
- ### Step 4: Display Setup Information
84
-
85
- ```typescript
86
- console.log('\n📚 Launching Documentation Preview...\n');
87
-
88
- const setupNeeded = await isSetupNeeded(projectRoot);
89
-
90
- if (setupNeeded) {
91
- console.log('ℹ️ First-time setup required');
92
- console.log(' • Installing Docusaurus (~30 seconds)');
93
- console.log(' • Generating configuration');
94
- console.log(' • Creating sidebar from folder structure\n');
95
- } else {
96
- console.log('✓ Docusaurus already installed');
97
- console.log('✓ Configuration up-to-date\n');
98
- }
99
- ```
100
-
101
- ### Step 5: Launch the Preview Server
102
-
103
- ```typescript
104
- try {
105
- const options = {
106
- port: docsConfig.port || 3016,
107
- openBrowser: docsConfig.openBrowser !== false,
108
- theme: docsConfig.theme || 'default',
109
- excludeFolders: docsConfig.excludeFolders || ['legacy', 'node_modules']
110
- };
111
-
112
- const server = await launchPreview(projectRoot, options);
113
-
114
- console.log('\n✅ Documentation server started successfully!\n');
115
- console.log(`🌐 URL: ${server.url}`);
116
- console.log('🔄 Hot reload enabled - edit markdown files to see changes instantly');
117
- console.log('🗂️ Sidebar auto-generated from folder structure');
118
- console.log('📊 Mermaid diagrams supported');
119
- console.log('\n💡 Press Ctrl+C to stop the server\n');
120
-
121
- // Keep the process running
122
- process.on('SIGINT', () => {
123
- console.log('\n\n👋 Stopping documentation server...');
124
- process.exit(0);
125
- });
126
-
127
- } catch (error: any) {
128
- console.error('\n❌ Failed to launch documentation preview\n');
129
- console.error(`Error: ${error.message}\n`);
130
-
131
- if (error.message.includes('Node.js 18+')) {
132
- console.log('💡 Solution:');
133
- console.log(' • Update Node.js: nvm install 20 (or download from nodejs.org)');
134
- console.log(' • Current version: node --version\n');
135
- } else if (error.message.includes('port')) {
136
- console.log('💡 Solution:');
137
- console.log(' • Change port in .specweave/config.json');
138
- console.log(' • Or stop the service using port ' + (docsConfig.port || 3016));
139
- console.log(' • Check with: lsof -i :' + (docsConfig.port || 3016) + '\n');
140
- } else {
141
- console.log('💡 Troubleshooting:');
142
- console.log(' • Check Node.js version (18+ required): node --version');
143
- console.log(' • Clear npm cache: npm cache clean --force');
144
- console.log(' • Check .specweave/docs/internal/ exists');
145
- console.log(' • Run with DEBUG=* for detailed logs\n');
146
- }
147
-
148
- process.exit(1);
149
- }
150
- ```
151
-
152
- ## Important Notes
153
-
154
- ### Configuration
155
- The command uses settings from `.specweave/config.json`:
156
-
157
- ```json
158
- {
159
- "documentation": {
160
- "preview": {
161
- "enabled": true,
162
- "autoInstall": true,
163
- "port": 3016,
164
- "openBrowser": true,
165
- "theme": "default",
166
- "excludeFolders": ["legacy", "node_modules"]
167
- }
168
- }
169
- }
170
- ```
171
-
172
- ### First-Time Setup
173
- On first run, the command will:
174
- 1. Check Node.js version (requires 18+)
175
- 2. Install Docusaurus packages (~30 seconds)
176
- 3. Generate `docusaurus.config.js`
177
- 4. Create sidebar from folder structure
178
- 5. Start development server
179
- 6. Open browser automatically
180
-
181
- ### Subsequent Runs
182
- On subsequent runs, the command will:
183
- 1. Check if Docusaurus is installed (instant)
184
- 2. Regenerate sidebar (in case docs changed)
185
- 3. Start server (~2 seconds)
186
- 4. Open browser
187
-
188
- ### Directory Structure
189
- ```
190
- .specweave/
191
- ├── docs/
192
- │ └── internal/ ← Source documentation
193
- │ ├── strategy/
194
- │ ├── specs/
195
- │ ├── architecture/
196
- │ ├── delivery/
197
- │ ├── operations/
198
- │ └── governance/
199
- └── docs-site-internal/ ← Docusaurus installation (generated)
200
- ├── docs/ ← Symlinked to internal/
201
- ├── src/
202
- ├── docusaurus.config.js
203
- ├── sidebars.js
204
- └── package.json
205
- ```
206
-
207
- ### What Gets Auto-Generated
208
- 1. **Sidebar** (`sidebars.js`):
209
- - Recursively scans `.specweave/docs/internal/`
210
- - Creates categories from folders
211
- - Sorts by priority (strategy first, governance last)
212
- - Formats labels (kebab-case → Title Case)
213
-
214
- 2. **Configuration** (`docusaurus.config.js`):
215
- - Site title from project name
216
- - Theme settings from config
217
- - Mermaid diagram support
218
- - Hot reload enabled
219
-
220
- 3. **Landing Page** (`src/pages/index.js`):
221
- - Welcome message
222
- - Quick navigation links
223
- - Project information
224
-
225
- ### Hot Reload
226
- Changes to markdown files in `.specweave/docs/internal/` are detected automatically:
227
- - Edit file → Save → Browser refreshes instantly
228
- - No need to restart server
229
- - Works for all markdown files
230
-
231
- ### Stopping the Server
232
- - Press `Ctrl+C` in terminal
233
- - Or close the terminal window
234
- - Or kill the process: `pkill -f docusaurus`
235
-
236
- ## Expected Output
237
-
238
- **First Run:**
239
- ```
240
- 📚 Launching Documentation Preview...
241
-
242
- ℹ️ First-time setup required
243
- • Installing Docusaurus (~30 seconds)
244
- • Generating configuration
245
- • Creating sidebar from folder structure
246
-
247
- 📦 Installing Docusaurus packages...
248
- [============================>] 100%
249
-
250
- ✓ Packages installed successfully
251
- ✓ Configuration generated
252
- ✓ Sidebar generated (42 documents, 8 categories)
253
- ✓ Server started on http://localhost:3016
254
-
255
- ✅ Documentation server started successfully!
256
-
257
- 🌐 URL: http://localhost:3016
258
- 🔄 Hot reload enabled - edit markdown files to see changes instantly
259
- 🗂️ Sidebar auto-generated from folder structure
260
- 📊 Mermaid diagrams supported
261
-
262
- 💡 Press Ctrl+C to stop the server
263
- ```
264
-
265
- **Subsequent Runs:**
266
- ```
267
- 📚 Launching Documentation Preview...
268
-
269
- ✓ Docusaurus already installed
270
- ✓ Configuration up-to-date
271
-
272
- ✓ Sidebar generated (42 documents, 8 categories)
273
- ✓ Server started on http://localhost:3016
274
-
275
- ✅ Documentation server started successfully!
276
-
277
- 🌐 URL: http://localhost:3016
278
- 🔄 Hot reload enabled - edit markdown files to see changes instantly
279
- 🗂️ Sidebar auto-generated from folder structure
280
- 📊 Mermaid diagrams supported
281
-
282
- 💡 Press Ctrl+C to stop the server
283
- ```
284
-
285
- ## Troubleshooting
286
-
287
- ### Common Issues
288
-
289
- **Port Already in Use:**
290
- ```
291
- Error: Port 3016 is already in use
292
- ```
293
- Solution:
294
- 1. Change port in `.specweave/config.json` → `documentation.preview.port`
295
- 2. Or stop the service: `lsof -i :3016` then `kill -9 <PID>`
296
-
297
- **Node.js Version:**
298
- ```
299
- Error: Node.js 18+ required (current: v16.x.x)
300
- ```
301
- Solution:
302
- 1. Update Node.js: `nvm install 20` (or download from nodejs.org)
303
- 2. Verify: `node --version`
304
-
305
- **Missing Documentation:**
306
- ```
307
- Error: No documentation found in .specweave/docs/internal/
308
- ```
309
- Solution:
310
- 1. Check folder exists: `ls .specweave/docs/internal/`
311
- 2. Add at least one markdown file
312
- 3. Or run `/specweave:increment` to create documentation
313
-
314
- ## Integration with SpecWeave Workflow
315
-
316
- ### After Creating Increment
317
- ```bash
318
- /specweave:increment "User Authentication"
319
- # → Creates spec.md, plan.md, tasks.md
320
-
321
- /specweave-docs-preview:preview
322
- # → Preview shows new spec in sidebar
323
- ```
324
-
325
- ### After Completing Increment
326
- ```bash
327
- /specweave:done 0008
328
- # → Syncs spec.md to .specweave/docs/internal/specs/spec-0008-user-auth.md
329
-
330
- # Hot reload automatically shows the new spec!
331
- # No need to restart preview server
332
- ```
333
-
334
- ### Viewing Architecture Decisions
335
- ```bash
336
- # Create ADR
337
- vim .specweave/docs/internal/architecture/adr/0001-database-choice.md
338
-
339
- # Hot reload shows it instantly
340
- # Navigate to Architecture → ADR → Database Choice
341
- ```
342
-
343
- ## Best Practices
344
-
345
- 1. **Keep Server Running**: Start once, leave running during development
346
- 2. **Edit in IDE**: Changes reflect instantly (hot reload)
347
- 3. **Organize Folders**: Good folder structure = good sidebar
348
- 4. **Use Frontmatter**: Add title, position to control order
349
- 5. **Test Search**: Built-in search works after indexing
350
-
351
- ## See Also
352
-
353
- - `/specweave-docs-preview:build` - Build static site for deployment
354
- - `specweave-docs` plugin - General documentation skills
355
- - Docusaurus docs: https://docusaurus.io