specweave 0.9.0 → 0.10.0
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 +100 -13
- package/README.md +97 -207
- package/bin/install-agents.sh +1 -1
- package/bin/install-commands.sh +1 -1
- package/bin/install-hooks.sh +1 -1
- package/bin/install-skills.sh +1 -1
- package/bin/specweave.js +32 -0
- package/dist/cli/commands/validate-jira.d.ts +35 -0
- package/dist/cli/commands/validate-jira.d.ts.map +1 -0
- package/dist/cli/commands/validate-jira.js +112 -0
- package/dist/cli/commands/validate-jira.js.map +1 -0
- package/dist/cli/commands/validate-plugins.d.ts +41 -0
- package/dist/cli/commands/validate-plugins.d.ts.map +1 -0
- package/dist/cli/commands/validate-plugins.js +171 -0
- package/dist/cli/commands/validate-plugins.js.map +1 -0
- package/dist/core/types/sync-profile.d.ts +177 -29
- package/dist/core/types/sync-profile.d.ts.map +1 -1
- package/dist/core/types/sync-profile.js +48 -1
- package/dist/core/types/sync-profile.js.map +1 -1
- package/dist/hooks/lib/translate-living-docs.d.ts.map +1 -1
- package/dist/hooks/lib/translate-living-docs.js +16 -7
- package/dist/hooks/lib/translate-living-docs.js.map +1 -1
- package/dist/metrics/dora-calculator.d.ts +7 -3
- package/dist/metrics/dora-calculator.d.ts.map +1 -1
- package/dist/metrics/dora-calculator.js +19 -6
- package/dist/metrics/dora-calculator.js.map +1 -1
- package/dist/metrics/report-generator.d.ts +17 -0
- package/dist/metrics/report-generator.d.ts.map +1 -0
- package/dist/metrics/report-generator.js +403 -0
- package/dist/metrics/report-generator.js.map +1 -0
- package/dist/utils/external-resource-validator.d.ts +102 -0
- package/dist/utils/external-resource-validator.d.ts.map +1 -0
- package/dist/utils/external-resource-validator.js +381 -0
- package/dist/utils/external-resource-validator.js.map +1 -0
- package/dist/utils/plugin-validator.d.ts +161 -0
- package/dist/utils/plugin-validator.d.ts.map +1 -0
- package/dist/utils/plugin-validator.js +565 -0
- package/dist/utils/plugin-validator.js.map +1 -0
- package/package.json +2 -1
- package/plugins/specweave/commands/specweave-do.md +47 -0
- package/plugins/specweave/commands/specweave-increment.md +82 -0
- package/plugins/specweave/commands/specweave-next.md +47 -0
- package/plugins/specweave/hooks/post-increment-planning.sh +117 -38
- package/plugins/specweave/hooks/pre-tool-use.sh +133 -0
- package/plugins/specweave/plugin.json +22 -0
- package/plugins/specweave/skills/SKILLS-INDEX.md +3 -1
- package/plugins/specweave/skills/plugin-validator/SKILL.md +427 -0
- package/plugins/specweave-ado/.claude-plugin/plugin.json +2 -4
- package/plugins/specweave-ado/lib/ado-board-resolver.ts +328 -0
- package/plugins/specweave-ado/lib/ado-hierarchical-sync.ts +484 -0
- package/plugins/specweave-ado/plugin.json +20 -0
- package/plugins/specweave-alternatives/.claude-plugin/plugin.json +15 -2
- package/plugins/specweave-backend/.claude-plugin/plugin.json +15 -2
- package/plugins/specweave-cost-optimizer/.claude-plugin/plugin.json +14 -2
- package/plugins/specweave-diagrams/.claude-plugin/plugin.json +14 -2
- package/plugins/specweave-docs/.claude-plugin/plugin.json +13 -2
- package/plugins/specweave-figma/.claude-plugin/plugin.json +14 -2
- package/plugins/specweave-frontend/.claude-plugin/plugin.json +15 -2
- package/plugins/specweave-github/lib/github-board-resolver.ts +164 -0
- package/plugins/specweave-github/lib/github-hierarchical-sync.ts +344 -0
- package/plugins/specweave-github/plugin.json +19 -0
- package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +15 -2
- package/plugins/specweave-jira/.claude-plugin/plugin.json +14 -2
- package/plugins/specweave-jira/lib/jira-board-resolver.ts +127 -0
- package/plugins/specweave-jira/lib/jira-hierarchical-sync.ts +283 -0
- package/plugins/specweave-jira/plugin.json +20 -0
- package/plugins/specweave-jira/skills/jira-resource-validator/SKILL.md +584 -0
- package/plugins/specweave-kubernetes/.claude-plugin/plugin.json +14 -2
- package/plugins/specweave-payments/.claude-plugin/plugin.json +14 -2
- package/plugins/specweave-testing/.claude-plugin/plugin.json +14 -2
- package/plugins/specweave-tooling/.claude-plugin/plugin.json +13 -2
- package/src/templates/.env.example +71 -5
package/CLAUDE.md
CHANGED
|
@@ -1981,6 +1981,35 @@ Solution: Inactivity-based detection
|
|
|
1981
1981
|
- `INACTIVITY_THRESHOLD=15` - Seconds of inactivity to assume session ending (adjustable)
|
|
1982
1982
|
- `DEBOUNCE_SECONDS=2` - Prevents duplicate hook fires
|
|
1983
1983
|
|
|
1984
|
+
**Pre-Tool-Use Hook** (`.claude/hooks/pre-tool-use.sh`):
|
|
1985
|
+
|
|
1986
|
+
**Purpose**: Detect when Claude asks questions BEFORE task completion
|
|
1987
|
+
|
|
1988
|
+
**The Problem**: The post-task-completion hook only fires after TodoWrite events. If Claude asks a question via AskUserQuestion WITHOUT completing any tasks first, no sound plays and the user doesn't know Claude is waiting for input.
|
|
1989
|
+
|
|
1990
|
+
**The Solution**: The pre-tool-use hook fires BEFORE every tool call, allowing us to detect AskUserQuestion immediately.
|
|
1991
|
+
|
|
1992
|
+
**How It Works**:
|
|
1993
|
+
```
|
|
1994
|
+
Scenario 1: Question after task completion
|
|
1995
|
+
- 10:00:00 - Task completed (TodoWrite) → post-task-completion hook fires
|
|
1996
|
+
- 10:00:15 - Inactivity threshold reached → SOUND! ✅
|
|
1997
|
+
|
|
1998
|
+
Scenario 2: Question WITHOUT task completion (NEW!)
|
|
1999
|
+
- 10:00:00 - Claude calls AskUserQuestion → pre-tool-use hook fires
|
|
2000
|
+
- 10:00:00 - Detects tool_name="AskUserQuestion" → SOUND! ✅
|
|
2001
|
+
- User is notified IMMEDIATELY, not after 15s
|
|
2002
|
+
```
|
|
2003
|
+
|
|
2004
|
+
**Key Features**:
|
|
2005
|
+
- ✅ Fires BEFORE any tool call (PreToolUse event)
|
|
2006
|
+
- ✅ Filters for AskUserQuestion specifically
|
|
2007
|
+
- ✅ Plays distinctive sound (Tink.aiff on macOS, dialog-question.oga on Linux)
|
|
2008
|
+
- ✅ Non-blocking and fast (<10ms overhead)
|
|
2009
|
+
- ✅ Complements post-task-completion hook (both work together)
|
|
2010
|
+
|
|
2011
|
+
**Result**: Users are ALWAYS notified when Claude needs input, regardless of whether tasks have been completed or not.
|
|
2012
|
+
|
|
1984
2013
|
**Manual Actions** (Claude MUST do after each task):
|
|
1985
2014
|
- Update `CLAUDE.md` when structure changes
|
|
1986
2015
|
- Update `README.md` for user-facing changes
|
|
@@ -2713,30 +2742,54 @@ Your choice [1]:
|
|
|
2713
2742
|
|
|
2714
2743
|
### Translation Workflow (Multilingual Support)
|
|
2715
2744
|
|
|
2716
|
-
**SpecWeave supports multilingual development** via post-generation translation (Increment 0006).
|
|
2745
|
+
**SpecWeave supports multilingual development** via two-phase post-generation translation (Increment 0006).
|
|
2717
2746
|
|
|
2718
2747
|
**Key Concept**: Users work in their native language (great UX), system auto-translates to English (maintainable docs).
|
|
2719
2748
|
|
|
2749
|
+
**Two-Phase Translation Architecture**:
|
|
2750
|
+
|
|
2751
|
+
| Phase | Hook | What Gets Translated | When | Coverage |
|
|
2752
|
+
|-------|------|---------------------|------|----------|
|
|
2753
|
+
| **Phase 1** | post-increment-planning | Increment files + Living docs specs | After `/specweave:increment` | 80% of docs |
|
|
2754
|
+
| **Phase 2** | post-task-completion | ADRs, HLDs, diagrams | After each task completion | 20% of docs |
|
|
2755
|
+
|
|
2720
2756
|
**Workflow**:
|
|
2721
2757
|
|
|
2722
2758
|
```bash
|
|
2723
2759
|
# 1. User creates increment in Russian
|
|
2724
2760
|
/specweave:increment "Добавить пользовательскую аутентификацию"
|
|
2725
2761
|
|
|
2726
|
-
# 2. PM agent generates spec.md in Russian (natural, user-friendly)
|
|
2762
|
+
# 2. PM agent generates spec.md, plan.md, tasks.md in Russian (natural, user-friendly)
|
|
2727
2763
|
|
|
2728
|
-
# 3. post-increment-planning hook fires automatically
|
|
2729
|
-
#
|
|
2730
|
-
#
|
|
2731
|
-
#
|
|
2764
|
+
# 3. post-increment-planning hook fires automatically (PHASE 1)
|
|
2765
|
+
# Phase A: Translates increment files (spec.md, plan.md, tasks.md) to English
|
|
2766
|
+
# Phase B: Translates living docs specs to English (NEW!)
|
|
2767
|
+
# - .specweave/docs/internal/specs/spec-*.md
|
|
2768
|
+
# - .specweave/docs/internal/strategy/**/*.md
|
|
2769
|
+
# Cost: ~$0.02 total
|
|
2732
2770
|
|
|
2733
2771
|
# User sees:
|
|
2734
2772
|
# ✅ Increment created
|
|
2735
|
-
# 🌐 Detected Russian content. Translating to English...
|
|
2773
|
+
# 🌐 Detected Russian content. Translating increment files to English...
|
|
2736
2774
|
# 📄 spec.md... ✅
|
|
2737
2775
|
# 📄 plan.md... ✅
|
|
2738
2776
|
# 📄 tasks.md... ✅
|
|
2739
|
-
#
|
|
2777
|
+
# 🌐 Checking living docs for translation...
|
|
2778
|
+
# 📄 Living docs detected: spec-0001-user-auth.md
|
|
2779
|
+
# ✅ Translated 1 living docs file(s) to English
|
|
2780
|
+
# ✅ Translation complete!
|
|
2781
|
+
# Increment files: 3/3
|
|
2782
|
+
# Living docs: 1 file(s)
|
|
2783
|
+
# Estimated cost: ~$0.01-0.02 (using Haiku)
|
|
2784
|
+
|
|
2785
|
+
# 4. During implementation, architect creates ADRs in Russian
|
|
2786
|
+
|
|
2787
|
+
# 5. post-task-completion hook fires after each task (PHASE 2)
|
|
2788
|
+
# - Translates newly created ADRs to English
|
|
2789
|
+
# - Translates HLDs/diagrams to English
|
|
2790
|
+
# Cost: ~$0.01 per file
|
|
2791
|
+
|
|
2792
|
+
# Result: ALL documentation in English (100% coverage)
|
|
2740
2793
|
```
|
|
2741
2794
|
|
|
2742
2795
|
**Configuration** (`.specweave/config.json`):
|
|
@@ -2747,7 +2800,7 @@ Your choice [1]:
|
|
|
2747
2800
|
"translation": {
|
|
2748
2801
|
"enabled": true,
|
|
2749
2802
|
"autoTranslateInternalDocs": true,
|
|
2750
|
-
"autoTranslateLivingDocs":
|
|
2803
|
+
"autoTranslateLivingDocs": true,
|
|
2751
2804
|
"keepFrameworkTerms": true,
|
|
2752
2805
|
"keepTechnicalTerms": true,
|
|
2753
2806
|
"translationModel": "haiku"
|
|
@@ -2757,8 +2810,8 @@ Your choice [1]:
|
|
|
2757
2810
|
|
|
2758
2811
|
**Key Settings**:
|
|
2759
2812
|
- `language`: Primary language (en, ru, es, zh, de, fr, ja, ko, pt)
|
|
2760
|
-
- `autoTranslateInternalDocs`: Auto-translate
|
|
2761
|
-
- `autoTranslateLivingDocs`: Auto-translate ADRs/HLDs after task completion (default:
|
|
2813
|
+
- `autoTranslateInternalDocs`: Auto-translate increment files + living docs specs to English (default: true)
|
|
2814
|
+
- `autoTranslateLivingDocs`: Auto-translate ADRs/HLDs after task completion (default: true)
|
|
2762
2815
|
- `translationModel`: Model to use (haiku/sonnet/opus, default: haiku)
|
|
2763
2816
|
|
|
2764
2817
|
**Supported Languages**:
|
|
@@ -2772,7 +2825,9 @@ Your choice [1]:
|
|
|
2772
2825
|
- Korean (ko)
|
|
2773
2826
|
- Portuguese (pt)
|
|
2774
2827
|
|
|
2775
|
-
**Cost**: ~$0.
|
|
2828
|
+
**Cost**: ~$0.02 per increment (5-7 files, Haiku model)
|
|
2829
|
+
|
|
2830
|
+
**Coverage**: 100% (no gaps! All living docs translated)
|
|
2776
2831
|
|
|
2777
2832
|
**Implementation Details**:
|
|
2778
2833
|
- Language detection: Heuristic-based (<1ms, zero cost)
|
|
@@ -2792,10 +2847,42 @@ npm test -- tests/unit/i18n/translation.test.ts
|
|
|
2792
2847
|
**Files**:
|
|
2793
2848
|
- Utilities: `src/utils/translation.ts` (673 lines, 11 languages)
|
|
2794
2849
|
- CLI Script: `src/hooks/lib/translate-file.ts` (398 lines)
|
|
2795
|
-
- Hook: `plugins/specweave/hooks/post-increment-planning.sh` (
|
|
2850
|
+
- Hook (Phase 1): `plugins/specweave/hooks/post-increment-planning.sh` (~420 lines)
|
|
2851
|
+
- Hook (Phase 2): `src/hooks/lib/translate-living-docs.ts` (217 lines)
|
|
2796
2852
|
- Tests: `tests/unit/i18n/translation.test.ts` (705 lines, 67 tests)
|
|
2853
|
+
- E2E Tests: `tests/e2e/i18n/living-docs-translation.spec.ts` (6 test cases)
|
|
2797
2854
|
- Schema: `src/core/schemas/specweave-config.schema.json`
|
|
2798
2855
|
|
|
2856
|
+
**Migrating Existing Non-English Living Docs**:
|
|
2857
|
+
|
|
2858
|
+
For projects with existing non-English living docs, use the one-time migration script:
|
|
2859
|
+
|
|
2860
|
+
```bash
|
|
2861
|
+
# One-time migration (translates all living docs to English)
|
|
2862
|
+
bash scripts/migrate-living-docs-to-english.sh
|
|
2863
|
+
|
|
2864
|
+
# What it does:
|
|
2865
|
+
# - Scans .specweave/docs/internal/ for non-English files
|
|
2866
|
+
# - Translates each file to English (preserves code blocks, links, framework terms)
|
|
2867
|
+
# - Skips files already in English
|
|
2868
|
+
# - Non-blocking (continues even if some files fail)
|
|
2869
|
+
|
|
2870
|
+
# Estimated time: 1-2 minutes per 100 files
|
|
2871
|
+
# Estimated cost: ~$0.01 per file (using Haiku)
|
|
2872
|
+
```
|
|
2873
|
+
|
|
2874
|
+
**After migration**:
|
|
2875
|
+
```bash
|
|
2876
|
+
# Review translated files
|
|
2877
|
+
git diff .specweave/docs/internal/
|
|
2878
|
+
|
|
2879
|
+
# Commit changes
|
|
2880
|
+
git add . && git commit -m "docs: translate living docs to English"
|
|
2881
|
+
|
|
2882
|
+
# Future increments will auto-translate
|
|
2883
|
+
/specweave:increment "Добавить новую функцию" # Auto-translates!
|
|
2884
|
+
```
|
|
2885
|
+
|
|
2799
2886
|
---
|
|
2800
2887
|
|
|
2801
2888
|
## Troubleshooting
|
package/README.md
CHANGED
|
@@ -10,303 +10,193 @@
|
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
## The Problem
|
|
13
|
+
## The Problem
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
AI coding assistants made us **10x faster at shipping**, but **100x worse at maintaining**.
|
|
16
16
|
|
|
17
|
-
You spend 3 days updating
|
|
18
|
-
|
|
19
|
-
By day 4, the code has changed again.
|
|
17
|
+
Your AI writes features in 30 minutes. You spend 3 days updating docs. By day 4, the code changed again.
|
|
20
18
|
|
|
21
19
|
**The docs? Already wrong.**
|
|
22
20
|
|
|
23
21
|
---
|
|
24
22
|
|
|
25
|
-
## The
|
|
26
|
-
|
|
27
|
-
AI coding assistants made us:
|
|
28
|
-
- ✅ **10x faster at shipping**
|
|
29
|
-
- ❌ **100x worse at maintaining**
|
|
30
|
-
|
|
31
|
-
We're all "vibe coding" now. Fast. Fun. Chaotic.
|
|
32
|
-
|
|
33
|
-
No structure. No boundaries. No memory of why we built it this way.
|
|
34
|
-
|
|
35
|
-
New developers? Lost in 1 hour.
|
|
36
|
-
|
|
37
|
-
**This is not sustainable.**
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## The Fortune 500 Gap
|
|
42
|
-
|
|
43
|
-
Big companies don't have this problem.
|
|
44
|
-
|
|
45
|
-
They have systems:
|
|
46
|
-
- **PRDs** (Product Requirements) - What and why
|
|
47
|
-
- **HLDs** (High-Level Design) - Architecture decisions
|
|
48
|
-
- **ADRs** (Architecture Decision Records) - Why we chose X over Y
|
|
49
|
-
- **Runbooks** (Operations) - How to actually run this
|
|
50
|
-
- **Glossaries** (Terms) - What these acronyms mean
|
|
51
|
-
|
|
52
|
-
Their docs stay updated because there's a team, a process, a **discipline**.
|
|
53
|
-
|
|
54
|
-
But for solo developers and small teams?
|
|
55
|
-
|
|
56
|
-
**Impossible to maintain manually.**
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## What is SpecWeave?
|
|
23
|
+
## The Solution
|
|
61
24
|
|
|
62
25
|
**Fortune 500 discipline. Zero overhead. AI-native.**
|
|
63
26
|
|
|
64
|
-
SpecWeave
|
|
65
|
-
|
|
66
|
-
It's not just a tool. **It's a movement.**
|
|
27
|
+
SpecWeave brings enterprise-grade processes (PRDs, HLDs, ADRs, runbooks) to developers of any size—without the bureaucracy.
|
|
67
28
|
|
|
68
29
|
> *"Dad, AI writes your code but you update docs MANUALLY?"*
|
|
69
30
|
> — My 14-year-old daughter (who was absolutely right)
|
|
70
31
|
|
|
71
|
-
**
|
|
72
|
-
- Living docs that ACTUALLY stay synced (automatically)
|
|
73
|
-
- Complete knowledge system (PRDs, HLDs, ADRs, glossaries, runbooks)
|
|
74
|
-
- Tests embedded in tasks (BDD format, full traceability)
|
|
75
|
-
- Enterprise structure without enterprise overhead
|
|
76
|
-
- **Vibe coding... but with boundaries**
|
|
32
|
+
**Living docs that ACTUALLY stay synced** - Automatically updated after every task. No manual intervention.
|
|
77
33
|
|
|
78
34
|
---
|
|
79
35
|
|
|
80
|
-
##
|
|
81
|
-
|
|
82
|
-
**BEFORE (Vibe Coding):**
|
|
83
|
-
- "I think we used JWT tokens?"
|
|
84
|
-
- "Why did we choose PostgreSQL again?"
|
|
85
|
-
- "What does this acronym mean?"
|
|
86
|
-
- New developer: **Lost in 1 hour**
|
|
36
|
+
## Works for Both
|
|
87
37
|
|
|
88
|
-
**
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
- New developer: **Productive in 1 hour**
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## 📊 Engineering Metrics (DORA)
|
|
38
|
+
**🌱 Greenfield** (New Projects)
|
|
39
|
+
- Start with best practices from day one
|
|
40
|
+
- Spec-driven development from the beginning
|
|
41
|
+
- Clean, documented, maintainable
|
|
97
42
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
43
|
+
**🏭 Brownfield** (Existing Projects)
|
|
44
|
+
- Import docs from Notion, Confluence, Wiki
|
|
45
|
+
- AI-powered classification (85%+ accuracy)
|
|
46
|
+
- Gradual migration without disruption
|
|
102
47
|
|
|
103
|
-
[
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## 📖 Full Documentation
|
|
108
|
-
|
|
109
|
-
**For complete guides, tutorials, and API reference:**
|
|
110
|
-
|
|
111
|
-
### **[spec-weave.com](https://spec-weave.com)**
|
|
48
|
+
**[→ Brownfield Import Guide](https://spec-weave.com/docs/workflows/brownfield)**
|
|
112
49
|
|
|
113
50
|
---
|
|
114
51
|
|
|
115
52
|
## Quick Start
|
|
116
53
|
|
|
54
|
+
### Greenfield (New Project)
|
|
117
55
|
```bash
|
|
118
|
-
# Install SpecWeave
|
|
56
|
+
# Install SpecWeave
|
|
119
57
|
npm install -g specweave
|
|
120
58
|
|
|
121
|
-
# Initialize
|
|
59
|
+
# Initialize new project
|
|
122
60
|
specweave init my-project
|
|
123
61
|
cd my-project
|
|
124
62
|
|
|
125
|
-
# Start building
|
|
63
|
+
# Start building
|
|
126
64
|
/specweave:increment "User authentication" # Plan increment
|
|
127
|
-
/specweave:do # Implement tasks
|
|
65
|
+
/specweave:do # Implement tasks
|
|
128
66
|
/specweave:done 0001 # Complete increment
|
|
129
67
|
```
|
|
130
68
|
|
|
131
|
-
|
|
69
|
+
### Brownfield (Existing Project)
|
|
70
|
+
```bash
|
|
71
|
+
# Initialize SpecWeave in existing project
|
|
72
|
+
cd my-existing-project
|
|
73
|
+
specweave init .
|
|
132
74
|
|
|
133
|
-
|
|
75
|
+
# Import existing docs
|
|
76
|
+
/specweave:import-docs ~/Downloads/notion-export --source=notion
|
|
134
77
|
|
|
135
|
-
|
|
78
|
+
# Continue normally
|
|
79
|
+
/specweave:increment "Add dark mode"
|
|
80
|
+
```
|
|
136
81
|
|
|
137
|
-
|
|
138
|
-
Embedded test plans in every task with BDD format (Given/When/Then) for clarity
|
|
82
|
+
**[→ Complete Quickstart Guide](https://spec-weave.com/docs/guides/getting-started/quickstart)**
|
|
139
83
|
|
|
140
|
-
|
|
141
|
-
Cannot start increment N+1 until N is DONE - enforces completion before moving forward
|
|
84
|
+
---
|
|
142
85
|
|
|
143
|
-
|
|
144
|
-
Automatically detects when you're blocked (missing API keys, waiting for approval), pauses work with clear context, and resumes when ready - no manual intervention needed
|
|
86
|
+
## Real-World Example
|
|
145
87
|
|
|
146
|
-
|
|
147
|
-
Auto-updates after every task via Claude Code hooks - never outdated
|
|
88
|
+
**Scenario**: Building authentication for SaaS app
|
|
148
89
|
|
|
149
|
-
|
|
150
|
-
|
|
90
|
+
```bash
|
|
91
|
+
# 1. Plan increment (PM Agent creates spec with user stories)
|
|
92
|
+
/specweave:increment "User authentication with OAuth"
|
|
151
93
|
|
|
94
|
+
# Result:
|
|
95
|
+
# ✅ spec.md - User stories, acceptance criteria
|
|
96
|
+
# ✅ plan.md - Architecture, implementation steps
|
|
97
|
+
# ✅ tasks.md - Tasks with embedded tests (BDD format)
|
|
152
98
|
|
|
153
|
-
|
|
99
|
+
# 2. Implement (auto-pauses if blocked, resumes when ready)
|
|
100
|
+
/specweave:do
|
|
154
101
|
|
|
155
|
-
|
|
102
|
+
# While you work:
|
|
103
|
+
# - Living docs sync automatically after each task
|
|
104
|
+
# - Tests embedded in tasks guide implementation
|
|
105
|
+
# - ADRs document "why we chose X over Y"
|
|
106
|
+
# - GitHub issues auto-sync (optional)
|
|
156
107
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
- **11 Languages**: English, Russian, Spanish, Chinese, German, French, Japanese, Korean, Portuguese, Arabic, Hebrew
|
|
160
|
-
- **Any Model**: Claude, GPT-4, Gemini, DeepSeek, and more
|
|
161
|
-
- **Any Tool**: Claude Code, Cursor, Copilot, ChatGPT
|
|
108
|
+
# 3. Complete (Quality Judge validates)
|
|
109
|
+
/specweave:done 0001
|
|
162
110
|
|
|
163
|
-
|
|
111
|
+
# Result:
|
|
112
|
+
# ✅ Code implemented
|
|
113
|
+
# ✅ Tests passing (90% coverage)
|
|
114
|
+
# ✅ Docs synced (ADRs, HLDs, runbooks)
|
|
115
|
+
# ✅ GitHub issues updated
|
|
116
|
+
# ✅ New dev can onboard in 1 hour (not 1 week!)
|
|
117
|
+
```
|
|
164
118
|
|
|
165
119
|
---
|
|
166
120
|
|
|
167
|
-
##
|
|
168
|
-
|
|
169
|
-
### 🏢 Multi-Project Support (v0.8.0+)
|
|
170
|
-
|
|
171
|
-
Organize documentation by team, repo, or microservice:
|
|
172
|
-
|
|
173
|
-
- **Team-Based Organization**: Frontend, Backend, Mobile, Platform teams with separate documentation
|
|
174
|
-
- **Microservices Architecture**: Each service gets its own specs, modules, and team playbooks
|
|
175
|
-
- **Per-Project Sync**: Link projects to different GitHub repos, JIRA projects, or ADO boards
|
|
176
|
-
- **Unified Architecture**: Single project = multi-project with 1 project (NO special cases!)
|
|
177
|
-
|
|
178
|
-
**Five Documentation Types Per Project**:
|
|
179
|
-
1. **specs/** - Living documentation specs (user stories, AC)
|
|
180
|
-
2. **modules/** - Module/component documentation (architecture, APIs)
|
|
181
|
-
3. **team/** - Team playbooks (onboarding, conventions, workflows)
|
|
182
|
-
4. **architecture/** - Project-specific ADRs (optional)
|
|
183
|
-
5. **legacy/** - Brownfield imports (temporary)
|
|
184
|
-
|
|
185
|
-
**[→ Multi-Project Setup Guide](https://spec-weave.com/docs/guides/multi-project-setup)**
|
|
121
|
+
## 📊 Engineering Metrics (DORA)
|
|
186
122
|
|
|
187
|
-
|
|
123
|
+
[](https://github.com/anton-abyzov/specweave/blob/develop/.specweave/docs/internal/delivery/dora-metrics.md)
|
|
124
|
+
[](https://github.com/anton-abyzov/specweave/blob/develop/.specweave/docs/internal/delivery/dora-metrics.md)
|
|
125
|
+
[](https://github.com/anton-abyzov/specweave/blob/develop/.specweave/docs/internal/delivery/dora-metrics.md)
|
|
126
|
+
[](https://github.com/anton-abyzov/specweave/blob/develop/.specweave/docs/internal/delivery/dora-metrics.md)
|
|
188
127
|
|
|
189
|
-
|
|
128
|
+
**[→ Live Dashboard](https://spec-weave.com/docs/metrics)** | **[→ Detailed Report](https://github.com/anton-abyzov/specweave/blob/develop/metrics/dora-report.md)**
|
|
190
129
|
|
|
191
|
-
|
|
192
|
-
- **Supported Sources**: Notion, Confluence, GitHub Wiki, custom markdown folders
|
|
193
|
-
- **Smart Organization**: Classifies into specs, modules, team docs, or legacy
|
|
194
|
-
- **Migration Reports**: Complete audit trail with confidence scores and manual review checklist
|
|
130
|
+
---
|
|
195
131
|
|
|
196
|
-
|
|
197
|
-
```bash
|
|
198
|
-
# Import Notion export to web-app project
|
|
199
|
-
/specweave:import-docs ~/Downloads/notion-export --source=notion --project=web-app
|
|
132
|
+
## Key Features
|
|
200
133
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
134
|
+
- 🧪 **Test-Aware Planning** - Embedded tests in BDD format (Given/When/Then)
|
|
135
|
+
- 🎯 **Disciplined Progress** - Can't start increment N+1 until N is DONE
|
|
136
|
+
- ⏸️ **Intelligent Pausing** - Auto-detects blockers, pauses with context, resumes when ready
|
|
137
|
+
- 📚 **Living Documentation** - Auto-updates after every task (no manual sync!)
|
|
138
|
+
- 🤖 **AI Agents** - PM, Architect, Quality Judge guide your work
|
|
139
|
+
- 🌍 **Multilingual** - Work in 11 languages (FREE translation)
|
|
140
|
+
- 🏢 **Multi-Project** - Organize by team/repo/microservice
|
|
141
|
+
- 🔗 **Issue Tracker Sync** - GitHub, Jira, Azure DevOps integration
|
|
208
142
|
|
|
209
|
-
**[→
|
|
143
|
+
**[→ Complete Feature List](https://spec-weave.com/docs/overview/features)**
|
|
210
144
|
|
|
211
145
|
---
|
|
212
146
|
|
|
213
|
-
## Documentation
|
|
147
|
+
## 📖 Documentation
|
|
214
148
|
|
|
215
|
-
**
|
|
216
|
-
- 📘 [What is SpecWeave?](https://spec-weave.com/docs/overview/introduction)
|
|
217
|
-
- 🚀 [Quickstart Guide](https://spec-weave.com/docs/guides/getting-started/quickstart)
|
|
218
|
-
- 🏗️ [Complete Workflow Journey](https://spec-weave.com/docs/workflows/overview)
|
|
219
|
-
- ❓ [FAQ - Common Questions](https://spec-weave.com/docs/faq)
|
|
149
|
+
**Complete guides, tutorials, and API reference:**
|
|
220
150
|
|
|
221
|
-
**
|
|
222
|
-
- 📋 [Commands Reference](https://spec-weave.com/docs/commands/status-management)
|
|
223
|
-
- 🔧 [API Documentation](https://spec-weave.com/docs/api)
|
|
151
|
+
### **[spec-weave.com](https://spec-weave.com)**
|
|
224
152
|
|
|
225
|
-
**
|
|
226
|
-
-
|
|
227
|
-
-
|
|
228
|
-
-
|
|
229
|
-
-
|
|
153
|
+
**Start here:**
|
|
154
|
+
- 🚀 [Quickstart Guide](https://spec-weave.com/docs/guides/getting-started/quickstart) - 5-minute setup
|
|
155
|
+
- 📘 [Complete Workflow](https://spec-weave.com/docs/workflows/overview) - End-to-end journey
|
|
156
|
+
- 📋 [Commands Reference](https://spec-weave.com/docs/commands/status-management) - All commands
|
|
157
|
+
- ❓ [FAQ](https://spec-weave.com/docs/faq) - Common questions
|
|
230
158
|
|
|
231
159
|
---
|
|
232
160
|
|
|
233
|
-
## Community
|
|
234
|
-
|
|
235
|
-
**Join the Community:**
|
|
161
|
+
## Community
|
|
236
162
|
|
|
237
|
-
- 💬 **[Discord
|
|
238
|
-
- 🎥 **[YouTube
|
|
239
|
-
-
|
|
240
|
-
-
|
|
241
|
-
- 💡 **[GitHub Discussions](https://github.com/anton-abyzov/specweave/discussions)** - Q&A and community discussions
|
|
242
|
-
|
|
243
|
-
**Need Help?**
|
|
244
|
-
1. Check the **[FAQ](https://spec-weave.com/docs/faq)** first
|
|
245
|
-
2. Ask in **[Discord](https://discord.gg/UYg4BGJ65V)** for quick answers
|
|
246
|
-
3. Create a **[GitHub Discussion](https://github.com/anton-abyzov/specweave/discussions)** for detailed questions
|
|
163
|
+
- 💬 **[Discord](https://discord.gg/UYg4BGJ65V)** - Get help, share tips
|
|
164
|
+
- 🎥 **[YouTube](https://www.youtube.com/@antonabyzov)** - Tutorials, demos
|
|
165
|
+
- 🐛 **[GitHub Issues](https://github.com/anton-abyzov/specweave/issues)** - Report bugs
|
|
166
|
+
- 💡 **[Discussions](https://github.com/anton-abyzov/specweave/discussions)** - Q&A, feature requests
|
|
247
167
|
|
|
248
168
|
---
|
|
249
169
|
|
|
250
170
|
## Contributing
|
|
251
171
|
|
|
252
|
-
**Development Setup:**
|
|
253
|
-
|
|
254
172
|
```bash
|
|
255
|
-
#
|
|
173
|
+
# Setup
|
|
256
174
|
git clone https://github.com/anton-abyzov/specweave.git
|
|
257
175
|
cd specweave
|
|
258
|
-
npm install
|
|
259
|
-
npm run build
|
|
176
|
+
npm install && npm run build
|
|
260
177
|
|
|
261
|
-
#
|
|
178
|
+
# Test
|
|
262
179
|
npm test
|
|
263
180
|
```
|
|
264
181
|
|
|
265
|
-
**To Contribute:**
|
|
266
|
-
1. Fork repository
|
|
267
|
-
2. Create feature branch: `git checkout -b features/002-new-feature`
|
|
268
|
-
3. Follow SpecWeave conventions (see CLAUDE.md)
|
|
269
|
-
4. Add tests (minimum 3 test cases)
|
|
270
|
-
5. Create PR to `develop` branch
|
|
271
|
-
|
|
272
182
|
**[→ Contributor Guide](https://spec-weave.com/docs/guides/contributing)**
|
|
273
183
|
|
|
274
184
|
---
|
|
275
185
|
|
|
276
|
-
## Best
|
|
277
|
-
|
|
278
|
-
SpecWeave gives **best results with Claude Code** due to unique capabilities:
|
|
186
|
+
## Best with Claude Code
|
|
279
187
|
|
|
280
|
-
|
|
281
|
-
- ✅ **Auto-Activating Skills** - Context-aware activation (no @ mentions)
|
|
282
|
-
- ✅ **Isolated Agent Contexts** - True multi-agent role separation
|
|
283
|
-
- ✅ **Pre/Post Lifecycle Hooks** - Automated living docs sync after every task
|
|
284
|
-
- ✅ **MCP Protocol** - Industry standard for context management
|
|
188
|
+
SpecWeave works best with **[Claude Code](https://claude.com/claude-code)** (native plugins, auto-activating skills, lifecycle hooks).
|
|
285
189
|
|
|
286
|
-
|
|
190
|
+
Also works with: Cursor, GitHub Copilot, ChatGPT (manual workflow).
|
|
287
191
|
|
|
288
192
|
**[→ Tool Comparison](https://spec-weave.com/docs/overview/features#claude-code-native)**
|
|
289
193
|
|
|
290
194
|
---
|
|
291
195
|
|
|
292
|
-
##
|
|
196
|
+
## License
|
|
293
197
|
|
|
294
|
-
|
|
295
|
-
**License**: MIT
|
|
296
|
-
**Repository**: [github.com/anton-abyzov/specweave](https://github.com/anton-abyzov/specweave)
|
|
198
|
+
MIT - [github.com/anton-abyzov/specweave](https://github.com/anton-abyzov/specweave)
|
|
297
199
|
|
|
298
200
|
---
|
|
299
201
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
SpecWeave is inspired by:
|
|
303
|
-
- [spec-kit](https://github.com/github/spec-kit) - GitHub's specification toolkit
|
|
304
|
-
- [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) - Agentic agile framework
|
|
305
|
-
- [Claude Code](https://claude.com/claude-code) - Anthropic's native plugin system
|
|
306
|
-
- [C4 Model](https://c4model.com/) - Software architecture diagrams
|
|
307
|
-
|
|
308
|
-
---
|
|
309
|
-
|
|
310
|
-
**SpecWeave** - AI made us fast. SpecWeave makes us sustainable.
|
|
311
|
-
|
|
312
|
-
**Get started**: `npm install -g specweave` → `specweave init my-project` → **[Read the Docs](https://spec-weave.com)**
|
|
202
|
+
**Get started**: `npm install -g specweave` → **[Read the Docs](https://spec-weave.com)**
|
package/bin/install-agents.sh
CHANGED
package/bin/install-commands.sh
CHANGED
package/bin/install-hooks.sh
CHANGED
package/bin/install-skills.sh
CHANGED
package/bin/specweave.js
CHANGED
|
@@ -131,6 +131,33 @@ program
|
|
|
131
131
|
await qaCommand(incrementId, options);
|
|
132
132
|
});
|
|
133
133
|
|
|
134
|
+
// Validate plugins command - Plugin validation
|
|
135
|
+
program
|
|
136
|
+
.command('validate-plugins')
|
|
137
|
+
.description('Validate SpecWeave plugin installation')
|
|
138
|
+
.option('--auto-install', 'Auto-install missing components', false)
|
|
139
|
+
.option('--context <description>', 'Increment description for context detection')
|
|
140
|
+
.option('--dry-run', 'Show what would be installed without installing', false)
|
|
141
|
+
.option('-v, --verbose', 'Show detailed validation steps', false)
|
|
142
|
+
.action(async (options) => {
|
|
143
|
+
const { setupValidatePluginsCommand } = await import('../dist/cli/commands/validate-plugins.js');
|
|
144
|
+
// Create a temporary program for this command
|
|
145
|
+
const tempProgram = new Command();
|
|
146
|
+
setupValidatePluginsCommand(tempProgram);
|
|
147
|
+
// Execute the action directly
|
|
148
|
+
await import('../dist/cli/commands/validate-plugins.js').then(m => m.runValidation(options));
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
// Validate Jira command - Jira resource validation
|
|
152
|
+
program
|
|
153
|
+
.command('validate-jira')
|
|
154
|
+
.description('Validate Jira configuration and create missing resources')
|
|
155
|
+
.option('--env <path>', 'Path to .env file', '.env')
|
|
156
|
+
.action(async (options) => {
|
|
157
|
+
const { runJiraValidation } = await import('../dist/cli/commands/validate-jira.js');
|
|
158
|
+
await runJiraValidation(options);
|
|
159
|
+
});
|
|
160
|
+
|
|
134
161
|
// Help text
|
|
135
162
|
program.on('--help', () => {
|
|
136
163
|
console.log('');
|
|
@@ -150,6 +177,11 @@ program.on('--help', () => {
|
|
|
150
177
|
console.log(' $ specweave qa 0008 # Quick quality check');
|
|
151
178
|
console.log(' $ specweave qa 0008 --pre # Pre-implementation check');
|
|
152
179
|
console.log(' $ specweave qa 0008 --gate --export # Quality gate + export to tasks');
|
|
180
|
+
console.log(' $ specweave validate-plugins # Validate plugin installation');
|
|
181
|
+
console.log(' $ specweave validate-plugins --auto-install # Auto-install missing plugins');
|
|
182
|
+
console.log(' $ specweave validate-plugins --dry-run # Preview what would be installed');
|
|
183
|
+
console.log(' $ specweave validate-jira # Validate Jira configuration');
|
|
184
|
+
console.log(' $ specweave validate-jira --env .env.prod # Validate with custom .env file');
|
|
153
185
|
console.log('');
|
|
154
186
|
console.log('Supported AI Tools:');
|
|
155
187
|
console.log(' - Claude Code (full automation) - Native skills, agents, hooks');
|