specweave 1.0.147 → 1.0.150

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 (40) hide show
  1. package/CLAUDE.md +91 -72
  2. package/README.md +5 -1
  3. package/dist/src/cli/commands/export-skills.d.ts.map +1 -1
  4. package/dist/src/cli/commands/export-skills.js.map +1 -1
  5. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  6. package/dist/src/core/living-docs/living-docs-sync.js +48 -1
  7. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  8. package/dist/src/core/living-docs/sync-helpers/generators.d.ts.map +1 -1
  9. package/dist/src/core/living-docs/sync-helpers/generators.js +19 -0
  10. package/dist/src/core/living-docs/sync-helpers/generators.js.map +1 -1
  11. package/dist/src/core/plugins/plugin-loader.d.ts +2 -2
  12. package/dist/src/core/plugins/plugin-loader.d.ts.map +1 -1
  13. package/dist/src/core/plugins/plugin-loader.js +6 -14
  14. package/dist/src/core/plugins/plugin-loader.js.map +1 -1
  15. package/dist/src/core/types/plugin.d.ts +0 -7
  16. package/dist/src/core/types/plugin.d.ts.map +1 -1
  17. package/dist/src/core/types/plugin.js.map +1 -1
  18. package/dist/src/utils/image-generator.d.ts +315 -0
  19. package/dist/src/utils/image-generator.d.ts.map +1 -0
  20. package/dist/src/utils/image-generator.js +579 -0
  21. package/dist/src/utils/image-generator.js.map +1 -0
  22. package/package.json +1 -1
  23. package/plugins/specweave/hooks/hooks.json +4 -0
  24. package/plugins/specweave/hooks/stop-sync.sh +200 -0
  25. package/plugins/specweave/hooks/v2/detectors/us-completion-detector.sh +6 -0
  26. package/plugins/specweave/hooks/v2/dispatchers/post-tool-use.sh +41 -30
  27. package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +8 -20
  28. package/plugins/specweave/hooks/v2/queue/enqueue.sh +31 -29
  29. package/plugins/specweave/scripts/cleanup-legacy-state.sh +80 -0
  30. package/plugins/specweave/scripts/force-kill.sh +7 -16
  31. package/plugins/specweave/skills/docs-writer/SKILL.md +98 -0
  32. package/plugins/specweave/skills/export-skills/SKILL.md +0 -2
  33. package/plugins/specweave/skills/increment-planner/SKILL.md +0 -2
  34. package/plugins/specweave/skills/living-docs-navigator/SKILL.md +120 -0
  35. package/plugins/specweave-docs/skills/stakeholder-docs/SKILL.md +244 -0
  36. package/plugins/specweave-testing/skills/image-generation/SKILL.md +83 -0
  37. package/plugins/specweave-ui/skills/image-generation/SKILL.md +57 -0
  38. package/src/templates/CLAUDE.md.template +54 -0
  39. package/plugins/specweave/hooks/v2/queue/dequeue.sh +0 -34
  40. package/plugins/specweave/hooks/v2/queue/processor.sh +0 -247
package/CLAUDE.md CHANGED
@@ -1,10 +1,64 @@
1
- <!-- SW:META template="claude" version="1.0.147" sections="header,start,autodetect,metarule,rules,workflow,reflect,context,structure,taskformat,secrets,syncing,testing,tdd,api,limits,troubleshooting,lazyloading,principles,linking,mcp,auto,docs" -->
1
+ <!-- SW:META template="claude" version="1.0.150" sections="header,claude-code-concepts,start,autodetect,metarule,rules,workflow,reflect,context,structure,taskformat,secrets,syncing,testing,tdd,api,limits,troubleshooting,lazyloading,principles,linking,mcp,auto,docs" -->
2
2
 
3
- <!-- SW:SECTION:header version="1.0.146" -->
3
+ <!-- SW:SECTION:header version="1.0.149" -->
4
4
  **Framework**: SpecWeave | **Truth**: `spec.md` + `tasks.md`
5
5
  <!-- SW:END:header -->
6
6
 
7
- <!-- SW:SECTION:start version="1.0.146" -->
7
+ <!-- SW:SECTION:claude-code-concepts version="1.0.150" -->
8
+ ## Claude Code Concepts (2.1.3+)
9
+
10
+ **Skills and slash commands are now unified.** Both file formats create the same `/name` command:
11
+ - `.claude/commands/review.md` → `/review`
12
+ - `.claude/skills/review/SKILL.md` → `/review`
13
+
14
+ ### Core Concepts
15
+
16
+ | Concept | What It Is | How to Use |
17
+ |---------|------------|------------|
18
+ | **Skills** | Reusable instructions in SKILL.md | `/skill-name` or auto-invoke via keywords |
19
+ | **Plugins** | Packages with skills, agents, hooks | `claude plugin install sw@specweave` |
20
+ | **Agents** | Isolated subagents with own context | Task tool or `context: fork` in skill |
21
+
22
+ ### Skill Invocation Control (Frontmatter)
23
+
24
+ | Frontmatter | User Can Invoke | Claude Can Invoke | Use Case |
25
+ |-------------|-----------------|-------------------|----------|
26
+ | (default) | Yes | Yes | Most skills |
27
+ | `disable-model-invocation: true` | Yes | **No** | Workflows with side effects (`/deploy`) |
28
+ | `user-invocable: false` | **No** | Yes | Background knowledge |
29
+
30
+ ### SpecWeave Skill Organization
31
+
32
+ ```
33
+ plugins/specweave/
34
+ ├── commands/ # User-invocable workflows (have hooks)
35
+ │ ├── do.md # → /sw:do (execute tasks)
36
+ │ ├── done.md # → /sw:done (close increment)
37
+ │ └── status.md # → /sw:status
38
+ └── skills/ # Auto-activating expertise (keyword-triggered)
39
+ ├── architect/ # → activates on "architecture", "system design"
40
+ ├── pm/ # → activates on "product", "requirements", "MVP"
41
+ └── tech-lead/ # → activates on "code review", "best practices"
42
+ ```
43
+
44
+ ### Quick Examples
45
+
46
+ ```bash
47
+ # Explicit invocation (user types command)
48
+ /sw:do # Execute tasks
49
+ /sw:increment "auth feature" # Plan increment
50
+
51
+ # Auto-activation (Claude detects keywords, loads skill)
52
+ "Design the auth architecture" # → architect skill
53
+ "Help me plan this product" # → PM skill
54
+ ```
55
+
56
+ ### Key Insight
57
+
58
+ **Old "commands" are just skills with `disable-model-invocation: true`** - they only respond to explicit `/name` invocation, not keyword detection.
59
+ <!-- SW:END:claude-code-concepts -->
60
+
61
+ <!-- SW:SECTION:start version="1.0.149" -->
8
62
  ## Getting Started
9
63
 
10
64
  **Initial increment**: `0001-project-setup` (auto-created by `specweave init`)
@@ -14,33 +68,17 @@
14
68
  2. **Customize**: Edit spec.md and use for setup tasks
15
69
  <!-- SW:END:start -->
16
70
 
17
- <!-- SW:SECTION:autodetect version="1.0.147" -->
18
- ## Auto-Detection & Increment Assist (v1.0.147)
19
-
20
- SpecWeave auto-detects when to suggest creating increments (~100ms, keyword-based):
21
-
22
- **CREATE increment for**:
23
- | Signal | Example |
24
- |--------|---------|
25
- | New features | "build X", "create Y", "add feature Z" |
26
- | Refactoring | "refactor X", "migrate to Y", "restructure Z" |
27
- | Architecture | "design", "set up", "initialize" |
28
- | Bug fixes (non-trivial) | "fix the login bug", "debug authentication" |
29
- | Hotfixes | "hotfix", "urgent", "production bug" |
30
-
31
- **SKIP increment for**:
32
- | Signal | Example |
33
- |--------|---------|
34
- | Questions | "how do I...", "what is...", "explain..." |
35
- | Exploration | "show me...", "find...", "search for..." |
36
- | Commands | "run tests", "build", "deploy" |
37
- | Small fixes | "fix typo", "update version", "change port" |
38
- | Already in workflow | `/sw:*` commands |
39
-
40
- **Disable**: Set `incrementAssist.enabled: false` in `.specweave/config.json`
71
+ <!-- SW:SECTION:autodetect version="1.0.149" -->
72
+ ## Auto-Detection
73
+
74
+ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
75
+
76
+ **Signals** (5+ = auto-route): Project name | Features list (3+) | Tech stack | Timeline/MVP | Problem statement | Business model
77
+
78
+ **Opt-out phrases**: "Just brainstorm first" | "Don't plan yet" | "Quick discussion" | "Let's explore ideas"
41
79
  <!-- SW:END:autodetect -->
42
80
 
43
- <!-- SW:SECTION:metarule version="1.0.146" -->
81
+ <!-- SW:SECTION:metarule version="1.0.149" -->
44
82
  ## Meta-Rule: Think-Before-Act
45
83
 
46
84
  **Satisfy dependencies BEFORE dependent operations.**
@@ -51,7 +89,7 @@ SpecWeave auto-detects when to suggest creating increments (~100ms, keyword-base
51
89
  ```
52
90
  <!-- SW:END:metarule -->
53
91
 
54
- <!-- SW:SECTION:rules version="1.0.146" -->
92
+ <!-- SW:SECTION:rules version="1.0.149" -->
55
93
  ## Rules
56
94
 
57
95
  1. **Files** → `.specweave/increments/####-name/` (see Structure section for details)
@@ -62,7 +100,7 @@ SpecWeave auto-detects when to suggest creating increments (~100ms, keyword-base
62
100
  6. **⛔ Marketplace refresh**: Use `specweave refresh-marketplace` CLI (not `scripts/refresh-marketplace.sh`)
63
101
  <!-- SW:END:rules -->
64
102
 
65
- <!-- SW:SECTION:workflow version="1.0.146" -->
103
+ <!-- SW:SECTION:workflow version="1.0.149" -->
66
104
  ## Workflow
67
105
 
68
106
  `/sw:increment "X"` → `/sw:do` → `/sw:progress` → `/sw:done 0001`
@@ -82,7 +120,7 @@ SpecWeave auto-detects when to suggest creating increments (~100ms, keyword-base
82
120
  **Natural language**: "Let's build X" → `/sw:increment` | "What's status?" → `/sw:progress` | "We're done" → `/sw:done` | "Ship while sleeping" → `/sw:auto`
83
121
  <!-- SW:END:workflow -->
84
122
 
85
- <!-- SW:SECTION:reflect version="1.0.146" -->
123
+ <!-- SW:SECTION:reflect version="1.0.149" -->
86
124
  ## Skill Memories
87
125
 
88
126
  SpecWeave learns from corrections. Learnings saved here automatically. Edit or delete as needed.
@@ -95,7 +133,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
95
133
  <!-- Auto-captured by SpecWeave reflect. Edit or delete as needed. -->
96
134
  <!-- Learnings are organized by skill name. User edits override SpecWeave defaults. -->
97
135
 
98
- <!-- SW:SECTION:context version="1.0.146" -->
136
+ <!-- SW:SECTION:context version="1.0.149" -->
99
137
  ## Context
100
138
 
101
139
  **Before implementing**: Check ADRs at `.specweave/docs/internal/architecture/adr/`
@@ -103,7 +141,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
103
141
  **Load context**: `/sw:context <topic>` loads relevant living docs into conversation
104
142
  <!-- SW:END:context -->
105
143
 
106
- <!-- SW:SECTION:structure version="1.0.146" -->
144
+ <!-- SW:SECTION:structure version="1.0.149" -->
107
145
  ## Structure
108
146
 
109
147
  ```
@@ -118,7 +156,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
118
156
  **Everything else → subfolders**: `reports/` | `logs/` | `scripts/` | `backups/`
119
157
  <!-- SW:END:structure -->
120
158
 
121
- <!-- SW:SECTION:taskformat version="1.0.146" -->
159
+ <!-- SW:SECTION:taskformat version="1.0.149" -->
122
160
  ## Task Format
123
161
 
124
162
  ```markdown
@@ -128,7 +166,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
128
166
  ```
129
167
  <!-- SW:END:taskformat -->
130
168
 
131
- <!-- SW:SECTION:secrets version="1.0.146" -->
169
+ <!-- SW:SECTION:secrets version="1.0.149" -->
132
170
  ## Secrets Check
133
171
 
134
172
  **BEFORE CLI tools**: Check existing config first!
@@ -142,7 +180,7 @@ gh auth status
142
180
  **SECURITY**: NEVER use `grep TOKEN .env` without `-q` flag - it exposes credentials in terminal!
143
181
  <!-- SW:END:secrets -->
144
182
 
145
- <!-- SW:SECTION:syncing version="1.0.146" -->
183
+ <!-- SW:SECTION:syncing version="1.0.149" -->
146
184
  ## External Sync (GitHub/JIRA/ADO)
147
185
 
148
186
  **Commands**: `/sw-github:sync {id}` (issues) | `/sw:sync-specs` (living docs only)
@@ -152,7 +190,7 @@ gh auth status
152
190
  **Config**: Set `sync.github.enabled: true` + `canUpdateExternalItems: true` in config.json
153
191
  <!-- SW:END:syncing -->
154
192
 
155
- <!-- SW:SECTION:testing version="1.0.146" -->
193
+ <!-- SW:SECTION:testing version="1.0.149" -->
156
194
  ## Testing
157
195
 
158
196
  BDD in tasks.md | Unit >80% | `.test.ts` (Vitest)
@@ -164,7 +202,7 @@ vi.mock('./module', () => ({ func: mockFn }));
164
202
  ```
165
203
  <!-- SW:END:testing -->
166
204
 
167
- <!-- SW:SECTION:tdd version="1.0.146" -->
205
+ <!-- SW:SECTION:tdd version="1.0.149" -->
168
206
  ## TDD Mode (Test-Driven Development)
169
207
 
170
208
  **When `testing.defaultTestMode: "TDD"` is configured**, follow RED-GREEN-REFACTOR discipline:
@@ -225,7 +263,7 @@ When TDD is enabled, tasks include phase markers:
225
263
  **Rule**: Complete dependencies BEFORE dependent tasks (RED before GREEN).
226
264
  <!-- SW:END:tdd -->
227
265
 
228
- <!-- SW:SECTION:api version="1.0.146" -->
266
+ <!-- SW:SECTION:api version="1.0.149" -->
229
267
  ## API Development (OpenAPI-First)
230
268
 
231
269
  **For API projects only.** Commands: `/sw:api-docs --all` | `--openapi` | `--postman` | `--validate`
@@ -233,13 +271,13 @@ When TDD is enabled, tasks include phase markers:
233
271
  Enable in config: `{"apiDocs":{"enabled":true,"openApiPath":"openapi.yaml"}}`
234
272
  <!-- SW:END:api -->
235
273
 
236
- <!-- SW:SECTION:limits version="1.0.146" -->
274
+ <!-- SW:SECTION:limits version="1.0.149" -->
237
275
  ## Limits
238
276
 
239
277
  **Max 1500 lines/file** — extract before adding
240
278
  <!-- SW:END:limits -->
241
279
 
242
- <!-- SW:SECTION:troubleshooting version="1.0.146" -->
280
+ <!-- SW:SECTION:troubleshooting version="1.0.149" -->
243
281
  ## Troubleshooting
244
282
 
245
283
  | Issue | Fix |
@@ -255,40 +293,21 @@ Enable in config: `{"apiDocs":{"enabled":true,"openApiPath":"openapi.yaml"}}`
255
293
  | Marketplace shows 0 | Normal with auto-load; `/plugin list` shows actual |
256
294
  <!-- SW:END:troubleshooting -->
257
295
 
258
- <!-- SW:SECTION:lazyloading version="1.0.147" -->
259
- ## Plugin Auto-Loading (v1.0.147)
260
-
261
- Plugins load **synchronously** based on keywords (~200ms/plugin). Available for CURRENT prompt via Claude Code hot-reload.
262
-
263
- **How it works**:
264
- 1. User prompt contains keyword (e.g., "react") → detected instantly
265
- 2. `claude plugin install sw-frontend@specweave` runs synchronously (~200ms)
266
- 3. Claude Code hot-reload picks up the plugin
267
- 4. Claude processes the prompt WITH the plugin's expertise
268
-
269
- **Keyword → Plugin mapping**:
270
- | Keywords | Plugin |
271
- |----------|--------|
272
- | react, vue, angular, frontend, dashboard | sw-frontend |
273
- | api, backend, database, express, graphql | sw-backend |
274
- | test, jest, vitest, playwright, tdd | sw-testing |
275
- | kubernetes, k8s, helm, eks, gke | sw-k8s |
276
- | docker, terraform, aws, azure, gcp | sw-infra |
277
- | github, pr, actions | sw-github |
278
- | jira | sw-jira |
279
- | kafka, confluent | sw-kafka |
280
- | stripe, paypal, payment | sw-payments |
281
-
282
- **Manual control**:
296
+ <!-- SW:SECTION:lazyloading version="1.0.149" -->
297
+ ## Plugin Auto-Loading
298
+
299
+ Plugins load automatically based on project type and keywords. Manual install if needed:
300
+
283
301
  ```bash
284
- claude plugin install sw-frontend@specweave # Install manually
302
+ claude plugin install sw-frontend@specweave # Install plugin
303
+ claude plugin list # Check installed
285
304
  export SPECWEAVE_DISABLE_AUTO_LOAD=1 # Disable auto-load
286
305
  ```
287
306
 
288
307
  **Token savings**: Core ~3-5K tokens vs all plugins ~60K+
289
308
  <!-- SW:END:lazyloading -->
290
309
 
291
- <!-- SW:SECTION:principles version="1.0.146" -->
310
+ <!-- SW:SECTION:principles version="1.0.149" -->
292
311
  ## Principles
293
312
 
294
313
  1. **Spec-first**: `/sw:increment` before coding
@@ -297,7 +316,7 @@ export SPECWEAVE_DISABLE_AUTO_LOAD=1 # Disable auto-load
297
316
  4. **Traceable**: All work → specs → ACs
298
317
  <!-- SW:END:principles -->
299
318
 
300
- <!-- SW:SECTION:linking version="1.0.146" -->
319
+ <!-- SW:SECTION:linking version="1.0.149" -->
301
320
  ## Bidirectional Linking
302
321
 
303
322
  Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
@@ -305,7 +324,7 @@ Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
305
324
  Task format: `**AC**: AC-US1-01, AC-US1-02` (CRITICAL for linking)
306
325
  <!-- SW:END:linking -->
307
326
 
308
- <!-- SW:SECTION:mcp version="1.0.146" -->
327
+ <!-- SW:SECTION:mcp version="1.0.149" -->
309
328
  ## External Services
310
329
 
311
330
  **Priority**: CLI tools first (simpler) → MCP for complex integrations
@@ -327,7 +346,7 @@ claude mcp add --transport stdio postgres -- npx -y @modelcontextprotocol/server
327
346
  MCP supports lazy-loading (auto mode) - tools load on-demand when >10% context.
328
347
  <!-- SW:END:mcp -->
329
348
 
330
- <!-- SW:SECTION:auto version="1.0.146" -->
349
+ <!-- SW:SECTION:auto version="1.0.149" -->
331
350
  ## Auto Mode
332
351
 
333
352
  **Commands**: `/sw:auto` (start) | `/sw:auto-status` (check) | `/sw:cancel-auto` (emergency only)
@@ -344,7 +363,7 @@ MCP supports lazy-loading (auto mode) - tools load on-demand when >10% context.
344
363
  **STOP & ASK** if: Spec conflicts | Task unnecessary | Requirement ambiguous
345
364
  <!-- SW:END:auto -->
346
365
 
347
- <!-- SW:SECTION:docs version="1.0.146" -->
366
+ <!-- SW:SECTION:docs version="1.0.149" -->
348
367
  ## Docs
349
368
 
350
369
  [spec-weave.com](https://spec-weave.com)
package/README.md CHANGED
@@ -174,8 +174,12 @@ Then:
174
174
  | **JIRA** | Epics, stories, status sync |
175
175
  | **Azure DevOps** | Work items, area paths |
176
176
 
177
+ **Automatic sync**: When you close an increment (`/sw:done`), external tools update immediately. Task progress syncs at session end.
178
+
177
179
  ```bash
178
- /sw:sync-progress # Push updates to connected tools
180
+ /sw:sync-progress # Manual: Push updates to ALL tools
181
+ /sw-github:sync 0001 # Manual: Sync specific increment to GitHub
182
+ /sw-jira:sync 0001 # Manual: Sync specific increment to JIRA
179
183
  ```
180
184
 
181
185
  ---
@@ -1 +1 @@
1
- {"version":3,"file":"export-skills.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/export-skills.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiCH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAuID;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgI7F;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrF"}
1
+ {"version":3,"file":"export-skills.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/export-skills.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgCH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAuID;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgI7F;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"export-skills.js","sourceRoot":"","sources":["../../../../src/cli/commands/export-skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-skills.js","sourceRoot":"","sources":["../../../../src/cli/commands/export-skills.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"living-docs-sync.d.ts","sourceRoot":"","sources":["../../../../src/core/living-docs/living-docs-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAUH,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAQ9D,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAoBpB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAC;AAE5F,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,iBAAiB,CAA2B;gBAExC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IAYlE;;;;;;;OAOG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;OAKG;YACW,mBAAmB;IASjC;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAyUxF;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;YACW,wBAAwB;IAwDtC;;;;;;;;;OASG;IACH,OAAO,CAAC,8BAA8B;IA+BtC;;;;;;;;;;;;;OAaG;YACW,2BAA2B;IAmEzC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA6BhC;;OAEG;YACW,sBAAsB;IAKpC;;;;;;;;;;;;;;OAcG;YACW,kBAAkB;IAiIhC;;OAEG;YACW,uBAAuB;IAcrC;;OAEG;YACW,wBAAwB;IAmFtC;;;OAGG;YACW,sBAAsB;IAqGpC;;OAEG;YACW,iBAAiB;IA0C/B;;;;;;;;;;;OAWG;YACW,oBAAoB;IAwClC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,iBAAiB;IAwCzB;;OAEG;YACW,kBAAkB;IAuHhC;;;;OAIG;YACW,sBAAsB;IAkCpC;;OAEG;YACW,kBAAkB;IAmChC;;;;;;;;;;;;OAYG;YACW,mBAAmB;IA6EjC;;;;;;OAMG;IACH;;;;;;;;;;;OAWG;YACW,mBAAmB;IAyIjC;;;;;;;;;OASG;YACW,YAAY;IA0F1B;;;;;;;;;;;;OAYG;YACW,UAAU;IAyFxB;;;;;;;;;;;;OAYG;YACW,SAAS;IAyFvB;;;;;;;;;OASG;YACW,4BAA4B;CAmB3C"}
1
+ {"version":3,"file":"living-docs-sync.d.ts","sourceRoot":"","sources":["../../../../src/core/living-docs/living-docs-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAUH,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAQ9D,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,uBAAuB,EACxB,MAAM,YAAY,CAAC;AA4BpB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAC;AAE5F,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,iBAAiB,CAA2B;gBAExC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IAYlE;;;;;;;OAOG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;OAKG;YACW,mBAAmB;IASjC;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAwYxF;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;YACW,wBAAwB;IAwDtC;;;;;;;;;OASG;IACH,OAAO,CAAC,8BAA8B;IA+BtC;;;;;;;;;;;;;OAaG;YACW,2BAA2B;IAmEzC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA6BhC;;OAEG;YACW,sBAAsB;IAKpC;;;;;;;;;;;;;;OAcG;YACW,kBAAkB;IAiIhC;;OAEG;YACW,uBAAuB;IAcrC;;OAEG;YACW,wBAAwB;IAmFtC;;;OAGG;YACW,sBAAsB;IAqGpC;;OAEG;YACW,iBAAiB;IA0C/B;;;;;;;;;;;OAWG;YACW,oBAAoB;IAwClC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,iBAAiB;IAwCzB;;OAEG;YACW,kBAAkB;IAuHhC;;;;OAIG;YACW,sBAAsB;IAkCpC;;OAEG;YACW,kBAAkB;IAmChC;;;;;;;;;;;;OAYG;YACW,mBAAmB;IA6EjC;;;;;;OAMG;IACH;;;;;;;;;;;OAWG;YACW,mBAAmB;IAyIjC;;;;;;;;;OASG;YACW,YAAY;IA0F1B;;;;;;;;;;;;OAYG;YACW,UAAU;IAyFxB;;;;;;;;;;;;OAYG;YACW,SAAS;IAyFvB;;;;;;;;;OASG;YACW,4BAA4B;CAmB3C"}
@@ -33,6 +33,8 @@ import { deriveFeatureId, extractIncrementNumber } from '../../utils/feature-id-
33
33
  import { getProfilesByProvider } from '../types/sync-profile.js';
34
34
  // Import extracted helpers
35
35
  import { calculateUSStatus, extractUserStories, extractAcceptanceCriteria, generateFeatureFile, generateUserStoryFile, pathExists, readJson, ensureDir, findExistingUserStoryFile, cleanupDuplicateFiles, cleanupTempFiles, } from './sync-helpers/index.js';
36
+ // Image generation for living docs (v1.0.148+)
37
+ import { generateLivingDocsImagesEnhanced, getRelativeImagePath, markdownImage, } from '../../utils/image-generator.js';
36
38
  export class LivingDocsSync {
37
39
  constructor(projectRoot, options = {}) {
38
40
  this.projectRoot = projectRoot;
@@ -194,6 +196,26 @@ export class LivingDocsSync {
194
196
  if (crossRefs) {
195
197
  featureContent += crossRefs;
196
198
  }
199
+ // Generate feature illustration image for cross-project (v1.0.148+)
200
+ // Detect doc context: internal by default (living docs are internal)
201
+ const skipImageGen = process.env.SPECWEAVE_SKIP_IMAGE_GEN === 'true';
202
+ const docContext = crossProjectPath.includes('/public/') ? 'public' : 'internal';
203
+ if (!skipImageGen) {
204
+ try {
205
+ const crossProjectFeatureFile = path.join(crossProjectPath, 'FEATURE.md');
206
+ const imageResult = await generateLivingDocsImagesEnhanced(crossProjectPath, parsed.title, featureId, docContext);
207
+ if (imageResult.featureImage) {
208
+ const imagePath = getRelativeImagePath(crossProjectFeatureFile, imageResult.featureImage);
209
+ const imageMarkdown = markdownImage(`${parsed.title} illustration`, imagePath);
210
+ featureContent = featureContent.replace(/^(## TL;DR\n\n(?:[^\n]+\n)*\n)/m, `$1${imageMarkdown}\n\n`);
211
+ this.logger.log(` 🖼️ Generated ${docContext} feature illustration: ${path.basename(imageResult.featureImage)}`);
212
+ result.filesCreated.push(imageResult.featureImage);
213
+ }
214
+ }
215
+ catch (imgError) {
216
+ this.logger.log(` ⚠️ Image generation skipped: ${imgError}`);
217
+ }
218
+ }
197
219
  await fs.writeFile(path.join(crossProjectPath, 'FEATURE.md'), featureContent, 'utf-8');
198
220
  result.filesCreated.push(path.join(crossProjectPath, 'FEATURE.md'));
199
221
  // Create user story files for this target path
@@ -275,7 +297,32 @@ export class LivingDocsSync {
275
297
  }
276
298
  if (!options.dryRun) {
277
299
  await ensureDir(projectPath);
278
- const featureContent = generateFeatureFile(featureId, parsed, incrementId);
300
+ let featureContent = generateFeatureFile(featureId, parsed, incrementId);
301
+ // Generate feature illustration image (v1.0.148+)
302
+ // Skip if SPECWEAVE_SKIP_IMAGE_GEN is set (for CI/testing)
303
+ // Enhanced in v1.0.149: Context-aware enterprise styling (public vs internal)
304
+ const skipImageGen = process.env.SPECWEAVE_SKIP_IMAGE_GEN === 'true';
305
+ if (!skipImageGen) {
306
+ try {
307
+ // Detect document context based on path for enterprise-appropriate styling
308
+ const docContext = projectPath.includes('/public/') ? 'public' : 'internal';
309
+ const imageResult = await generateLivingDocsImagesEnhanced(projectPath, parsed.title, featureId, docContext);
310
+ if (imageResult.featureImage) {
311
+ // Add image reference to feature content (after TL;DR section)
312
+ const imagePath = getRelativeImagePath(featureFile, imageResult.featureImage);
313
+ const imageMarkdown = markdownImage(`${parsed.title} illustration`, imagePath);
314
+ // Insert after ## TL;DR section
315
+ featureContent = featureContent.replace(/^(## TL;DR\n\n(?:[^\n]+\n)*\n)/m, `$1${imageMarkdown}\n\n`);
316
+ const styleLabel = docContext === 'public' ? 'marketing-grade' : 'functional';
317
+ this.logger.log(` 🖼️ Generated ${styleLabel} feature illustration: ${path.basename(imageResult.featureImage)}`);
318
+ result.filesCreated.push(imageResult.featureImage);
319
+ }
320
+ }
321
+ catch (imgError) {
322
+ // Image generation is non-blocking - log but continue
323
+ this.logger.log(` ⚠️ Image generation skipped: ${imgError}`);
324
+ }
325
+ }
279
326
  await fs.writeFile(featureFile, featureContent, 'utf-8');
280
327
  result.filesCreated.push(featureFile);
281
328
  }