specweave 1.0.99 → 1.0.101
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.
- package/CLAUDE.md +74 -66
- package/README.md +61 -30
- package/dist/src/cli/commands/merge-skill-memories.d.ts +36 -0
- package/dist/src/cli/commands/merge-skill-memories.d.ts.map +1 -0
- package/dist/src/cli/commands/merge-skill-memories.js +188 -0
- package/dist/src/cli/commands/merge-skill-memories.js.map +1 -0
- package/dist/src/cli/commands/refresh-marketplace.d.ts +2 -1
- package/dist/src/cli/commands/refresh-marketplace.d.ts.map +1 -1
- package/dist/src/cli/commands/refresh-marketplace.js +29 -3
- package/dist/src/cli/commands/refresh-marketplace.js.map +1 -1
- package/dist/src/core/reflection/index.d.ts +62 -0
- package/dist/src/core/reflection/index.d.ts.map +1 -0
- package/dist/src/core/reflection/index.js +65 -0
- package/dist/src/core/reflection/index.js.map +1 -0
- package/dist/src/core/reflection/skill-memory-merger.d.ts +96 -0
- package/dist/src/core/reflection/skill-memory-merger.d.ts.map +1 -0
- package/dist/src/core/reflection/skill-memory-merger.js +390 -0
- package/dist/src/core/reflection/skill-memory-merger.js.map +1 -0
- package/dist/src/core/reflection/skill-memory-paths.d.ts +97 -0
- package/dist/src/core/reflection/skill-memory-paths.d.ts.map +1 -0
- package/dist/src/core/reflection/skill-memory-paths.js +197 -0
- package/dist/src/core/reflection/skill-memory-paths.js.map +1 -0
- package/dist/src/core/reflection/skill-reflection-manager.d.ts +103 -0
- package/dist/src/core/reflection/skill-reflection-manager.d.ts.map +1 -0
- package/dist/src/core/reflection/skill-reflection-manager.js +353 -0
- package/dist/src/core/reflection/skill-reflection-manager.js.map +1 -0
- package/package.json +1 -1
- package/plugins/specweave/hooks/stop-auto.sh +171 -132
- package/plugins/specweave/scripts/reflect.sh +424 -49
- package/plugins/specweave/skills/architect/SKILL.md +87 -0
- package/plugins/specweave/skills/code-standards-detective/SKILL.md +123 -0
- package/plugins/specweave/skills/docs-writer/SKILL.md +111 -0
- package/plugins/specweave/skills/infrastructure/SKILL.md +85 -0
- package/plugins/specweave/skills/performance/SKILL.md +110 -0
- package/plugins/specweave/skills/pm/SKILL.md +77 -0
- package/plugins/specweave/skills/pm/phases/01-research.md +80 -0
- package/plugins/specweave/skills/pm/phases/02-spec-creation.md +104 -0
- package/plugins/specweave/skills/pm/phases/03-validation.md +89 -0
- package/plugins/specweave/skills/pm/templates/spec-template.md +111 -0
- package/plugins/specweave/skills/qa-lead/SKILL.md +75 -0
- package/plugins/specweave/skills/reflect/SKILL.md +316 -191
- package/plugins/specweave/skills/reflective-reviewer/SKILL.md +109 -0
- package/plugins/specweave/skills/security/SKILL.md +85 -0
- package/plugins/specweave/skills/tdd-orchestrator/SKILL.md +90 -0
- package/plugins/specweave/skills/tech-lead/SKILL.md +77 -0
- package/plugins/specweave/skills/test-aware-planner/SKILL.md +104 -0
- package/src/templates/CLAUDE.md.template +2 -0
- package/plugins/specweave/agents/architect/AGENT.md +0 -618
- package/plugins/specweave/agents/code-standards-detective/AGENT.md +0 -939
- package/plugins/specweave/agents/docs-writer/AGENT.md +0 -391
- package/plugins/specweave/agents/infrastructure/AGENT.md +0 -918
- package/plugins/specweave/agents/performance/AGENT.md +0 -293
- package/plugins/specweave/agents/pm/AGENT.md +0 -1980
- package/plugins/specweave/agents/pm/templates/increment-spec.md +0 -158
- package/plugins/specweave/agents/pm/templates/living-docs-spec.md +0 -113
- package/plugins/specweave/agents/qa-lead/AGENT.md +0 -207
- package/plugins/specweave/agents/reflective-reviewer/AGENT.md +0 -556
- package/plugins/specweave/agents/security/AGENT.md +0 -243
- package/plugins/specweave/agents/tdd-orchestrator/AGENT.md +0 -312
- package/plugins/specweave/agents/tech-lead/AGENT.md +0 -428
- package/plugins/specweave/agents/test-aware-planner/AGENT.md +0 -1231
- package/plugins/specweave/agents/test-aware-planner/templates/README.md +0 -118
- package/plugins/specweave/agents/test-aware-planner/templates/task-non-testable.md.template +0 -36
- package/plugins/specweave/agents/test-aware-planner/templates/task-testable.md.template +0 -65
- package/plugins/specweave/agents/test-aware-planner/templates/tasks-frontmatter.md.template +0 -11
- package/plugins/specweave/agents/translator/AGENT.md +0 -427
package/CLAUDE.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
<!-- SW:META template="claude" version="1.0.
|
|
1
|
+
<!-- SW:META template="claude" version="1.0.99" sections="header,start,autodetect,metarule,rules,workflow,reflect,context,lsp,structure,taskformat,secrets,syncing,mapping,testing,api,limits,troubleshooting,principles,linking,mcp,autoexecute,auto,docs" -->
|
|
2
2
|
|
|
3
|
-
<!-- SW:SECTION:header version="1.0.
|
|
3
|
+
<!-- SW:SECTION:header version="1.0.99" -->
|
|
4
4
|
**Framework**: SpecWeave | **Truth**: `spec.md` + `tasks.md`
|
|
5
5
|
<!-- SW:END:header -->
|
|
6
6
|
|
|
7
|
-
<!-- SW:SECTION:start version="1.0.
|
|
7
|
+
<!-- SW:SECTION:start version="1.0.99" -->
|
|
8
8
|
## Getting Started
|
|
9
9
|
|
|
10
10
|
**Initial increment**: `0001-project-setup` (auto-created by `specweave init`)
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
2. **Customize**: Edit spec.md and use for setup tasks
|
|
15
15
|
<!-- SW:END:start -->
|
|
16
16
|
|
|
17
|
-
<!-- SW:SECTION:autodetect version="1.0.
|
|
17
|
+
<!-- SW:SECTION:autodetect version="1.0.99" -->
|
|
18
18
|
## Auto-Detection
|
|
19
19
|
|
|
20
20
|
SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
@@ -24,7 +24,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
24
24
|
**Opt-out phrases**: "Just brainstorm first" | "Don't plan yet" | "Quick discussion" | "Let's explore ideas"
|
|
25
25
|
<!-- SW:END:autodetect -->
|
|
26
26
|
|
|
27
|
-
<!-- SW:SECTION:metarule version="1.0.
|
|
27
|
+
<!-- SW:SECTION:metarule version="1.0.99" -->
|
|
28
28
|
## Meta-Rule: Think-Before-Act
|
|
29
29
|
|
|
30
30
|
**Satisfy dependencies BEFORE dependent operations.**
|
|
@@ -35,7 +35,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
35
35
|
```
|
|
36
36
|
<!-- SW:END:metarule -->
|
|
37
37
|
|
|
38
|
-
<!-- SW:SECTION:rules version="1.0.
|
|
38
|
+
<!-- SW:SECTION:rules version="1.0.99" -->
|
|
39
39
|
## Rules
|
|
40
40
|
|
|
41
41
|
1. **Files** → `.specweave/increments/####-name/` (spec.md, plan.md, tasks.md at root; reports/, scripts/, logs/ subfolders)
|
|
@@ -45,9 +45,10 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
45
45
|
5. **Root clean**: NEVER create .md/reports/scripts in project root → use increment folders
|
|
46
46
|
6. **⛔ Increment cleanliness**: ONLY 4 files at increment root (metadata.json, spec.md, plan.md, tasks.md). ALL other .md files → `reports/`, logs → `logs/`, scripts → `scripts/`
|
|
47
47
|
7. **⛔ Initialization guard**: `.specweave/` folders MUST ONLY exist where `specweave init` was run. NEVER create `.specweave/` in parent, nested, or unrelated directories. Check `config.json` exists before creating ANY `.specweave/` subfolders.
|
|
48
|
+
8. **⛔ Marketplace refresh**: ALWAYS use `specweave refresh-marketplace` CLI command. NEVER suggest `scripts/refresh-marketplace.sh` - end users don't have the scripts folder (npm global install).
|
|
48
49
|
<!-- SW:END:rules -->
|
|
49
50
|
|
|
50
|
-
<!-- SW:SECTION:workflow version="1.0.
|
|
51
|
+
<!-- SW:SECTION:workflow version="1.0.99" -->
|
|
51
52
|
## Workflow
|
|
52
53
|
|
|
53
54
|
`/sw:increment "X"` → `/sw:do` → `/sw:progress` → `/sw:done 0001`
|
|
@@ -67,7 +68,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
67
68
|
**Natural language**: "Let's build X" → `/sw:increment` | "What's status?" → `/sw:progress` | "We're done" → `/sw:done` | "Ship while sleeping" → `/sw:auto`
|
|
68
69
|
<!-- SW:END:workflow -->
|
|
69
70
|
|
|
70
|
-
<!-- SW:SECTION:reflect version="1.0.
|
|
71
|
+
<!-- SW:SECTION:reflect version="1.0.99" -->
|
|
71
72
|
## Self-Improving Skills (Reflect)
|
|
72
73
|
|
|
73
74
|
**Learn once, never repeat.** Claude learns from corrections and patterns across sessions.
|
|
@@ -111,7 +112,7 @@ ls ~/.specweave/memory/*.md 2>/dev/null
|
|
|
111
112
|
**Enable auto-learning**: `/sw:reflect-on` → Stop hook analyzes sessions automatically
|
|
112
113
|
<!-- SW:END:reflect -->
|
|
113
114
|
|
|
114
|
-
<!-- SW:SECTION:context version="1.0.
|
|
115
|
+
<!-- SW:SECTION:context version="1.0.99" -->
|
|
115
116
|
## Living Docs Context
|
|
116
117
|
|
|
117
118
|
**Before implementing features**: Check existing docs for patterns and decisions.
|
|
@@ -131,7 +132,7 @@ grep -ril "keyword" .specweave/docs/internal/
|
|
|
131
132
|
**Use `/sw:context <topic>`** to load relevant living docs into conversation.
|
|
132
133
|
<!-- SW:END:context -->
|
|
133
134
|
|
|
134
|
-
<!-- SW:SECTION:lsp version="1.0.
|
|
135
|
+
<!-- SW:SECTION:lsp version="1.0.99" -->
|
|
135
136
|
## LSP-Enhanced Exploration
|
|
136
137
|
|
|
137
138
|
**USE LSP ACTIVELY** for semantic code understanding (100x faster than grep).
|
|
@@ -148,7 +149,7 @@ go install golang.org/x/tools/gopls@latest # Go
|
|
|
148
149
|
**Best Practices**: ALWAYS use `findReferences` before refactoring | Use `goToDefinition` instead of grep | Combine with Explore agent
|
|
149
150
|
<!-- SW:END:lsp -->
|
|
150
151
|
|
|
151
|
-
<!-- SW:SECTION:structure version="1.0.
|
|
152
|
+
<!-- SW:SECTION:structure version="1.0.99" -->
|
|
152
153
|
## Structure
|
|
153
154
|
|
|
154
155
|
```
|
|
@@ -218,7 +219,7 @@ my-project/
|
|
|
218
219
|
```
|
|
219
220
|
<!-- SW:END:structure -->
|
|
220
221
|
|
|
221
|
-
<!-- SW:SECTION:taskformat version="1.0.
|
|
222
|
+
<!-- SW:SECTION:taskformat version="1.0.99" -->
|
|
222
223
|
## Task Format
|
|
223
224
|
|
|
224
225
|
```markdown
|
|
@@ -228,7 +229,7 @@ my-project/
|
|
|
228
229
|
```
|
|
229
230
|
<!-- SW:END:taskformat -->
|
|
230
231
|
|
|
231
|
-
<!-- SW:SECTION:secrets version="1.0.
|
|
232
|
+
<!-- SW:SECTION:secrets version="1.0.99" -->
|
|
232
233
|
## Secrets Check
|
|
233
234
|
|
|
234
235
|
**BEFORE CLI tools**: Check existing config first!
|
|
@@ -239,7 +240,7 @@ gh auth status
|
|
|
239
240
|
```
|
|
240
241
|
<!-- SW:END:secrets -->
|
|
241
242
|
|
|
242
|
-
<!-- SW:SECTION:syncing version="1.0.
|
|
243
|
+
<!-- SW:SECTION:syncing version="1.0.99" -->
|
|
243
244
|
## External Sync (GitHub/JIRA/ADO)
|
|
244
245
|
|
|
245
246
|
**After increment creation**: Run `/sw-github:sync {id}` to create issues!
|
|
@@ -267,7 +268,7 @@ Living docs sync ≠ External sync. They are separate:
|
|
|
267
268
|
**Verify tokens**: `grep GITHUB_TOKEN .env` | `gh auth status`
|
|
268
269
|
<!-- SW:END:syncing -->
|
|
269
270
|
|
|
270
|
-
<!-- SW:SECTION:mapping version="1.0.
|
|
271
|
+
<!-- SW:SECTION:mapping version="1.0.99" -->
|
|
271
272
|
## GitHub Mapping
|
|
272
273
|
|
|
273
274
|
| SpecWeave | GitHub |
|
|
@@ -277,7 +278,7 @@ Living docs sync ≠ External sync. They are separate:
|
|
|
277
278
|
| Task T-XXX | Checkbox |
|
|
278
279
|
<!-- SW:END:mapping -->
|
|
279
280
|
|
|
280
|
-
<!-- SW:SECTION:testing version="1.0.
|
|
281
|
+
<!-- SW:SECTION:testing version="1.0.99" -->
|
|
281
282
|
## Testing
|
|
282
283
|
|
|
283
284
|
BDD in tasks.md | Unit >80% | `.test.ts` (Vitest)
|
|
@@ -289,7 +290,7 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
|
|
|
289
290
|
```
|
|
290
291
|
<!-- SW:END:testing -->
|
|
291
292
|
|
|
292
|
-
<!-- SW:SECTION:api version="1.0.
|
|
293
|
+
<!-- SW:SECTION:api version="1.0.99" -->
|
|
293
294
|
## API Development (OpenAPI-First)
|
|
294
295
|
|
|
295
296
|
**For API projects only.** OpenAPI = source of truth → Postman derived from it.
|
|
@@ -308,18 +309,19 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
|
|
|
308
309
|
**Import**: Postman → Import collection + env → Fill secrets → Select env
|
|
309
310
|
<!-- SW:END:api -->
|
|
310
311
|
|
|
311
|
-
<!-- SW:SECTION:limits version="1.0.
|
|
312
|
+
<!-- SW:SECTION:limits version="1.0.99" -->
|
|
312
313
|
## Limits
|
|
313
314
|
|
|
314
315
|
**Max 1500 lines/file** — extract before adding
|
|
315
316
|
<!-- SW:END:limits -->
|
|
316
317
|
|
|
317
|
-
<!-- SW:SECTION:troubleshooting version="1.0.
|
|
318
|
+
<!-- SW:SECTION:troubleshooting version="1.0.99" -->
|
|
318
319
|
## Troubleshooting
|
|
319
320
|
|
|
320
321
|
| Issue | Fix |
|
|
321
322
|
|-------|-----|
|
|
322
323
|
| Skills missing | Restart Claude Code |
|
|
324
|
+
| Plugins outdated | `specweave refresh-marketplace` (NEVER use `scripts/refresh-marketplace.sh` - that's for contributors only!) |
|
|
323
325
|
| Commands gone | `/plugin list --installed` |
|
|
324
326
|
| Out of sync | `/sw:sync-tasks` |
|
|
325
327
|
| Find increment | `/sw:status` |
|
|
@@ -333,7 +335,7 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
|
|
|
333
335
|
| Path patterns not working | `//path` = absolute, `/path` = relative to settings file, `additionalDirectories` for explicit working dirs |
|
|
334
336
|
<!-- SW:END:troubleshooting -->
|
|
335
337
|
|
|
336
|
-
<!-- SW:SECTION:principles version="1.0.
|
|
338
|
+
<!-- SW:SECTION:principles version="1.0.99" -->
|
|
337
339
|
## Principles
|
|
338
340
|
|
|
339
341
|
1. **Spec-first**: `/sw:increment` before coding
|
|
@@ -343,7 +345,7 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
|
|
|
343
345
|
5. **Clean**: All files in increment folders
|
|
344
346
|
<!-- SW:END:principles -->
|
|
345
347
|
|
|
346
|
-
<!-- SW:SECTION:linking version="1.0.
|
|
348
|
+
<!-- SW:SECTION:linking version="1.0.99" -->
|
|
347
349
|
## Bidirectional Linking
|
|
348
350
|
|
|
349
351
|
Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
|
|
@@ -351,7 +353,7 @@ Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
|
|
|
351
353
|
Task format: `**AC**: AC-US1-01, AC-US1-02` (CRITICAL for linking)
|
|
352
354
|
<!-- SW:END:linking -->
|
|
353
355
|
|
|
354
|
-
<!-- SW:SECTION:mcp version="1.0.
|
|
356
|
+
<!-- SW:SECTION:mcp version="1.0.99" -->
|
|
355
357
|
## External Service Connection
|
|
356
358
|
|
|
357
359
|
**Priority**: MCP Server → REST API → CLI → Direct Connection
|
|
@@ -375,7 +377,7 @@ wrangler whoami 2>/dev/null
|
|
|
375
377
|
```
|
|
376
378
|
<!-- SW:END:mcp -->
|
|
377
379
|
|
|
378
|
-
<!-- SW:SECTION:autoexecute version="1.0.
|
|
380
|
+
<!-- SW:SECTION:autoexecute version="1.0.99" -->
|
|
379
381
|
## Auto-Execute Rule
|
|
380
382
|
|
|
381
383
|
**NEVER** output "Manual Step Required" when credentials exist. **EXECUTE DIRECTLY.**
|
|
@@ -389,7 +391,7 @@ wrangler whoami 2>/dev/null && gh auth status 2>/dev/null
|
|
|
389
391
|
```
|
|
390
392
|
<!-- SW:END:autoexecute -->
|
|
391
393
|
|
|
392
|
-
<!-- SW:SECTION:auto version="1.0.
|
|
394
|
+
<!-- SW:SECTION:auto version="1.0.99" -->
|
|
393
395
|
## Auto Mode (Autonomous Execution)
|
|
394
396
|
|
|
395
397
|
**Continuous execution until all tasks complete.**
|
|
@@ -466,7 +468,7 @@ wrangler whoami 2>/dev/null && gh auth status 2>/dev/null
|
|
|
466
468
|
**Circuit Breaker**: External API fails 3x? Queue & continue
|
|
467
469
|
<!-- SW:END:auto -->
|
|
468
470
|
|
|
469
|
-
<!-- SW:SECTION:docs version="1.0.
|
|
471
|
+
<!-- SW:SECTION:docs version="1.0.99" -->
|
|
470
472
|
## Docs
|
|
471
473
|
|
|
472
474
|
[spec-weave.com](https://spec-weave.com) | `.specweave/docs/internal/`
|
|
@@ -667,65 +669,71 @@ project-root/
|
|
|
667
669
|
|
|
668
670
|
---
|
|
669
671
|
|
|
670
|
-
##
|
|
672
|
+
## Skills vs Agents (Automatic vs Explicit)
|
|
671
673
|
|
|
672
|
-
**SpecWeave
|
|
674
|
+
**SpecWeave provides expertise through Skills (auto-activate) and Agents (explicit spawn).**
|
|
673
675
|
|
|
674
|
-
|
|
676
|
+
### Skills (Auto-Activate)
|
|
675
677
|
|
|
676
|
-
|
|
678
|
+
Skills activate automatically based on keywords in user prompts. No action needed.
|
|
679
|
+
|
|
680
|
+
| Domain | Skill | Auto-Activates For |
|
|
681
|
+
|--------|-------|-------------------|
|
|
682
|
+
| **Architecture** | `sw:architect` | system design, ADR, technical design, patterns |
|
|
683
|
+
| **Tech Lead** | `sw:tech-lead` | code review, best practices, refactoring |
|
|
684
|
+
| **QA Lead** | `sw:qa-lead` | test strategy, QA, quality gates |
|
|
685
|
+
| **Security** | `sw:security` | security review, OWASP, auth, vulnerabilities |
|
|
686
|
+
| **Docs** | `sw:docs-writer` | documentation, README, API docs |
|
|
687
|
+
| **Infrastructure** | `sw:infrastructure` | Terraform IaC, serverless, cloud setup |
|
|
688
|
+
| **Performance** | `sw:performance` | optimization, profiling, caching |
|
|
689
|
+
| **TDD** | `sw:tdd-orchestrator` | TDD, red-green-refactor, test-first |
|
|
690
|
+
| **PM** | `sw:pm` | product planning, roadmap, requirements |
|
|
691
|
+
|
|
692
|
+
### Agents (Task Tool Spawn)
|
|
693
|
+
|
|
694
|
+
For complex, isolated tasks requiring specialized plugins, spawn via Task tool:
|
|
677
695
|
|
|
678
696
|
| Domain | Agent (`subagent_type`) | Triggers |
|
|
679
697
|
|--------|-------------------------|----------|
|
|
680
|
-
| **
|
|
681
|
-
| **
|
|
682
|
-
| **
|
|
683
|
-
| **
|
|
684
|
-
| **
|
|
685
|
-
| **
|
|
686
|
-
| **
|
|
687
|
-
| **
|
|
688
|
-
| **
|
|
689
|
-
| **
|
|
690
|
-
| **
|
|
691
|
-
| **
|
|
692
|
-
| **
|
|
693
|
-
| **
|
|
694
|
-
| **
|
|
695
|
-
| **
|
|
696
|
-
| **
|
|
697
|
-
| **
|
|
698
|
-
| **
|
|
699
|
-
| **Release** | `specweave-release:release-manager:release-manager` | release, version, changelog, npm publish |
|
|
700
|
-
| **GitHub** | `specweave-github:github-manager:github-manager` | GitHub issues, PRs, sync |
|
|
701
|
-
| **JIRA** | `specweave-jira:jira-manager:jira-manager` | JIRA, epics, stories, sync |
|
|
702
|
-
| **ADO** | `specweave-ado:ado-manager:ado-manager` | Azure DevOps, work items |
|
|
698
|
+
| **Frontend** | `sw-frontend:frontend-architect` | React, Vue, Next.js, components, UI |
|
|
699
|
+
| **Backend** | `sw-backend:database-optimizer` | API, database, microservices, SQL |
|
|
700
|
+
| **Kubernetes** | `sw-k8s:kubernetes-architect` | K8s, EKS, AKS, GKE, pods, helm, GitOps |
|
|
701
|
+
| **DevOps** | `sw-infra:devops` | Terraform, Docker, CI/CD, AWS, Azure, GCP |
|
|
702
|
+
| **Kafka** | `sw-kafka:kafka-architect` | Kafka, topics, event streaming, MSK |
|
|
703
|
+
| **Confluent** | `sw-confluent:confluent-architect` | Confluent Cloud, Schema Registry, ksqlDB |
|
|
704
|
+
| **Mobile** | `sw-mobile:mobile-architect` | React Native, iOS, Android |
|
|
705
|
+
| **ML/AI** | `sw-ml:ml-engineer` | ML, model, training, MLOps |
|
|
706
|
+
| **Data Science** | `sw-ml:data-scientist` | data analysis, notebooks, pandas |
|
|
707
|
+
| **Testing/QA** | `sw-testing:qa-engineer` | E2E, Playwright, Vitest, Jest, QA |
|
|
708
|
+
| **Observability** | `sw-infra:observability-engineer` | monitoring, Prometheus, Grafana, SLOs |
|
|
709
|
+
| **SRE** | `sw-infra:sre` | incidents, outages, production debugging |
|
|
710
|
+
| **Network** | `sw-infra:network-engineer` | networking, VPC, DNS, load balancing |
|
|
711
|
+
| **Diagrams** | `sw-diagrams:diagrams-architect` | Mermaid, C4, architecture diagrams |
|
|
712
|
+
| **Payments** | `sw-payments:payment-integration` | Stripe, PayPal, checkout, PCI |
|
|
713
|
+
| **Release** | `sw-release:release-manager` | release, version, changelog, npm publish |
|
|
714
|
+
| **GitHub** | `sw-github:github-manager` | GitHub issues, PRs, sync |
|
|
715
|
+
| **JIRA** | `sw-jira:jira-manager` | JIRA, epics, stories, sync |
|
|
716
|
+
| **ADO** | `sw-ado:ado-manager` | Azure DevOps, work items |
|
|
703
717
|
|
|
704
718
|
### Usage Pattern
|
|
705
719
|
|
|
706
720
|
```typescript
|
|
707
|
-
//
|
|
708
|
-
"
|
|
721
|
+
// Skills auto-activate - just describe what you need:
|
|
722
|
+
"Design the authentication system architecture" // → sw:architect activates
|
|
723
|
+
"Review my code for security issues" // → sw:security activates
|
|
709
724
|
|
|
710
|
-
//
|
|
725
|
+
// Agents spawn for isolated complex tasks:
|
|
711
726
|
Task({
|
|
712
|
-
subagent_type: "
|
|
727
|
+
subagent_type: "sw-k8s:kubernetes-architect",
|
|
713
728
|
prompt: "Create K8s manifests for a 3-tier web app with Ingress",
|
|
714
729
|
description: "K8s manifests design"
|
|
715
730
|
})
|
|
716
731
|
```
|
|
717
732
|
|
|
718
|
-
### When to Use
|
|
719
|
-
|
|
720
|
-
- **ANY architecture decisions** → `specweave:architect:architect`
|
|
721
|
-
- **Infrastructure/DevOps code** → `specweave-infrastructure:devops:devops`
|
|
722
|
-
- **K8s manifests/GitOps** → `specweave-kubernetes:kubernetes-architect:kubernetes-architect`
|
|
723
|
-
- **Frontend components** → `specweave-frontend:frontend-architect:frontend-architect`
|
|
724
|
-
- **Test strategy/E2E** → `specweave-testing:qa-engineer:qa-engineer`
|
|
725
|
-
- **Security review** → `specweave:security:security`
|
|
726
|
-
- **Performance tuning** → `specweave-infrastructure:performance-engineer:performance-engineer`
|
|
733
|
+
### When to Use What
|
|
727
734
|
|
|
728
|
-
**
|
|
735
|
+
- **Skills** (auto): Architecture decisions, code review, security review, documentation
|
|
736
|
+
- **Agents** (Task tool): Complex K8s/infra, frontend architecture, ML pipelines, external syncs
|
|
729
737
|
|
|
730
738
|
**Reference**: See `plugins/PLUGINS-INDEX.md` for full plugin catalog with triggers.
|
|
731
739
|
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
npm install -g specweave
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
> **New in v1.0.
|
|
18
|
+
> **New in v1.0.100**: Auto mode now shows live labels in your terminal — see exactly what SpecWeave is doing: `[Planning]`, `[Implementing]`, `[Testing]`, `[Fixing]`. Hours of autonomous execution with full visibility.
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
@@ -39,8 +39,19 @@ Every AI coding tool promises productivity. But after the chat ends:
|
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
41
|
/sw:increment "Add OAuth authentication" # Creates spec + plan + tasks
|
|
42
|
-
/sw:auto #
|
|
43
|
-
# ↑
|
|
42
|
+
/sw:auto # Autonomous execution for HOURS
|
|
43
|
+
# ↑ Watch live: [Planning] → [Implementing] → [Testing] → [Fixing] → [Done]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**What happens during `/sw:auto`:**
|
|
47
|
+
```
|
|
48
|
+
[08:23:41] [Planning] Analyzing T-003: Implement refresh token rotation
|
|
49
|
+
[08:24:12] [Implementing] Writing src/auth/token-manager.ts (127 lines)
|
|
50
|
+
[08:25:33] [Testing] Running npm test -- token-manager.test.ts
|
|
51
|
+
[08:25:47] [Fixing] Test failed: Expected 401, got 403. Adjusting...
|
|
52
|
+
[08:26:15] [Testing] Re-running tests... PASSED
|
|
53
|
+
[08:26:18] [Syncing] Updating tasks.md, pushing to GitHub
|
|
54
|
+
[08:26:22] [Done] T-003 complete. Moving to T-004...
|
|
44
55
|
```
|
|
45
56
|
|
|
46
57
|
**Or step-by-step control:**
|
|
@@ -53,30 +64,32 @@ Every AI coding tool promises productivity. But after the chat ends:
|
|
|
53
64
|
|
|
54
65
|
```
|
|
55
66
|
.specweave/increments/0001-oauth/
|
|
56
|
-
├── spec.md
|
|
57
|
-
├── plan.md
|
|
58
|
-
└── tasks.md
|
|
67
|
+
├── spec.md <- WHAT: User stories, acceptance criteria
|
|
68
|
+
├── plan.md <- HOW: Architecture decisions, tech choices
|
|
69
|
+
└── tasks.md <- DO: Implementation tasks with embedded tests
|
|
59
70
|
```
|
|
60
71
|
|
|
61
|
-
**After 6 months**: Search "OAuth"
|
|
72
|
+
**After 6 months**: Search "OAuth" -> find exact decisions, who approved, why it was built that way.
|
|
62
73
|
|
|
63
74
|
---
|
|
64
75
|
|
|
65
76
|
## Why SpecWeave vs BMAD, SpecKit, Cursor Rules?
|
|
66
77
|
|
|
67
|
-
| | [BMAD](https://github.com/bmad-code-org/BMAD-METHOD) | [SpecKit](https://github.com/github/spec-kit) | Cursor Rules | **SpecWeave** |
|
|
78
|
+
| Capability | [BMAD](https://github.com/bmad-code-org/BMAD-METHOD) | [SpecKit](https://github.com/github/spec-kit) | Cursor Rules | **SpecWeave** |
|
|
68
79
|
|---|---|---|---|---|
|
|
69
|
-
| **
|
|
70
|
-
| **Autonomous** |
|
|
71
|
-
| **
|
|
72
|
-
| **
|
|
73
|
-
| **
|
|
74
|
-
| **
|
|
75
|
-
| **
|
|
76
|
-
| **
|
|
77
|
-
| **
|
|
78
|
-
|
|
79
|
-
**
|
|
80
|
+
| **Maturity** | Alpha (v6) | Stable | Built-in | **Production (v1.0.100)** |
|
|
81
|
+
| **Autonomous Work** | Manual steps required | One-shot generation | Per-request only | **Hours unattended** |
|
|
82
|
+
| **Live Status** | None | None | None | **Terminal labels** |
|
|
83
|
+
| **Multi-Repo** | Single repo | Single repo | Single repo | **Coordinate N repos** |
|
|
84
|
+
| **Mobile Apps** | No agents | No agents | No agents | **React Native/Expo** |
|
|
85
|
+
| **External Sync** | None | None | None | **GitHub/JIRA/ADO** |
|
|
86
|
+
| **Brownfield** | Limited | Greenfield only | Any | **10-year legacy? Fine.** |
|
|
87
|
+
| **Quality Gates** | Not built-in | None | None | **3-gate validation** |
|
|
88
|
+
| **Living Docs** | Manual | Snapshot | None | **Auto-update** |
|
|
89
|
+
| **Self-Learning** | None | None | None | **Reflects on mistakes** |
|
|
90
|
+
| **Dogfooding** | Unknown | Unknown | N/A | **140+ self-built features** |
|
|
91
|
+
|
|
92
|
+
**The math**: SpecKit output = ONE SpecWeave increment. SpecWeave = N increments + lifecycle + sync + hooks + **hours of autonomous execution**.
|
|
80
93
|
|
|
81
94
|
---
|
|
82
95
|
|
|
@@ -96,7 +109,7 @@ Every AI coding tool promises productivity. But after the chat ends:
|
|
|
96
109
|
| DORA metrics | Live tracking |
|
|
97
110
|
| Test coverage | 60%+ enforced |
|
|
98
111
|
|
|
99
|
-
**[Browse our increments
|
|
112
|
+
**[Browse our increments ->](https://github.com/anton-abyzov/specweave/tree/develop/.specweave/increments)**
|
|
100
113
|
|
|
101
114
|
---
|
|
102
115
|
|
|
@@ -114,7 +127,7 @@ node --version
|
|
|
114
127
|
nvm install 22 && nvm use 22 && nvm alias default 22
|
|
115
128
|
```
|
|
116
129
|
|
|
117
|
-
>
|
|
130
|
+
> **Getting `SyntaxError: Unexpected token 'with'`?** Your Node.js is too old. See [upgrade instructions](https://spec-weave.com/docs/guides/troubleshooting/common-errors#node-version-error).
|
|
118
131
|
|
|
119
132
|
### Installation
|
|
120
133
|
|
|
@@ -127,7 +140,7 @@ specweave init .
|
|
|
127
140
|
Then in Claude Code:
|
|
128
141
|
```bash
|
|
129
142
|
/sw:increment "Add dark mode" # AI creates spec + plan + tasks
|
|
130
|
-
/sw:auto #
|
|
143
|
+
/sw:auto # Ship while you sleep (hours of autonomous work)
|
|
131
144
|
```
|
|
132
145
|
|
|
133
146
|
**Or step-by-step:**
|
|
@@ -142,12 +155,30 @@ specweave refresh-marketplace # Reinstall all plugins from GitHub
|
|
|
142
155
|
specweave update-instructions # Regenerate CLAUDE.md
|
|
143
156
|
```
|
|
144
157
|
|
|
145
|
-
**[Full Quickstart Guide
|
|
158
|
+
**[Full Quickstart Guide ->](https://spec-weave.com/docs/guides/getting-started/quickstart)**
|
|
146
159
|
|
|
147
160
|
---
|
|
148
161
|
|
|
149
162
|
## Key Features
|
|
150
163
|
|
|
164
|
+
### Autonomous Execution (v2.9)
|
|
165
|
+
|
|
166
|
+
Run for hours without intervention. See exactly what's happening:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
/sw:auto # Start autonomous mode
|
|
170
|
+
/sw:auto-status # Check progress anytime
|
|
171
|
+
/sw:cancel-auto # Emergency stop (rarely needed)
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**What you see in terminal:**
|
|
175
|
+
- `[Planning]` - Analyzing task requirements
|
|
176
|
+
- `[Implementing]` - Writing code
|
|
177
|
+
- `[Testing]` - Running test suites
|
|
178
|
+
- `[Fixing]` - Auto-correcting failures
|
|
179
|
+
- `[Syncing]` - Updating docs and external tools
|
|
180
|
+
- `[Done]` - Task complete, moving to next
|
|
181
|
+
|
|
151
182
|
### External Tool Integration
|
|
152
183
|
|
|
153
184
|
| Platform | Capabilities |
|
|
@@ -199,14 +230,14 @@ Three gates before any increment closes:
|
|
|
199
230
|
| Command | Purpose |
|
|
200
231
|
|---------|---------|
|
|
201
232
|
| `/sw:increment "feature"` | Create spec + plan + tasks |
|
|
202
|
-
| `/sw:auto` |
|
|
233
|
+
| `/sw:auto` | **Ship while you sleep** - hours of autonomous work |
|
|
234
|
+
| `/sw:auto-status` | Check autonomous session progress |
|
|
203
235
|
| `/sw:do` | Execute one task at a time |
|
|
204
236
|
| `/sw:done 0001` | Close with quality validation |
|
|
205
237
|
| `/sw:sync-progress` | Push to GitHub/JIRA/ADO |
|
|
206
|
-
| `/sw:auto-status` | Check autonomous session progress |
|
|
207
238
|
| `/sw:cancel-auto` | Stop autonomous session |
|
|
208
239
|
|
|
209
|
-
**[53 total commands
|
|
240
|
+
**[53 total commands ->](https://spec-weave.com/docs/commands/overview)**
|
|
210
241
|
|
|
211
242
|
---
|
|
212
243
|
|
|
@@ -214,9 +245,9 @@ Three gates before any increment closes:
|
|
|
214
245
|
|
|
215
246
|
| Scenario | What You Do |
|
|
216
247
|
|----------|-------------|
|
|
217
|
-
| **10-year legacy codebase** | `specweave init .`
|
|
218
|
-
| **Weekend MVP** | `specweave init .`
|
|
219
|
-
| **50-team enterprise** | `specweave init .`
|
|
248
|
+
| **10-year legacy codebase** | `specweave init .` -> brownfield analysis detects doc gaps |
|
|
249
|
+
| **Weekend MVP** | `specweave init .` -> `/sw:increment "Build auth"` |
|
|
250
|
+
| **50-team enterprise** | `specweave init .` -> `/sw:enable-multiproject` -> maps to JIRA/ADO |
|
|
220
251
|
|
|
221
252
|
---
|
|
222
253
|
|
|
@@ -226,7 +257,7 @@ Three gates before any increment closes:
|
|
|
226
257
|
- Any AI coding tool: Claude Code, Cursor, Windsurf, Cline, Aider, etc.
|
|
227
258
|
- Git repository
|
|
228
259
|
|
|
229
|
-
>
|
|
260
|
+
> **Why Node.js 20.12.0+?** SpecWeave uses modern JavaScript features (ES2022 Import Attributes) that require Node.js 20.12.0 or higher. If you see `SyntaxError: Unexpected token 'with'`, you need to upgrade Node.js.
|
|
230
261
|
|
|
231
262
|
---
|
|
232
263
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merge Skill Memories - Preserves user learnings during marketplace refresh
|
|
3
|
+
*
|
|
4
|
+
* This module handles the merging of skill memories when the marketplace is updated.
|
|
5
|
+
* It ensures that user learnings (stored in MEMORY.md files) are preserved while
|
|
6
|
+
* allowing new default learnings from the updated marketplace to be added.
|
|
7
|
+
*
|
|
8
|
+
* Architecture:
|
|
9
|
+
* - Each skill can have a MEMORY.md file with learnings
|
|
10
|
+
* - User learnings are ALWAYS preserved
|
|
11
|
+
* - Default learnings from new versions are merged in (deduplicated)
|
|
12
|
+
* - This runs during `specweave refresh-marketplace`
|
|
13
|
+
*/
|
|
14
|
+
import { type MergeResult } from '../../core/reflection/skill-memory-merger.js';
|
|
15
|
+
export interface SkillMemoryMergeResult {
|
|
16
|
+
skillsProcessed: number;
|
|
17
|
+
learningsPreserved: number;
|
|
18
|
+
learningsAdded: number;
|
|
19
|
+
learningsDeduped: number;
|
|
20
|
+
errors: string[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Merge skill memories during marketplace refresh
|
|
24
|
+
*
|
|
25
|
+
* This is called from refresh-marketplace command to preserve user learnings
|
|
26
|
+
* while updating skills from the marketplace.
|
|
27
|
+
*
|
|
28
|
+
* @param marketplacePath - Path to the updated marketplace (source of new skills)
|
|
29
|
+
* @param verbose - Whether to log detailed info
|
|
30
|
+
*/
|
|
31
|
+
export declare function mergeSkillMemoriesOnRefresh(marketplacePath: string, verbose?: boolean): Promise<SkillMemoryMergeResult>;
|
|
32
|
+
/**
|
|
33
|
+
* Merge memories for a single skill (can be called independently)
|
|
34
|
+
*/
|
|
35
|
+
export declare function mergeSkillMemory(skillName: string, sourcePath?: string, targetPath?: string): Promise<MergeResult>;
|
|
36
|
+
//# sourceMappingURL=merge-skill-memories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-skill-memories.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/merge-skill-memories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,8CAA8C,CAAC;AAGtD,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAgED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,eAAe,EAAE,MAAM,EACvB,OAAO,UAAQ,GACd,OAAO,CAAC,sBAAsB,CAAC,CAuFjC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,WAAW,CAAC,CA2CtB"}
|