specweave 1.0.21 → 1.0.23
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/README.md +95 -378
- package/dist/src/core/living-docs/intelligent-analyzer/deep-repo-analyzer.d.ts.map +1 -1
- package/dist/src/core/living-docs/intelligent-analyzer/deep-repo-analyzer.js +79 -13
- package/dist/src/core/living-docs/intelligent-analyzer/deep-repo-analyzer.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,483 +1,200 @@
|
|
|
1
1
|
# SpecWeave
|
|
2
2
|
|
|
3
|
-
**Finally. A Framework That Works on Legacy, Startup, AND Enterprise.**
|
|
3
|
+
**Finally. A Spec-Driven AI Framework That Works on Legacy, Startup, AND Enterprise.**
|
|
4
4
|
|
|
5
5
|
*Drop it into a 10-year-old codebase — it understands everything. Use it on your weekend MVP — specs write themselves. Scale it to 50 teams — JIRA, GitHub, Azure DevOps sync automatically.*
|
|
6
6
|
|
|
7
|
-
[](https://www.npmjs.com/package/specweave)
|
|
8
8
|
[](https://opensource.org/licenses/MIT)
|
|
9
|
-
[](https://github.com/anton-abyzov/specweave/actions/workflows/build.yml)
|
|
9
|
+
[](https://github.com/anton-abyzov/specweave/actions/workflows/test.yml)
|
|
11
10
|
[](https://discord.gg/UYg4BGJ65V)
|
|
12
11
|
[](https://www.youtube.com/@antonabyzov)
|
|
13
|
-
[](https://smithery.ai/skills?ns=anton-abyzov&utm_source=github&utm_medium=badge)
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
> ```
|
|
19
|
-
> **Critical Fix:** GitHub private repos now properly fetched during init. Pattern matching (starts:, regex) works with private repos.
|
|
20
|
-
> [See release notes →](https://github.com/anton-abyzov/specweave/releases/tag/v1.0.2)
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g specweave
|
|
15
|
+
```
|
|
21
16
|
|
|
22
|
-
|
|
17
|
+
> **v1.0.22** — [Changelog](https://github.com/anton-abyzov/specweave/releases)
|
|
23
18
|
|
|
24
|
-
|
|
19
|
+
---
|
|
25
20
|
|
|
26
|
-
|
|
21
|
+
## The Problem With AI Coding Tools
|
|
27
22
|
|
|
28
|
-
|
|
29
|
-
- **140+ completed increments** with full specs, plans, and tasks
|
|
30
|
-
- **Living docs** that auto-update via event-driven hooks
|
|
31
|
-
- **DORA metrics** tracking real delivery performance
|
|
32
|
-
- **Code-as-source-of-truth** discrepancy detection built-in
|
|
23
|
+
Every AI coding tool promises productivity. But after the chat ends:
|
|
33
24
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
25
|
+
| What Happens | The Cost |
|
|
26
|
+
|-------------|----------|
|
|
27
|
+
| Specs disappear into chat history | No traceability for audits |
|
|
28
|
+
| Architecture decisions forgotten | Repeated debates, inconsistent code |
|
|
29
|
+
| Tests? "We'll add them later" | Regressions, production bugs |
|
|
30
|
+
| JIRA/GitHub manually updated | Stale tickets, wrong priorities |
|
|
31
|
+
| Onboarding: "Ask John, he knows" | Knowledge silos, bus factor |
|
|
38
32
|
|
|
39
|
-
**
|
|
33
|
+
**The real problem:** AI generates code, but code without context is technical debt waiting to happen.
|
|
40
34
|
|
|
41
35
|
---
|
|
42
36
|
|
|
43
|
-
##
|
|
44
|
-
|
|
45
|
-
Great tools for simple greenfield projects. But when things get real:
|
|
37
|
+
## SpecWeave: AI Decisions Become Permanent Documentation
|
|
46
38
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
39
|
+
```bash
|
|
40
|
+
/sw:increment "Add OAuth authentication" # Creates spec + plan + tasks
|
|
41
|
+
/sw:do # AI builds autonomously
|
|
42
|
+
/sw:done 0001 # Validates: tests pass, docs updated
|
|
43
|
+
```
|
|
52
44
|
|
|
53
|
-
**
|
|
45
|
+
**Every feature** creates three permanent files:
|
|
54
46
|
|
|
55
47
|
```
|
|
56
|
-
|
|
57
|
-
|
|
48
|
+
.specweave/increments/0001-oauth/
|
|
49
|
+
├── spec.md ← WHAT: User stories, acceptance criteria
|
|
50
|
+
├── plan.md ← HOW: Architecture decisions, tech choices
|
|
51
|
+
└── tasks.md ← DO: Implementation tasks with embedded tests
|
|
58
52
|
```
|
|
59
53
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
| Capability | SpecKit | SpecWeave |
|
|
63
|
-
|------------|---------|-----------|
|
|
64
|
-
| **Workflow** | Specify → Plan → Tasks → Implement | Same + living docs + hooks + quality gates |
|
|
65
|
-
| **Projects** | Single project | Multi-project, multi-repo, umbrella setups |
|
|
66
|
-
| **External Tools** | None | GitHub Issues, JIRA, Azure DevOps (bidirectional) |
|
|
67
|
-
| **Documentation** | Snapshot (static specs) | Living docs (auto-update after every task) |
|
|
68
|
-
| **Codebase Type** | Greenfield only | Greenfield + Brownfield (10-year legacy? Fine.) |
|
|
69
|
-
| **Team Scale** | Solo/small team | Solo to 50+ teams |
|
|
70
|
-
| **Quality Gates** | None | 3-gate validation (tasks, tests 60%+, docs) |
|
|
71
|
-
| **Plugin Ecosystem** | Minimal | Hooks, skills, agents, multi-AI support |
|
|
72
|
-
|
|
73
|
-
**SpecWeave** — Drop into any codebase. Sync with JIRA/GitHub/ADO. Handle 50 teams or solo MVPs. One workflow.
|
|
54
|
+
**After 6 months**: Search "OAuth" → find exact decisions, who approved, why it was built that way.
|
|
74
55
|
|
|
75
56
|
---
|
|
76
57
|
|
|
77
|
-
##
|
|
58
|
+
## Why Not BMAD or SpecKit?
|
|
78
59
|
|
|
79
|
-
|
|
60
|
+
| | [BMAD](https://github.com/bmad-code-org/BMAD-METHOD) | [SpecKit](https://github.com/github/spec-kit) | **SpecWeave** |
|
|
61
|
+
|---|---|---|---|
|
|
62
|
+
| **Status** | Alpha (v6) | Stable | **Production (v1.0.22)** |
|
|
63
|
+
| **Lifecycle** | Manual agent switching | Single-use specs | **Full increment lifecycle** |
|
|
64
|
+
| **External Sync** | None | None | **GitHub/JIRA/ADO bidirectional** |
|
|
65
|
+
| **Brownfield** | Limited | Greenfield only | **10-year legacy? Fine.** |
|
|
66
|
+
| **Documentation** | Manual | Snapshot (static) | **Living docs (auto-update)** |
|
|
67
|
+
| **Quality Gates** | Not built-in | None | **3-gate (tasks/tests 60%+/docs)** |
|
|
68
|
+
| **Dogfooding** | Unknown | Unknown | **140+ self-built features** |
|
|
80
69
|
|
|
81
|
-
|
|
82
|
-
- **Your architecture decisions are forgotten**
|
|
83
|
-
- **Your tests are never written**
|
|
84
|
-
- **Your GitHub/JIRA stays outdated**
|
|
85
|
-
- **New team members start from zero**
|
|
70
|
+
**The math**: SpecKit output = ONE SpecWeave increment. SpecWeave = N increments + lifecycle + sync + hooks.
|
|
86
71
|
|
|
87
|
-
|
|
72
|
+
---
|
|
88
73
|
|
|
89
|
-
|
|
90
|
-
<img src="https://raw.githubusercontent.com/anton-abyzov/specweave/develop/docs-site/static/img/specweave-flow.svg?v=2" alt="SpecWeave Flow: Your Idea → Spec → Plan → Tasks → Code → Living Docs" width="800"/>
|
|
91
|
-
</p>
|
|
74
|
+
## Proof: Built With SpecWeave
|
|
92
75
|
|
|
93
|
-
|
|
76
|
+
> This framework builds itself. Every feature, bug fix, and release — all spec-driven.
|
|
77
|
+
|
|
78
|
+
[](https://github.com/anton-abyzov/specweave/blob/develop/.specweave/docs/internal/delivery/dora-metrics.md)
|
|
79
|
+
[](https://github.com/anton-abyzov/specweave/blob/develop/.specweave/docs/internal/delivery/dora-metrics.md)
|
|
80
|
+
[](https://github.com/anton-abyzov/specweave/blob/develop/.specweave/docs/internal/delivery/dora-metrics.md)
|
|
81
|
+
[](https://github.com/anton-abyzov/specweave/blob/develop/.specweave/docs/internal/delivery/dora-metrics.md)
|
|
94
82
|
|
|
95
|
-
|
|
83
|
+
| Metric | Value |
|
|
84
|
+
|--------|-------|
|
|
85
|
+
| Features shipped | 140+ with full specs |
|
|
86
|
+
| Living docs | Auto-update on every task |
|
|
87
|
+
| DORA metrics | Live tracking |
|
|
88
|
+
| Test coverage | 60%+ enforced |
|
|
96
89
|
|
|
97
|
-
|
|
98
|
-
<img src="https://raw.githubusercontent.com/anton-abyzov/specweave/develop/docs-site/static/img/workflow-diagram.svg" alt="SpecWeave Workflow: Command → AI Agents → Permanent Files → Build → Auto-Sync" width="700"/>
|
|
99
|
-
</p>
|
|
90
|
+
**[Browse our increments →](https://github.com/anton-abyzov/specweave/tree/develop/.specweave/increments)**
|
|
100
91
|
|
|
101
92
|
---
|
|
102
93
|
|
|
103
94
|
## Quick Start
|
|
104
95
|
|
|
105
96
|
```bash
|
|
106
|
-
# Install SpecWeave (v1.0.1 — production ready)
|
|
107
97
|
npm install -g specweave
|
|
108
|
-
|
|
109
|
-
# Initialize your project
|
|
110
98
|
cd your-project
|
|
111
|
-
specweave init .
|
|
99
|
+
specweave init .
|
|
112
100
|
```
|
|
113
101
|
|
|
114
102
|
Then in Claude Code:
|
|
115
103
|
```bash
|
|
116
|
-
/sw:increment "Add dark mode
|
|
117
|
-
/sw:do
|
|
118
|
-
/sw:done 0001
|
|
104
|
+
/sw:increment "Add dark mode" # AI creates spec + plan + tasks
|
|
105
|
+
/sw:do # Autonomous implementation
|
|
106
|
+
/sw:done 0001 # Quality-validated completion
|
|
119
107
|
```
|
|
120
108
|
|
|
121
|
-
**
|
|
122
|
-
|
|
123
|
-
**Pro tip**: Use `/sw:next` to flow through the entire cycle. One command auto-closes completed work and suggests what's next — review specs/tasks when needed, otherwise just keep clicking "next".
|
|
124
|
-
|
|
125
|
-
**[Full Quickstart Guide](https://spec-weave.com/docs/guides/getting-started/quickstart)**
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## Key Strengths
|
|
130
|
-
|
|
131
|
-
- **Legacy to Enterprise** — 10-year-old monolith? Startup MVP? 50-team enterprise? Works on all.
|
|
132
|
-
- **Any AI, Your Choice** — Claude, GPT, Gemini, Copilot — your team uses whatever they prefer
|
|
133
|
-
- **Real Bidirectional Sync** — JIRA/GitHub/ADO sync on command with permission controls
|
|
134
|
-
- **Code = Source of Truth** — Discrepancy detection catches when docs drift from reality
|
|
135
|
-
- **Event-Driven Hooks** — Living docs update on lifecycle events (done, archived, reopened)
|
|
136
|
-
- **Multi-Project Mode** — Multiple repos, multiple teams, one source of truth
|
|
137
|
-
- **3-Gate Quality Validation** — Nothing ships without passing tasks, tests (60%+), and docs
|
|
138
|
-
- **70%+ Token Reduction** — Progressive loading means your AI stays fast and focused
|
|
139
|
-
- **Background Jobs** — Large imports and analysis run asynchronously while you work
|
|
109
|
+
**[Full Quickstart Guide →](https://spec-weave.com/docs/guides/getting-started/quickstart)**
|
|
140
110
|
|
|
141
111
|
---
|
|
142
112
|
|
|
143
|
-
##
|
|
144
|
-
|
|
145
|
-
SpecWeave keeps your project management tools in sync **automatically**:
|
|
113
|
+
## Key Features
|
|
146
114
|
|
|
147
|
-
|
|
148
|
-
<img src="https://raw.githubusercontent.com/anton-abyzov/specweave/develop/docs-site/static/img/external-sync-diagram.svg" alt="SpecWeave External Tool Integration: Sync with GitHub, JIRA, Azure DevOps" width="800"/>
|
|
149
|
-
</p>
|
|
115
|
+
### External Tool Integration
|
|
150
116
|
|
|
151
117
|
| Platform | Capabilities |
|
|
152
118
|
|----------|--------------|
|
|
153
|
-
| **GitHub Issues** | Create, update, close, progress sync
|
|
154
|
-
| **JIRA** | Epic/Story hierarchy,
|
|
119
|
+
| **GitHub Issues** | Create, update, close, progress sync |
|
|
120
|
+
| **JIRA** | Epic/Story hierarchy, bidirectional sync |
|
|
155
121
|
| **Azure DevOps** | Work items, area paths, status sync |
|
|
156
|
-
| **Linear** | Coming Q1 2026 |
|
|
157
|
-
|
|
158
|
-
### Sync Orchestration (NEW)
|
|
159
|
-
|
|
160
|
-
SpecWeave includes **sync monitoring** to keep track of external tool state:
|
|
161
122
|
|
|
162
123
|
```bash
|
|
163
|
-
/sw:sync-progress
|
|
164
|
-
/sw:sync-monitor # Dashboard: sync status, notifications
|
|
165
|
-
/sw:notifications # View/dismiss sync notifications
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
**Key principle: Code is the source of truth.** When your living docs describe one thing but code does another, SpecWeave detects the **discrepancy** and notifies you:
|
|
169
|
-
|
|
170
|
-
```
|
|
171
|
-
📋 DISCREPANCIES DETECTED
|
|
172
|
-
|
|
173
|
-
DISC-0001 ⚠️ MAJOR function-signature getUserById params changed
|
|
174
|
-
DISC-0002 ✅ MINOR api-route New endpoint added
|
|
175
|
-
|
|
176
|
-
Use '/sw:discrepancies accept DISC-0001' to update specs
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
## What You Get
|
|
182
|
-
|
|
183
|
-
| Before | After SpecWeave |
|
|
184
|
-
|--------|-----------------|
|
|
185
|
-
| Specs in chat history | **Permanent, searchable specs** |
|
|
186
|
-
| Manual JIRA/GitHub updates | **Auto-sync on `/sw:sync-progress`** |
|
|
187
|
-
| Tests? Maybe later... | **Tests embedded in tasks (60%+ enforced)** |
|
|
188
|
-
| Architecture in your head | **ADRs captured automatically** |
|
|
189
|
-
| "Ask John, he knows" | **Living docs, always current** |
|
|
190
|
-
| Docs drift from code | **Discrepancy detection alerts you** |
|
|
191
|
-
| Large imports block work | **Background jobs run async** |
|
|
192
|
-
| Onboarding: 2 weeks | **Onboarding: 1 day** |
|
|
193
|
-
|
|
194
|
-
---
|
|
195
|
-
|
|
196
|
-
## The Three-File Foundation
|
|
197
|
-
|
|
198
|
-
Every feature generates three permanent files:
|
|
199
|
-
|
|
200
|
-
```
|
|
201
|
-
.specweave/increments/0001-dark-mode/
|
|
202
|
-
├── spec.md ← WHAT: User stories, acceptance criteria, requirements
|
|
203
|
-
├── plan.md ← HOW: Architecture, tech decisions, ADRs
|
|
204
|
-
└── tasks.md ← DO: Implementation tasks with embedded tests
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
### spec.md (WHAT)
|
|
208
|
-
```markdown
|
|
209
|
-
## User Stories
|
|
210
|
-
|
|
211
|
-
### US-001: Dark Mode Toggle
|
|
212
|
-
As a user, I want to toggle dark mode so that I can reduce eye strain at night.
|
|
213
|
-
|
|
214
|
-
**Acceptance Criteria:**
|
|
215
|
-
- [x] AC-US1-01: Toggle switch in settings persists preference
|
|
216
|
-
- [x] AC-US1-02: Theme applies to all components instantly
|
|
217
|
-
- [ ] AC-US1-03: System preference detected on first visit
|
|
124
|
+
/sw:sync-progress # Push updates to all connected tools
|
|
218
125
|
```
|
|
219
126
|
|
|
220
|
-
### tasks.md (DO)
|
|
221
|
-
```markdown
|
|
222
|
-
### T-001: Implement Theme Provider
|
|
223
|
-
**User Story**: US-001
|
|
224
|
-
**Satisfies ACs**: AC-US1-01, AC-US1-02
|
|
225
|
-
**Status**: [x] completed
|
|
226
|
-
|
|
227
|
-
**Embedded Tests** (AC-US1-01):
|
|
228
|
-
- test_theme_toggle_persists_to_localstorage
|
|
229
|
-
- test_theme_applies_to_all_components
|
|
230
|
-
- test_toggle_updates_ui_instantly
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
## When to Use Increments
|
|
236
|
-
|
|
237
|
-
Not every change needs an increment. **The rule of thumb:**
|
|
238
|
-
|
|
239
|
-
| Change Type | Use Increment? | Why |
|
|
240
|
-
|-------------|----------------|-----|
|
|
241
|
-
| **Typo fix, version bump** | No | Zero learning, purely mechanical |
|
|
242
|
-
| **Bug fix that taught you something** | **Yes** | Capture the knowledge for future devs |
|
|
243
|
-
| **Any user-facing change** | **Yes** | Track delivery, enable DORA metrics |
|
|
244
|
-
| **Architecture decision** | **Yes** | Needs ADR for future understanding |
|
|
245
|
-
|
|
246
|
-
**The principle**: *If you'd explain this change to a colleague, document it in an increment.*
|
|
247
|
-
|
|
248
|
-
Increments capture **knowledge**. Ad-hoc work is **ephemeral**. When teams routinely do meaningful work without increments, they lose:
|
|
249
|
-
- **Traceability** — Why was this decision made?
|
|
250
|
-
- **Knowledge transfer** — How does this system work?
|
|
251
|
-
- **Metrics accuracy** — DORA metrics reflect reality
|
|
252
|
-
|
|
253
|
-
**Quick check before ad-hoc work**: "Will I remember why I made this change in 6 months?" If no → increment.
|
|
254
|
-
|
|
255
|
-
---
|
|
256
|
-
|
|
257
|
-
## Key Features
|
|
258
|
-
|
|
259
127
|
### Works With ANY AI Tool
|
|
260
128
|
|
|
261
|
-
|
|
262
|
-
<img src="https://raw.githubusercontent.com/anton-abyzov/specweave/develop/docs-site/static/img/agents-diagram.svg" alt="SpecWeave works with Claude, GPT, Gemini, Copilot and more" width="850"/>
|
|
263
|
-
</p>
|
|
264
|
-
|
|
265
|
-
SpecWeave's power isn't in Claude magic. It's in **structure**.
|
|
266
|
-
|
|
267
|
-
- `spec.md` is just markdown — any AI can read it
|
|
268
|
-
- `tasks.md` is just markdown — any AI can update it
|
|
269
|
-
- Acceptance criteria are just checkboxes — universal
|
|
270
|
-
|
|
271
|
-
**Team with mixed AI tools?** Sarah uses Claude. Mike uses GPT-4. Alex uses Copilot. Everyone works on the same specs. Same tasks. Same acceptance criteria. The sync still works.
|
|
129
|
+
SpecWeave is **structure, not AI magic**. `spec.md` and `tasks.md` are just markdown.
|
|
272
130
|
|
|
273
|
-
|
|
131
|
+
- Sarah uses Claude. Mike uses GPT-4. Alex uses Copilot.
|
|
132
|
+
- Everyone works on the same specs, same tasks, same acceptance criteria.
|
|
133
|
+
- **Claude Code** gets the best experience (slash commands, hooks, skills). But any AI can participate.
|
|
274
134
|
|
|
275
|
-
### Living Documentation
|
|
135
|
+
### Living Documentation
|
|
276
136
|
|
|
277
|
-
Documentation updates **on lifecycle events**
|
|
137
|
+
Documentation updates **on lifecycle events** — not on every edit, but when it matters:
|
|
278
138
|
|
|
279
139
|
| Event | What Updates |
|
|
280
140
|
|-------|--------------|
|
|
281
|
-
| `increment.
|
|
282
|
-
| `
|
|
283
|
-
| `user-story.completed` | Status line refreshed, progress synced |
|
|
141
|
+
| `increment.done` | Marked complete, living docs synced |
|
|
142
|
+
| `user-story.completed` | Status refreshed, external tools updated |
|
|
284
143
|
| `increment.reopened` | Restored from archive |
|
|
285
144
|
|
|
286
|
-
**No more stale docs.** The system detects when all tasks AND all ACs for a user story are complete, then fires the right hooks. Race conditions? Handled. Crashes? Graceful degradation.
|
|
287
|
-
|
|
288
145
|
### Quality Gates
|
|
289
146
|
|
|
290
147
|
Three gates before any increment closes:
|
|
291
|
-
1. **Tasks**: All
|
|
292
|
-
2. **Tests**: 60%+ coverage
|
|
148
|
+
1. **Tasks**: All marked complete
|
|
149
|
+
2. **Tests**: 60%+ coverage (configurable)
|
|
293
150
|
3. **Documentation**: Living docs updated
|
|
294
151
|
|
|
295
152
|
### Token Efficiency
|
|
296
153
|
|
|
297
|
-
70%+ context reduction
|
|
298
|
-
- Progressive plugin loading
|
|
299
|
-
- Skills auto-activate
|
|
154
|
+
70%+ context reduction:
|
|
155
|
+
- Progressive plugin loading
|
|
156
|
+
- Skills auto-activate on keywords
|
|
300
157
|
- Context optimizer removes irrelevant specs
|
|
301
|
-
- Sub-agent parallelization isolates context
|
|
302
|
-
|
|
303
|
-
### Extensible by Design
|
|
304
|
-
|
|
305
|
-
SpecWeave is a **framework, not a locked product**. Customize everything through CLAUDE.md instructions:
|
|
306
|
-
|
|
307
|
-
```markdown
|
|
308
|
-
# In your CLAUDE.md:
|
|
309
|
-
|
|
310
|
-
## Custom Sync Rules
|
|
311
|
-
When syncing to JIRA, always:
|
|
312
|
-
- Add custom field "Team: Backend" for backend increments
|
|
313
|
-
- Map "paused" status to "Blocked" instead of "On Hold"
|
|
314
|
-
- Include sprint field from our sprint naming convention
|
|
315
|
-
|
|
316
|
-
## Custom Quality Gates
|
|
317
|
-
Before closing any increment:
|
|
318
|
-
- Run `npm run lint:strict` in addition to tests
|
|
319
|
-
- Verify changelog entry exists
|
|
320
|
-
- Check that API docs are regenerated
|
|
321
|
-
|
|
322
|
-
## Custom Workflow
|
|
323
|
-
After completing a task:
|
|
324
|
-
- Post notification to #dev-updates Slack channel
|
|
325
|
-
- Update our internal tracking spreadsheet via webhook
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
**What you can customize:**
|
|
329
|
-
- **External sync behavior** — Add fields, transform statuses, integrate with internal tools
|
|
330
|
-
- **Quality gates** — Add custom validation, linting, security scans
|
|
331
|
-
- **Lifecycle hooks** — Trigger actions on increment events (created, done, paused)
|
|
332
|
-
- **Agent behavior** — Override default agent prompts for your domain
|
|
333
|
-
- **Naming conventions** — Enforce team-specific ID formats, branch names
|
|
334
|
-
|
|
335
|
-
### Why Skills, Not MCP?
|
|
336
|
-
|
|
337
|
-
**Community insight**: Anthropic's engineering team discovered that [code execution beats direct tool calls](https://www.anthropic.com/engineering/code-execution-with-mcp) for AI agent efficiency.
|
|
338
|
-
|
|
339
|
-
**The MCP Problem**:
|
|
340
|
-
| Issue | Impact |
|
|
341
|
-
|-------|--------|
|
|
342
|
-
| Tool definition bloat | All tools loaded upfront → context waste |
|
|
343
|
-
| Data duplication | Same data flows through model 2-3× |
|
|
344
|
-
| Token explosion | 150,000 tokens vs 2,000 with code-first |
|
|
345
|
-
|
|
346
|
-
**SpecWeave's Approach**:
|
|
347
|
-
```
|
|
348
|
-
❌ MCP: Load 50 tools → model picks → fetch → model processes → call another
|
|
349
|
-
✅ Skills: Load 1 skill on-demand → Claude writes code → process locally
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
> "LLMs are adept at writing code and developers should take advantage of this strength."
|
|
353
|
-
> — [Anthropic Engineering](https://www.anthropic.com/engineering/code-execution-with-mcp)
|
|
354
|
-
|
|
355
|
-
**Result**: 98%+ token reduction, deterministic execution, reusable skill library.
|
|
356
158
|
|
|
357
159
|
---
|
|
358
160
|
|
|
359
|
-
## Commands
|
|
360
|
-
|
|
361
|
-
**Core Workflow** (daily use):
|
|
362
|
-
| Command | Purpose |
|
|
363
|
-
|---------|---------|
|
|
364
|
-
| `/sw:increment "feature"` | Plan new increment (PM → Architect → Tasks) |
|
|
365
|
-
| `/sw:do` | Execute all tasks autonomously |
|
|
366
|
-
| `/sw:done 0001` | Complete with quality gate validation |
|
|
367
|
-
| `/sw:next` | Auto-close + suggest next work (one-click flow) |
|
|
368
|
-
| `/sw:progress` | Show real-time status |
|
|
369
|
-
|
|
370
|
-
**Sync & Monitoring** (stay in sync):
|
|
371
|
-
| Command | Purpose |
|
|
372
|
-
|---------|---------|
|
|
373
|
-
| `/sw:sync-progress` | Sync to GitHub/JIRA/ADO |
|
|
374
|
-
| `/sw:sync-monitor` | Dashboard: jobs, notifications, activity |
|
|
375
|
-
| `/sw:notifications` | View/dismiss sync alerts |
|
|
376
|
-
| `/sw:discrepancies` | Code-to-spec drift detection |
|
|
377
|
-
|
|
378
|
-
**Brownfield** (legacy codebases):
|
|
379
|
-
| Command | Purpose |
|
|
380
|
-
|---------|---------|
|
|
381
|
-
| `/sw:discrepancy-to-increment` | Convert doc gaps to increments |
|
|
382
|
-
| `/sw:jobs` | Monitor background analysis/import |
|
|
383
|
-
| `/sw:import-external` | Import from GitHub/JIRA/ADO |
|
|
161
|
+
## Commands
|
|
384
162
|
|
|
385
|
-
**Quality** (ship with confidence):
|
|
386
163
|
| Command | Purpose |
|
|
387
164
|
|---------|---------|
|
|
388
|
-
| `/sw:
|
|
389
|
-
| `/sw:
|
|
390
|
-
| `/sw:
|
|
165
|
+
| `/sw:increment "feature"` | Create spec + plan + tasks |
|
|
166
|
+
| `/sw:do` | Execute autonomously |
|
|
167
|
+
| `/sw:done 0001` | Close with quality validation |
|
|
168
|
+
| `/sw:sync-progress` | Push to GitHub/JIRA/ADO |
|
|
391
169
|
|
|
392
|
-
**53 total commands
|
|
170
|
+
**[53 total commands →](https://spec-weave.com/docs/commands/overview)**
|
|
393
171
|
|
|
394
172
|
---
|
|
395
173
|
|
|
396
|
-
##
|
|
174
|
+
## Works On Everything
|
|
397
175
|
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
specweave init
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
**What happens?** Brownfield analysis scans your codebase and creates **discrepancies** — actionable documentation gaps:
|
|
406
|
-
- `missing-docs` — Undocumented code exports
|
|
407
|
-
- `stale-docs` — Documentation out of sync with code
|
|
408
|
-
- `knowledge-gap` — Single-contributor modules (bus factor risk)
|
|
409
|
-
- `orphan-doc` — Docs for deleted code
|
|
410
|
-
- `missing-adr` — Significant patterns without ADRs
|
|
411
|
-
|
|
412
|
-
Convert discrepancies to increments:
|
|
413
|
-
```bash
|
|
414
|
-
/sw:discrepancies # View all gaps
|
|
415
|
-
/sw:discrepancy-to-increment DISC-0001 # Create increment from gap
|
|
416
|
-
```
|
|
417
|
-
|
|
418
|
-
**Fresh Startup MVP?**
|
|
419
|
-
```bash
|
|
420
|
-
specweave init .
|
|
421
|
-
/sw:increment "Build user auth" # Full spec in 60 seconds
|
|
422
|
-
```
|
|
423
|
-
|
|
424
|
-
**50-Team Enterprise?**
|
|
425
|
-
```bash
|
|
426
|
-
specweave init . # Start with single-project
|
|
427
|
-
/sw:enable-multiproject # Explicit opt-in when ready
|
|
428
|
-
# Maps to JIRA projects, ADO area paths, GitHub repos automatically
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
Import from Notion, Confluence, GitHub Wiki. AI classifies docs automatically.
|
|
176
|
+
| Scenario | What You Do |
|
|
177
|
+
|----------|-------------|
|
|
178
|
+
| **10-year legacy codebase** | `specweave init .` → brownfield analysis detects doc gaps |
|
|
179
|
+
| **Weekend MVP** | `specweave init .` → `/sw:increment "Build auth"` |
|
|
180
|
+
| **50-team enterprise** | `specweave init .` → `/sw:enable-multiproject` → maps to JIRA/ADO |
|
|
432
181
|
|
|
433
182
|
---
|
|
434
183
|
|
|
435
184
|
## Requirements
|
|
436
185
|
|
|
437
|
-
- Node.js 20
|
|
438
|
-
-
|
|
186
|
+
- **Node.js 20.12.0+** (LTS recommended) — Required for `util.styleText` API
|
|
187
|
+
- Any AI coding tool: Claude Code, Cursor, Windsurf, Cline, Aider, etc.
|
|
439
188
|
- Git repository
|
|
440
189
|
|
|
441
|
-
### Why Opus 4.5? 2-3x Faster Development!
|
|
442
|
-
|
|
443
|
-
With **Claude Opus 4.5**, development speed increases **2-3x** (some report **5-10x**!). The key: formulate small, well-defined increments (5-15 tasks), and Opus completes them almost **without manual interaction**. Just define requirements, run `/sw:do`, and review what's done.
|
|
444
|
-
|
|
445
190
|
---
|
|
446
191
|
|
|
447
192
|
## Community
|
|
448
193
|
|
|
449
|
-
|
|
450
|
-
- **[Discord](https://discord.gg/UYg4BGJ65V)** - Get help, share tips
|
|
451
|
-
- **[YouTube](https://www.youtube.com/@antonabyzov)** - Video tutorials
|
|
452
|
-
- **[GitHub Issues](https://github.com/anton-abyzov/specweave/issues)** - Bug reports and features
|
|
453
|
-
|
|
454
|
-
---
|
|
455
|
-
|
|
456
|
-
## Contributing
|
|
457
|
-
|
|
458
|
-
```bash
|
|
459
|
-
git clone https://github.com/anton-abyzov/specweave.git
|
|
460
|
-
cd specweave
|
|
461
|
-
npm install && npm run build
|
|
462
|
-
npm test
|
|
463
|
-
```
|
|
464
|
-
|
|
465
|
-
**[Contributor Guide](https://spec-weave.com/docs/guides/contributing)**
|
|
194
|
+
[Documentation](https://spec-weave.com) | [Discord](https://discord.gg/UYg4BGJ65V) | [YouTube](https://www.youtube.com/@antonabyzov) | [GitHub Issues](https://github.com/anton-abyzov/specweave/issues)
|
|
466
195
|
|
|
467
196
|
---
|
|
468
197
|
|
|
469
198
|
## License
|
|
470
199
|
|
|
471
|
-
MIT
|
|
472
|
-
|
|
473
|
-
---
|
|
474
|
-
|
|
475
|
-
**Legacy. Startup. Enterprise. One framework that actually works everywhere.**
|
|
476
|
-
|
|
477
|
-
```bash
|
|
478
|
-
npm install -g specweave
|
|
479
|
-
```
|
|
480
|
-
|
|
481
|
-
---
|
|
482
|
-
|
|
483
|
-
*Fortune 500 companies pay millions for systems like this. This? Free. Open source.*
|
|
200
|
+
MIT — [github.com/anton-abyzov/specweave](https://github.com/anton-abyzov/specweave)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-repo-analyzer.d.ts","sourceRoot":"","sources":["../../../../../src/core/living-docs/intelligent-analyzer/deep-repo-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,YAAY,EAGZ,WAAW,EACX,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,GAAG,IAAI,EAC/B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"deep-repo-analyzer.d.ts","sourceRoot":"","sources":["../../../../../src/core/living-docs/intelligent-analyzer/deep-repo-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,YAAY,EAGZ,WAAW,EACX,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,GAAG,IAAI,EAC/B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,YAAY,CAAC,CAiHvB;AAwMD,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAAE,UAAU,CAAC,EAAE;IAAE,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAY5P"}
|
|
@@ -14,23 +14,89 @@ export async function analyzeRepo(repoPath, repoName, llmProvider, log) {
|
|
|
14
14
|
return createBasicAnalysis(repoPath, repoName, samples);
|
|
15
15
|
}
|
|
16
16
|
const prompt = buildRepoAnalysisPrompt(repoName, samples);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
// ADAPTIVE TIMEOUT CALCULATION (v2 - GENEROUS for thorough analysis)
|
|
18
|
+
// PHILOSOPHY: For deep analysis mode, we WANT to wait for thorough insights!
|
|
19
|
+
// Base timeout: 240s (4 min) - generous baseline for quality analysis
|
|
20
|
+
// Additional time based on complexity factors:
|
|
21
|
+
// - File count: 5s per file (more files = MORE context to deeply analyze)
|
|
22
|
+
// - Prompt size: 50ms per 1000 chars (larger prompts need proportional time)
|
|
23
|
+
// - Domain complexity: Detect regulatory/compliance keywords (+120s = +2min)
|
|
24
|
+
const baseTimeout = 240000; // 4 minutes (was 3 min)
|
|
25
|
+
const timeoutPerFile = 5000; // 5 seconds per file (was 2s) - GENEROUS
|
|
26
|
+
const timeoutPerPromptKB = 50; // 50ms per 1000 chars (was 10ms)
|
|
27
|
+
// Calculate prompt-based timeout
|
|
28
|
+
const promptSizeTimeout = Math.floor((prompt.length / 1000) * timeoutPerPromptKB);
|
|
29
|
+
// Detect complex domains (regulatory, compliance, financial, healthcare)
|
|
30
|
+
const complexityKeywords = [
|
|
31
|
+
'regulatory', 'compliance', 'hipaa', 'gdpr', 'sox', 'pci',
|
|
32
|
+
'financial', 'healthcare', 'medical', 'governance', 'audit',
|
|
33
|
+
'stewardship', 'privacy', 'security', 'encryption'
|
|
34
|
+
];
|
|
35
|
+
const isComplexDomain = complexityKeywords.some(kw => repoName.toLowerCase().includes(kw) ||
|
|
36
|
+
prompt.toLowerCase().includes(kw));
|
|
37
|
+
const complexityBonus = isComplexDomain ? 120000 : 0; // +2 min for complex domains (was +1min)
|
|
38
|
+
// Final adaptive timeout (max 10 minutes for HUGE repos - we can wait!)
|
|
39
|
+
// Examples:
|
|
40
|
+
// - Small simple repo (2 files): 240s + 10s = 250s (~4min)
|
|
41
|
+
// - Large simple repo (20 files): 240s + 100s = 340s (~5.5min)
|
|
42
|
+
// - Small complex repo (2 files): 240s + 10s + 120s = 370s (~6min)
|
|
43
|
+
// - HUGE complex repo (20 files): 240s + 100s + 120s = 460s (~7.5min)
|
|
44
|
+
const adaptiveTimeout = Math.min(baseTimeout + (samples.length * timeoutPerFile) + promptSizeTimeout + complexityBonus, 600000 // 10 minutes max (was 5 min) - GENEROUS for thorough analysis!
|
|
45
|
+
);
|
|
46
|
+
log(` Sending to LLM for deep analysis... (timeout: ${Math.round(adaptiveTimeout / 1000)}s, files: ${samples.length}, complex: ${isComplexDomain})`);
|
|
47
|
+
// Wrap LLM provider with adaptive timeout and retry logic
|
|
48
|
+
const maxRetries = 2;
|
|
49
|
+
let lastError = null;
|
|
50
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
51
|
+
// CRITICAL: Track timeout ID to prevent resource leak
|
|
52
|
+
// If LLM completes before timeout, we MUST cancel the timer
|
|
53
|
+
// Otherwise timer runs for full 4-10min holding closure memory
|
|
54
|
+
let timeoutId;
|
|
55
|
+
try {
|
|
56
|
+
// Create timeout promise with cancellable timer
|
|
57
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
58
|
+
timeoutId = setTimeout(() => reject(new Error(`Claude Code command timed out after ${adaptiveTimeout}ms`)), adaptiveTimeout);
|
|
59
|
+
});
|
|
60
|
+
// Race between LLM analysis and timeout
|
|
61
|
+
const result = await Promise.race([
|
|
62
|
+
llmProvider.analyze(prompt),
|
|
63
|
+
timeoutPromise
|
|
64
|
+
]);
|
|
65
|
+
// SUCCESS: Clear timeout immediately to prevent resource leak
|
|
66
|
+
if (timeoutId !== undefined) {
|
|
67
|
+
clearTimeout(timeoutId);
|
|
68
|
+
timeoutId = undefined;
|
|
69
|
+
}
|
|
70
|
+
if (!result || !result.content) {
|
|
71
|
+
return createBasicAnalysis(repoPath, repoName, samples);
|
|
72
|
+
}
|
|
73
|
+
const extraction = extractJson(result.content, { requiredFields: ['purpose'] });
|
|
74
|
+
if (extraction.success && extraction.data) {
|
|
75
|
+
log(` LLM analysis successful${attempt > 0 ? ` (after ${attempt} retry/retries)` : ''}`);
|
|
76
|
+
return convertLLMResponse(repoPath, repoName, extraction.data, samples.length);
|
|
77
|
+
}
|
|
21
78
|
return createBasicAnalysis(repoPath, repoName, samples);
|
|
22
79
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
80
|
+
catch (err) {
|
|
81
|
+
// ERROR/TIMEOUT: Clear timeout to prevent resource leak
|
|
82
|
+
if (timeoutId !== undefined) {
|
|
83
|
+
clearTimeout(timeoutId);
|
|
84
|
+
timeoutId = undefined;
|
|
85
|
+
}
|
|
86
|
+
lastError = err;
|
|
87
|
+
if (attempt < maxRetries) {
|
|
88
|
+
// Exponential backoff: 1s, 2s, 4s
|
|
89
|
+
const delay = Math.min(1000 * Math.pow(2, attempt), 10000);
|
|
90
|
+
log(` LLM attempt ${attempt + 1} failed: ${err.message}`);
|
|
91
|
+
log(` Retrying in ${delay}ms... (attempt ${attempt + 2}/${maxRetries + 1})`);
|
|
92
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
93
|
+
}
|
|
27
94
|
}
|
|
28
|
-
return createBasicAnalysis(repoPath, repoName, samples);
|
|
29
|
-
}
|
|
30
|
-
catch (err) {
|
|
31
|
-
log(` LLM error: ${err.message}`);
|
|
32
|
-
return createBasicAnalysis(repoPath, repoName, samples);
|
|
33
95
|
}
|
|
96
|
+
// All retries exhausted
|
|
97
|
+
log(` LLM error: ${lastError?.message || 'Unknown error'}`);
|
|
98
|
+
log(` Falling back to basic analysis (rule-based pattern detection)`);
|
|
99
|
+
return createBasicAnalysis(repoPath, repoName, samples);
|
|
34
100
|
}
|
|
35
101
|
function buildRepoAnalysisPrompt(repoName, samples) {
|
|
36
102
|
const filesContent = formatSamplesForPrompt(samples);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-repo-analyzer.js","sourceRoot":"","sources":["../../../../../src/core/living-docs/intelligent-analyzer/deep-repo-analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deep-repo-analyzer.js","sourceRoot":"","sources":["../../../../../src/core/living-docs/intelligent-analyzer/deep-repo-analyzer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specweave",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.23",
|
|
4
4
|
"description": "Spec-driven development framework for Claude Code. AI-native workflow with living documentation, intelligent agents, and multilingual support (9 languages). Enterprise-grade traceability with permanent specs and temporary increments.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
},
|
|
71
71
|
"homepage": "https://spec-weave.com",
|
|
72
72
|
"engines": {
|
|
73
|
-
"node": ">=20.
|
|
73
|
+
"node": ">=20.12.0"
|
|
74
74
|
},
|
|
75
75
|
"files": [
|
|
76
76
|
"dist",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
],
|
|
86
86
|
"dependencies": {
|
|
87
87
|
"@anthropic-ai/sdk": "^0.70.1",
|
|
88
|
-
"@inquirer/prompts": "^
|
|
88
|
+
"@inquirer/prompts": "^7.6.0",
|
|
89
89
|
"@octokit/rest": "^22.0.1",
|
|
90
90
|
"@types/handlebars": "^4.0.40",
|
|
91
91
|
"@types/prompts": "^2.4.9",
|