specweave 0.34.5 → 0.34.6

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 (76) hide show
  1. package/bin/fix-marketplace-errors.sh +55 -7
  2. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -1
  3. package/dist/plugins/specweave-github/lib/github-feature-sync.js +3 -1
  4. package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -1
  5. package/dist/src/cli/commands/init.d.ts.map +1 -1
  6. package/dist/src/cli/commands/init.js +11 -2
  7. package/dist/src/cli/commands/init.js.map +1 -1
  8. package/dist/src/cli/commands/living-docs.js +4 -4
  9. package/dist/src/cli/commands/living-docs.js.map +1 -1
  10. package/dist/src/cli/helpers/init/brownfield-analysis.js +15 -15
  11. package/dist/src/cli/helpers/init/brownfield-analysis.js.map +1 -1
  12. package/dist/src/cli/helpers/init/living-docs-preflight.js +7 -7
  13. package/dist/src/cli/helpers/init/living-docs-preflight.js.map +1 -1
  14. package/dist/src/cli/helpers/init/plugin-installer.d.ts.map +1 -1
  15. package/dist/src/cli/helpers/init/plugin-installer.js +61 -9
  16. package/dist/src/cli/helpers/init/plugin-installer.js.map +1 -1
  17. package/dist/src/core/background/types.d.ts +3 -0
  18. package/dist/src/core/background/types.d.ts.map +1 -1
  19. package/dist/src/core/living-docs/delivery/delivery-generator.d.ts +58 -0
  20. package/dist/src/core/living-docs/delivery/delivery-generator.d.ts.map +1 -0
  21. package/dist/src/core/living-docs/delivery/delivery-generator.js +501 -0
  22. package/dist/src/core/living-docs/delivery/delivery-generator.js.map +1 -0
  23. package/dist/src/core/living-docs/delivery/index.d.ts +8 -0
  24. package/dist/src/core/living-docs/delivery/index.d.ts.map +1 -0
  25. package/dist/src/core/living-docs/delivery/index.js +7 -0
  26. package/dist/src/core/living-docs/delivery/index.js.map +1 -0
  27. package/dist/src/core/living-docs/diagrams/index.d.ts +8 -0
  28. package/dist/src/core/living-docs/diagrams/index.d.ts.map +1 -0
  29. package/dist/src/core/living-docs/diagrams/index.js +7 -0
  30. package/dist/src/core/living-docs/diagrams/index.js.map +1 -0
  31. package/dist/src/core/living-docs/diagrams/mermaid-generator.d.ts +103 -0
  32. package/dist/src/core/living-docs/diagrams/mermaid-generator.d.ts.map +1 -0
  33. package/dist/src/core/living-docs/diagrams/mermaid-generator.js +515 -0
  34. package/dist/src/core/living-docs/diagrams/mermaid-generator.js.map +1 -0
  35. package/dist/src/core/living-docs/enterprise/enterprise-generator.d.ts +85 -0
  36. package/dist/src/core/living-docs/enterprise/enterprise-generator.d.ts.map +1 -0
  37. package/dist/src/core/living-docs/enterprise/enterprise-generator.js +556 -0
  38. package/dist/src/core/living-docs/enterprise/enterprise-generator.js.map +1 -0
  39. package/dist/src/core/living-docs/enterprise/history-analyzer.d.ts +91 -0
  40. package/dist/src/core/living-docs/enterprise/history-analyzer.d.ts.map +1 -0
  41. package/dist/src/core/living-docs/enterprise/history-analyzer.js +321 -0
  42. package/dist/src/core/living-docs/enterprise/history-analyzer.js.map +1 -0
  43. package/dist/src/core/living-docs/enterprise/index.d.ts +18 -0
  44. package/dist/src/core/living-docs/enterprise/index.d.ts.map +1 -0
  45. package/dist/src/core/living-docs/enterprise/index.js +14 -0
  46. package/dist/src/core/living-docs/enterprise/index.js.map +1 -0
  47. package/dist/src/core/living-docs/enterprise/relationship-mapper.d.ts +58 -0
  48. package/dist/src/core/living-docs/enterprise/relationship-mapper.d.ts.map +1 -0
  49. package/dist/src/core/living-docs/enterprise/relationship-mapper.js +227 -0
  50. package/dist/src/core/living-docs/enterprise/relationship-mapper.js.map +1 -0
  51. package/dist/src/core/living-docs/enterprise/spec-loader.d.ts +161 -0
  52. package/dist/src/core/living-docs/enterprise/spec-loader.d.ts.map +1 -0
  53. package/dist/src/core/living-docs/enterprise/spec-loader.js +470 -0
  54. package/dist/src/core/living-docs/enterprise/spec-loader.js.map +1 -0
  55. package/dist/src/core/living-docs/intelligent-analyzer/inconsistency-detector.d.ts +31 -1
  56. package/dist/src/core/living-docs/intelligent-analyzer/inconsistency-detector.d.ts.map +1 -1
  57. package/dist/src/core/living-docs/intelligent-analyzer/inconsistency-detector.js +626 -14
  58. package/dist/src/core/living-docs/intelligent-analyzer/inconsistency-detector.js.map +1 -1
  59. package/dist/src/core/living-docs/intelligent-analyzer/index.d.ts +8 -0
  60. package/dist/src/core/living-docs/intelligent-analyzer/index.d.ts.map +1 -1
  61. package/dist/src/core/living-docs/intelligent-analyzer/index.js +87 -4
  62. package/dist/src/core/living-docs/intelligent-analyzer/index.js.map +1 -1
  63. package/dist/src/core/living-docs/intelligent-analyzer/types.d.ts +3 -1
  64. package/dist/src/core/living-docs/intelligent-analyzer/types.d.ts.map +1 -1
  65. package/dist/src/core/living-docs/operations/index.d.ts +8 -0
  66. package/dist/src/core/living-docs/operations/index.d.ts.map +1 -0
  67. package/dist/src/core/living-docs/operations/index.js +7 -0
  68. package/dist/src/core/living-docs/operations/index.js.map +1 -0
  69. package/dist/src/core/living-docs/operations/ops-generator.d.ts +53 -0
  70. package/dist/src/core/living-docs/operations/ops-generator.d.ts.map +1 -0
  71. package/dist/src/core/living-docs/operations/ops-generator.js +462 -0
  72. package/dist/src/core/living-docs/operations/ops-generator.js.map +1 -0
  73. package/package.json +1 -1
  74. package/plugins/specweave/commands/living-docs.md +168 -39
  75. package/plugins/specweave-github/lib/github-feature-sync.js +1 -1
  76. package/plugins/specweave-github/lib/github-feature-sync.ts +3 -1
@@ -0,0 +1,462 @@
1
+ /**
2
+ * Operations Documentation Generator
3
+ *
4
+ * Generates operational documentation:
5
+ * - Runbooks from hook scripts and patterns
6
+ * - Monitoring guidance
7
+ * - Incident templates
8
+ * - SLA tracking
9
+ */
10
+ import * as fs from 'fs';
11
+ import * as path from 'path';
12
+ import { glob } from 'glob';
13
+ import { consoleLogger } from '../../../utils/logger.js';
14
+ /**
15
+ * Generates operations documentation
16
+ */
17
+ export class OpsGenerator {
18
+ constructor(options) {
19
+ this.projectPath = options.projectPath;
20
+ this.logger = options.logger ?? consoleLogger;
21
+ this.opsPath = path.join(this.projectPath, '.specweave/docs/internal/operations');
22
+ }
23
+ /**
24
+ * Generate all operations documentation
25
+ */
26
+ async generate() {
27
+ const filesCreated = [];
28
+ // Ensure operations directory exists
29
+ fs.mkdirSync(this.opsPath, { recursive: true });
30
+ // 1. Generate Runbooks
31
+ this.logger.info(' Generating runbooks...');
32
+ const runbookResult = await this.generateRunbooks();
33
+ if (runbookResult.file) {
34
+ filesCreated.push(runbookResult.file);
35
+ }
36
+ // 2. Generate Monitoring documentation
37
+ this.logger.info(' Generating monitoring docs...');
38
+ const monitoringResult = await this.generateMonitoringDocs();
39
+ if (monitoringResult.file) {
40
+ filesCreated.push(monitoringResult.file);
41
+ }
42
+ // 3. Generate Incident templates
43
+ this.logger.info(' Generating incident templates...');
44
+ const incidentResult = await this.generateIncidentDocs();
45
+ if (incidentResult.file) {
46
+ filesCreated.push(incidentResult.file);
47
+ }
48
+ // 4. Generate SLA documentation
49
+ this.logger.info(' Generating SLA docs...');
50
+ const slaResult = await this.generateSLADocs();
51
+ if (slaResult.file) {
52
+ filesCreated.push(slaResult.file);
53
+ }
54
+ return {
55
+ filesCreated,
56
+ savedFiles: filesCreated, // Alias for consistency
57
+ runbooksFound: runbookResult.count,
58
+ monitoringConfigsFound: monitoringResult.count,
59
+ };
60
+ }
61
+ /**
62
+ * Generate runbooks from hooks and scripts
63
+ */
64
+ async generateRunbooks() {
65
+ const runbooks = [];
66
+ // Find hook scripts
67
+ const hookPaths = [
68
+ path.join(this.projectPath, 'plugins/specweave/hooks'),
69
+ path.join(this.projectPath, '.specweave/hooks'),
70
+ ];
71
+ for (const hookPath of hookPaths) {
72
+ if (!fs.existsSync(hookPath))
73
+ continue;
74
+ const scripts = await glob('**/*.sh', { cwd: hookPath, nodir: true });
75
+ for (const script of scripts) {
76
+ const info = this.parseHookScript(path.join(hookPath, script));
77
+ if (info) {
78
+ runbooks.push({
79
+ name: info.name,
80
+ description: info.description,
81
+ type: 'hook',
82
+ source: script,
83
+ steps: info.steps,
84
+ });
85
+ }
86
+ }
87
+ }
88
+ // Find shell scripts in scripts/ folder
89
+ const scriptsPath = path.join(this.projectPath, 'scripts');
90
+ if (fs.existsSync(scriptsPath)) {
91
+ const scripts = await glob('**/*.sh', { cwd: scriptsPath, nodir: true });
92
+ for (const script of scripts) {
93
+ const info = this.parseHookScript(path.join(scriptsPath, script));
94
+ if (info) {
95
+ runbooks.push({
96
+ name: info.name,
97
+ description: info.description,
98
+ type: 'script',
99
+ source: `scripts/${script}`,
100
+ steps: info.steps,
101
+ });
102
+ }
103
+ }
104
+ }
105
+ // Add standard runbooks based on detected patterns
106
+ const standardRunbooks = this.generateStandardRunbooks();
107
+ runbooks.push(...standardRunbooks);
108
+ // Generate documentation
109
+ const lines = [
110
+ '# Operational Runbooks',
111
+ '',
112
+ `*Generated: ${new Date().toLocaleDateString()} | Runbooks: ${runbooks.length}*`,
113
+ '',
114
+ '## Quick Reference',
115
+ '',
116
+ '| Runbook | Type | Description |',
117
+ '|---------|------|-------------|',
118
+ ];
119
+ for (const rb of runbooks) {
120
+ lines.push(`| [${rb.name}](#${rb.name.toLowerCase().replace(/\s+/g, '-')}) | ${rb.type} | ${rb.description.substring(0, 50)}... |`);
121
+ }
122
+ lines.push('', '## Runbook Details', '');
123
+ for (const rb of runbooks) {
124
+ lines.push(`### ${rb.name}`, '');
125
+ lines.push(`**Type**: ${rb.type}`);
126
+ if (rb.source) {
127
+ lines.push(`**Source**: \`${rb.source}\``);
128
+ }
129
+ lines.push('');
130
+ lines.push(rb.description, '');
131
+ if (rb.steps.length > 0) {
132
+ lines.push('**Steps**:', '');
133
+ for (let i = 0; i < rb.steps.length; i++) {
134
+ lines.push(`${i + 1}. ${rb.steps[i]}`);
135
+ }
136
+ lines.push('');
137
+ }
138
+ }
139
+ lines.push('---', `*Last updated: ${new Date().toISOString()}*`);
140
+ const filePath = path.join(this.opsPath, 'RUNBOOKS.md');
141
+ fs.writeFileSync(filePath, lines.join('\n'));
142
+ return { file: filePath, count: runbooks.length };
143
+ }
144
+ /**
145
+ * Generate monitoring documentation
146
+ */
147
+ async generateMonitoringDocs() {
148
+ const monitoringConfigs = [];
149
+ // Check for common monitoring configurations
150
+ const prometheusPath = path.join(this.projectPath, 'prometheus.yml');
151
+ if (fs.existsSync(prometheusPath)) {
152
+ monitoringConfigs.push({
153
+ name: 'Prometheus',
154
+ type: 'metrics',
155
+ configFile: 'prometheus.yml',
156
+ });
157
+ }
158
+ const grafanaPath = path.join(this.projectPath, 'grafana');
159
+ if (fs.existsSync(grafanaPath)) {
160
+ monitoringConfigs.push({
161
+ name: 'Grafana',
162
+ type: 'dashboards',
163
+ configFile: 'grafana/',
164
+ });
165
+ }
166
+ // Check package.json for monitoring dependencies
167
+ const pkgPath = path.join(this.projectPath, 'package.json');
168
+ if (fs.existsSync(pkgPath)) {
169
+ try {
170
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
171
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies };
172
+ if (deps['prom-client']) {
173
+ monitoringConfigs.push({ name: 'Prometheus Client', type: 'metrics' });
174
+ }
175
+ if (deps['dd-trace']) {
176
+ monitoringConfigs.push({ name: 'Datadog APM', type: 'tracing' });
177
+ }
178
+ if (deps['@opentelemetry/api']) {
179
+ monitoringConfigs.push({ name: 'OpenTelemetry', type: 'tracing' });
180
+ }
181
+ if (deps['newrelic']) {
182
+ monitoringConfigs.push({ name: 'New Relic', type: 'apm' });
183
+ }
184
+ }
185
+ catch { /* ignore */ }
186
+ }
187
+ // Generate documentation
188
+ const lines = [
189
+ '# Monitoring Documentation',
190
+ '',
191
+ `*Generated: ${new Date().toLocaleDateString()}*`,
192
+ '',
193
+ '## Monitoring Stack',
194
+ '',
195
+ '| Tool | Type | Config |',
196
+ '|------|------|--------|',
197
+ ];
198
+ for (const config of monitoringConfigs) {
199
+ lines.push(`| ${config.name} | ${config.type} | ${config.configFile || '-'} |`);
200
+ }
201
+ lines.push('', '## Key Metrics to Monitor', '');
202
+ lines.push('### Application Metrics', '');
203
+ lines.push('- Request latency (p50, p95, p99)');
204
+ lines.push('- Error rate');
205
+ lines.push('- Request throughput');
206
+ lines.push('- Active connections');
207
+ lines.push('');
208
+ lines.push('### Infrastructure Metrics', '');
209
+ lines.push('- CPU utilization');
210
+ lines.push('- Memory usage');
211
+ lines.push('- Disk I/O');
212
+ lines.push('- Network throughput');
213
+ lines.push('');
214
+ lines.push('### Business Metrics', '');
215
+ lines.push('- Feature usage rates');
216
+ lines.push('- User sessions');
217
+ lines.push('- Transaction volume');
218
+ lines.push('');
219
+ lines.push('## Alerting Guidelines', '');
220
+ lines.push('| Severity | Response Time | Examples |');
221
+ lines.push('|----------|---------------|----------|');
222
+ lines.push('| P1 - Critical | 15 min | Service down, data loss |');
223
+ lines.push('| P2 - High | 1 hour | Degraded performance, partial outage |');
224
+ lines.push('| P3 - Medium | 4 hours | Non-critical errors, capacity warnings |');
225
+ lines.push('| P4 - Low | 24 hours | Minor issues, optimization opportunities |');
226
+ lines.push('');
227
+ lines.push('---', `*Last updated: ${new Date().toISOString()}*`);
228
+ const filePath = path.join(this.opsPath, 'MONITORING.md');
229
+ fs.writeFileSync(filePath, lines.join('\n'));
230
+ return { file: filePath, count: monitoringConfigs.length };
231
+ }
232
+ /**
233
+ * Generate incident documentation templates
234
+ */
235
+ async generateIncidentDocs() {
236
+ const lines = [
237
+ '# Incident Management',
238
+ '',
239
+ `*Generated: ${new Date().toLocaleDateString()}*`,
240
+ '',
241
+ '## Incident Response Process',
242
+ '',
243
+ '```mermaid',
244
+ 'graph LR',
245
+ ' A[Detect] --> B[Assess]',
246
+ ' B --> C[Triage]',
247
+ ' C --> D[Investigate]',
248
+ ' D --> E[Mitigate]',
249
+ ' E --> F[Resolve]',
250
+ ' F --> G[Post-mortem]',
251
+ '```',
252
+ '',
253
+ '## Incident Severity Levels',
254
+ '',
255
+ '| Level | Description | Response | Examples |',
256
+ '|-------|-------------|----------|----------|',
257
+ '| SEV1 | Critical - Complete outage | Immediate, all hands | Service unreachable |',
258
+ '| SEV2 | Major - Partial outage | < 30 min, on-call | Degraded performance |',
259
+ '| SEV3 | Minor - Limited impact | < 4 hours | Feature unavailable |',
260
+ '| SEV4 | Low - Minimal impact | Next business day | Minor bug |',
261
+ '',
262
+ '## Incident Template',
263
+ '',
264
+ '### Incident Report: [TITLE]',
265
+ '',
266
+ '**Date**: YYYY-MM-DD',
267
+ '**Severity**: SEV[1-4]',
268
+ '**Duration**: X hours',
269
+ '**Impact**: [Description of impact]',
270
+ '',
271
+ '#### Timeline',
272
+ '',
273
+ '| Time | Event |',
274
+ '|------|-------|',
275
+ '| HH:MM | Issue detected |',
276
+ '| HH:MM | Investigation started |',
277
+ '| HH:MM | Root cause identified |',
278
+ '| HH:MM | Mitigation applied |',
279
+ '| HH:MM | Resolved |',
280
+ '',
281
+ '#### Root Cause',
282
+ '',
283
+ '[Description of root cause]',
284
+ '',
285
+ '#### Resolution',
286
+ '',
287
+ '[Description of how it was resolved]',
288
+ '',
289
+ '#### Action Items',
290
+ '',
291
+ '- [ ] Prevent recurrence',
292
+ '- [ ] Improve detection',
293
+ '- [ ] Update documentation',
294
+ '',
295
+ '## Post-Mortem Process',
296
+ '',
297
+ '1. Schedule post-mortem within 48 hours',
298
+ '2. Gather all participants',
299
+ '3. Review timeline and facts',
300
+ '4. Identify root causes (5 Whys)',
301
+ '5. Define action items',
302
+ '6. Document and share learnings',
303
+ '',
304
+ '---',
305
+ `*Last updated: ${new Date().toISOString()}*`,
306
+ ];
307
+ const filePath = path.join(this.opsPath, 'INCIDENT-HISTORY.md');
308
+ fs.writeFileSync(filePath, lines.join('\n'));
309
+ return { file: filePath };
310
+ }
311
+ /**
312
+ * Generate SLA documentation
313
+ */
314
+ async generateSLADocs() {
315
+ const lines = [
316
+ '# Service Level Agreements (SLA)',
317
+ '',
318
+ `*Generated: ${new Date().toLocaleDateString()}*`,
319
+ '',
320
+ '## SLA Overview',
321
+ '',
322
+ '| Service | Target | Current | Status |',
323
+ '|---------|--------|---------|--------|',
324
+ '| Availability | 99.9% | TBD | 🟡 |',
325
+ '| Response Time (p95) | < 200ms | TBD | 🟡 |',
326
+ '| Error Rate | < 0.1% | TBD | 🟡 |',
327
+ '',
328
+ '## Definitions',
329
+ '',
330
+ '### Availability',
331
+ '',
332
+ 'Percentage of time the service is operational and accessible.',
333
+ '',
334
+ '| Target | Monthly Downtime |',
335
+ '|--------|-----------------|',
336
+ '| 99.9% | 43.8 minutes |',
337
+ '| 99.95% | 21.9 minutes |',
338
+ '| 99.99% | 4.38 minutes |',
339
+ '',
340
+ '### Response Time',
341
+ '',
342
+ 'Time from request receipt to response delivery.',
343
+ '',
344
+ '| Percentile | Target |',
345
+ '|------------|--------|',
346
+ '| p50 | < 50ms |',
347
+ '| p95 | < 200ms |',
348
+ '| p99 | < 500ms |',
349
+ '',
350
+ '### Error Rate',
351
+ '',
352
+ 'Percentage of requests resulting in 5xx errors.',
353
+ '',
354
+ '## Error Budget',
355
+ '',
356
+ '```',
357
+ 'Monthly Error Budget = (100% - SLA Target) * Total Minutes',
358
+ '',
359
+ 'For 99.9% SLA:',
360
+ 'Error Budget = 0.1% * 43,200 minutes = 43.2 minutes/month',
361
+ '```',
362
+ '',
363
+ '## Measurement',
364
+ '',
365
+ '- **Tool**: [Prometheus/Datadog/etc.]',
366
+ '- **Dashboard**: [Link to monitoring dashboard]',
367
+ '- **Reporting**: Monthly SLA report',
368
+ '',
369
+ '---',
370
+ `*Last updated: ${new Date().toISOString()}*`,
371
+ ];
372
+ const filePath = path.join(this.opsPath, 'SLA-TRACKING.md');
373
+ fs.writeFileSync(filePath, lines.join('\n'));
374
+ return { file: filePath };
375
+ }
376
+ // Helper methods
377
+ parseHookScript(filePath) {
378
+ try {
379
+ const content = fs.readFileSync(filePath, 'utf-8');
380
+ const name = path.basename(filePath, '.sh');
381
+ // Extract description from first comment block
382
+ const descMatch = content.match(/^#\s*(.+)/m);
383
+ const description = descMatch ? descMatch[1] : `Script: ${name}`;
384
+ // Extract major steps from comments
385
+ const steps = [];
386
+ const stepMatches = content.match(/^#\s*\d+[\.\)]\s*(.+)/gm);
387
+ if (stepMatches) {
388
+ for (const match of stepMatches) {
389
+ steps.push(match.replace(/^#\s*\d+[\.\)]\s*/, ''));
390
+ }
391
+ }
392
+ return { name, description, steps };
393
+ }
394
+ catch {
395
+ return null;
396
+ }
397
+ }
398
+ generateStandardRunbooks() {
399
+ const runbooks = [];
400
+ // Check for npm project
401
+ if (fs.existsSync(path.join(this.projectPath, 'package.json'))) {
402
+ runbooks.push({
403
+ name: 'Application Restart',
404
+ description: 'Steps to safely restart the application',
405
+ type: 'standard',
406
+ steps: [
407
+ 'Check current service health',
408
+ 'Notify stakeholders',
409
+ 'Stop the service: `npm stop` or `systemctl stop app`',
410
+ 'Clear cache if needed: `npm cache clean --force`',
411
+ 'Start the service: `npm start` or `systemctl start app`',
412
+ 'Verify health: check logs and health endpoint',
413
+ 'Notify stakeholders of completion',
414
+ ],
415
+ });
416
+ runbooks.push({
417
+ name: 'Dependency Update',
418
+ description: 'Process for updating npm dependencies',
419
+ type: 'standard',
420
+ steps: [
421
+ 'Create a new branch: `git checkout -b deps-update`',
422
+ 'Check for updates: `npm outdated`',
423
+ 'Update dependencies: `npm update`',
424
+ 'Run tests: `npm test`',
425
+ 'Review changes: `git diff package-lock.json`',
426
+ 'Commit and create PR',
427
+ ],
428
+ });
429
+ }
430
+ // Check for Docker
431
+ if (fs.existsSync(path.join(this.projectPath, 'Dockerfile'))) {
432
+ runbooks.push({
433
+ name: 'Container Restart',
434
+ description: 'Steps to restart Docker containers',
435
+ type: 'standard',
436
+ steps: [
437
+ 'Check container status: `docker ps`',
438
+ 'Stop container: `docker-compose stop` or `docker stop <id>`',
439
+ 'Remove container (optional): `docker rm <id>`',
440
+ 'Rebuild if needed: `docker-compose build`',
441
+ 'Start container: `docker-compose up -d`',
442
+ 'Verify logs: `docker logs -f <id>`',
443
+ ],
444
+ });
445
+ }
446
+ // Add cleanup runbook
447
+ runbooks.push({
448
+ name: 'Cache Cleanup',
449
+ description: 'Clear various caches to resolve issues',
450
+ type: 'standard',
451
+ steps: [
452
+ 'Clear npm cache: `npm cache clean --force`',
453
+ 'Clear build artifacts: `rm -rf dist/ build/`',
454
+ 'Clear node_modules if needed: `rm -rf node_modules && npm install`',
455
+ 'Clear SpecWeave cache: `rm -rf .specweave/cache/`',
456
+ 'Restart the application',
457
+ ],
458
+ });
459
+ return runbooks;
460
+ }
461
+ }
462
+ //# sourceMappingURL=ops-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ops-generator.js","sourceRoot":"","sources":["../../../../../src/core/living-docs/operations/ops-generator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.34.5",
3
+ "version": "0.34.6",
4
4
  "description": "Spec-driven development framework for Claude Code. AI-native workflow with living documentation, intelligent agents, and multilingual support (9 languages). Enterprise-grade traceability with permanent specs and temporary increments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",