specweave 0.6.8 → 0.7.1
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-plugin/README.md +1 -1
- package/CLAUDE.md +903 -99
- package/README.md +143 -207
- package/bin/specweave.js +67 -0
- package/dist/cli/commands/abandon.d.ts +13 -0
- package/dist/cli/commands/abandon.d.ts.map +1 -0
- package/dist/cli/commands/abandon.js +15 -0
- package/dist/cli/commands/abandon.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +94 -18
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/pause.d.ts +13 -0
- package/dist/cli/commands/pause.d.ts.map +1 -0
- package/dist/cli/commands/pause.js +15 -0
- package/dist/cli/commands/pause.js.map +1 -0
- package/dist/cli/commands/qa.d.ts +54 -0
- package/dist/cli/commands/qa.d.ts.map +1 -0
- package/dist/cli/commands/qa.js +98 -0
- package/dist/cli/commands/qa.js.map +1 -0
- package/dist/cli/commands/resume.d.ts +12 -0
- package/dist/cli/commands/resume.d.ts.map +1 -0
- package/dist/cli/commands/resume.js +14 -0
- package/dist/cli/commands/resume.js.map +1 -0
- package/dist/cli/commands/status.d.ts +12 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +23 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/ado.d.ts +57 -0
- package/dist/cli/helpers/issue-tracker/ado.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/ado.js +223 -0
- package/dist/cli/helpers/issue-tracker/ado.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/github.d.ts +65 -0
- package/dist/cli/helpers/issue-tracker/github.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/github.js +284 -0
- package/dist/cli/helpers/issue-tracker/github.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/index.d.ts +22 -0
- package/dist/cli/helpers/issue-tracker/index.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/index.js +270 -0
- package/dist/cli/helpers/issue-tracker/index.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/jira.d.ts +61 -0
- package/dist/cli/helpers/issue-tracker/jira.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/jira.js +265 -0
- package/dist/cli/helpers/issue-tracker/jira.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/types.d.ts +86 -0
- package/dist/cli/helpers/issue-tracker/types.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/types.js +16 -0
- package/dist/cli/helpers/issue-tracker/types.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/utils.d.ts +103 -0
- package/dist/cli/helpers/issue-tracker/utils.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/utils.js +240 -0
- package/dist/cli/helpers/issue-tracker/utils.js.map +1 -0
- package/dist/core/increment/limits.d.ts +68 -0
- package/dist/core/increment/limits.d.ts.map +1 -0
- package/dist/core/increment/limits.js +224 -0
- package/dist/core/increment/limits.js.map +1 -0
- package/dist/core/increment/metadata-manager.d.ts +114 -0
- package/dist/core/increment/metadata-manager.d.ts.map +1 -0
- package/dist/core/increment/metadata-manager.js +320 -0
- package/dist/core/increment/metadata-manager.js.map +1 -0
- package/dist/core/increment/status-commands.d.ts +43 -0
- package/dist/core/increment/status-commands.d.ts.map +1 -0
- package/dist/core/increment/status-commands.js +277 -0
- package/dist/core/increment/status-commands.js.map +1 -0
- package/dist/core/plugin-detector.d.ts +1 -0
- package/dist/core/plugin-detector.d.ts.map +1 -1
- package/dist/core/plugin-detector.js +25 -0
- package/dist/core/plugin-detector.js.map +1 -1
- package/dist/core/qa/qa-runner.d.ts +16 -0
- package/dist/core/qa/qa-runner.d.ts.map +1 -0
- package/dist/core/qa/qa-runner.js +404 -0
- package/dist/core/qa/qa-runner.js.map +1 -0
- package/dist/core/qa/quality-gate-decider.d.ts +53 -0
- package/dist/core/qa/quality-gate-decider.d.ts.map +1 -0
- package/dist/core/qa/quality-gate-decider.js +268 -0
- package/dist/core/qa/quality-gate-decider.js.map +1 -0
- package/dist/core/qa/risk-calculator.d.ts +126 -0
- package/dist/core/qa/risk-calculator.d.ts.map +1 -0
- package/dist/core/qa/risk-calculator.js +247 -0
- package/dist/core/qa/risk-calculator.js.map +1 -0
- package/dist/core/qa/types.d.ts +315 -0
- package/dist/core/qa/types.d.ts.map +1 -0
- package/dist/core/qa/types.js +8 -0
- package/dist/core/qa/types.js.map +1 -0
- package/dist/core/types/config.d.ts +35 -0
- package/dist/core/types/config.d.ts.map +1 -1
- package/dist/core/types/config.js +16 -0
- package/dist/core/types/config.js.map +1 -1
- package/dist/core/types/increment-metadata.d.ts +120 -0
- package/dist/core/types/increment-metadata.d.ts.map +1 -0
- package/dist/core/types/increment-metadata.js +138 -0
- package/dist/core/types/increment-metadata.js.map +1 -0
- package/dist/hooks/lib/invoke-translator-skill.d.ts +60 -0
- package/dist/hooks/lib/invoke-translator-skill.d.ts.map +1 -0
- package/dist/hooks/lib/invoke-translator-skill.js +201 -0
- package/dist/hooks/lib/invoke-translator-skill.js.map +1 -0
- package/dist/hooks/lib/translate-file.d.ts +59 -0
- package/dist/hooks/lib/translate-file.d.ts.map +1 -0
- package/dist/hooks/lib/translate-file.js +350 -0
- package/dist/hooks/lib/translate-file.js.map +1 -0
- package/dist/locales/en/cli.json +3 -1
- package/dist/metrics/calculators/change-failure-rate.d.ts +22 -0
- package/dist/metrics/calculators/change-failure-rate.d.ts.map +1 -0
- package/dist/metrics/calculators/change-failure-rate.js +70 -0
- package/dist/metrics/calculators/change-failure-rate.js.map +1 -0
- package/dist/metrics/calculators/deployment-frequency.d.ts +20 -0
- package/dist/metrics/calculators/deployment-frequency.d.ts.map +1 -0
- package/dist/metrics/calculators/deployment-frequency.js +61 -0
- package/dist/metrics/calculators/deployment-frequency.js.map +1 -0
- package/dist/metrics/calculators/lead-time.d.ts +22 -0
- package/dist/metrics/calculators/lead-time.d.ts.map +1 -0
- package/dist/metrics/calculators/lead-time.js +82 -0
- package/dist/metrics/calculators/lead-time.js.map +1 -0
- package/dist/metrics/calculators/mttr.d.ts +21 -0
- package/dist/metrics/calculators/mttr.d.ts.map +1 -0
- package/dist/metrics/calculators/mttr.js +60 -0
- package/dist/metrics/calculators/mttr.js.map +1 -0
- package/dist/metrics/dora-calculator.d.ts +24 -0
- package/dist/metrics/dora-calculator.d.ts.map +1 -0
- package/dist/metrics/dora-calculator.js +104 -0
- package/dist/metrics/dora-calculator.js.map +1 -0
- package/dist/metrics/github-client.d.ts +51 -0
- package/dist/metrics/github-client.d.ts.map +1 -0
- package/dist/metrics/github-client.js +133 -0
- package/dist/metrics/github-client.js.map +1 -0
- package/dist/metrics/types.d.ts +112 -0
- package/dist/metrics/types.d.ts.map +1 -0
- package/dist/metrics/types.js +10 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/metrics/utils/percentile.d.ts +25 -0
- package/dist/metrics/utils/percentile.d.ts.map +1 -0
- package/dist/metrics/utils/percentile.js +46 -0
- package/dist/metrics/utils/percentile.js.map +1 -0
- package/dist/metrics/utils/tier-classifier.d.ts +61 -0
- package/dist/metrics/utils/tier-classifier.d.ts.map +1 -0
- package/dist/metrics/utils/tier-classifier.js +100 -0
- package/dist/metrics/utils/tier-classifier.js.map +1 -0
- package/dist/utils/auth-helpers.d.ts +58 -0
- package/dist/utils/auth-helpers.d.ts.map +1 -0
- package/dist/utils/auth-helpers.js +108 -0
- package/dist/utils/auth-helpers.js.map +1 -0
- package/dist/utils/env-file.d.ts +88 -0
- package/dist/utils/env-file.d.ts.map +1 -0
- package/dist/utils/env-file.js +180 -0
- package/dist/utils/env-file.js.map +1 -0
- package/dist/utils/plugin-detection.d.ts +50 -0
- package/dist/utils/plugin-detection.d.ts.map +1 -0
- package/dist/utils/plugin-detection.js +229 -0
- package/dist/utils/plugin-detection.js.map +1 -0
- package/dist/utils/secrets-loader.d.ts +88 -0
- package/dist/utils/secrets-loader.d.ts.map +1 -0
- package/dist/utils/secrets-loader.js +271 -0
- package/dist/utils/secrets-loader.js.map +1 -0
- package/dist/utils/translation.d.ts +187 -0
- package/dist/utils/translation.d.ts.map +1 -0
- package/dist/utils/translation.js +414 -0
- package/dist/utils/translation.js.map +1 -0
- package/package.json +28 -44
- package/plugins/specweave/.claude-plugin/plugin.json +3 -3
- package/plugins/specweave/agents/pm/AGENT.md +330 -54
- package/plugins/specweave/agents/test-aware-planner/AGENT.md +1035 -0
- package/plugins/specweave/agents/test-aware-planner/templates/README.md +118 -0
- package/plugins/specweave/agents/test-aware-planner/templates/task-non-testable.md.template +24 -0
- package/plugins/specweave/agents/test-aware-planner/templates/task-testable.md.template +53 -0
- package/plugins/specweave/agents/test-aware-planner/templates/tasks-frontmatter.md.template +11 -0
- package/plugins/specweave/commands/README.md +88 -163
- package/plugins/specweave/commands/specweave-abandon.md +314 -0
- package/plugins/specweave/commands/specweave-check-tests.md +546 -0
- package/plugins/specweave/commands/{do.md → specweave-do.md} +5 -7
- package/plugins/specweave/commands/{increment.md → specweave-increment.md} +231 -4
- package/plugins/specweave/commands/specweave-pause.md +189 -0
- package/plugins/specweave/commands/specweave-qa.md +245 -0
- package/plugins/specweave/commands/specweave-resume.md +216 -0
- package/plugins/specweave/commands/specweave-status.md +397 -0
- package/plugins/specweave/commands/specweave-sync-tasks.md +256 -0
- package/plugins/specweave/commands/{translate.md → specweave-translate.md} +3 -3
- package/plugins/specweave/commands/specweave-update-scope.md +351 -0
- package/plugins/specweave/commands/specweave.md +21 -21
- package/plugins/specweave/hooks/post-increment-planning.sh +335 -0
- package/plugins/specweave/hooks/post-task-completion.sh +141 -0
- package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
- package/plugins/specweave/skills/brownfield-analyzer/SKILL.md +9 -9
- package/plugins/specweave/skills/increment-planner/SKILL.md +400 -212
- package/plugins/specweave/skills/increment-quality-judge-v2/SKILL.md +499 -0
- package/plugins/specweave/skills/plugin-detector/SKILL.md +114 -1
- package/plugins/specweave/skills/project-kickstarter/SKILL.md +74 -1
- package/plugins/specweave/skills/{rfc-generator → spec-generator}/SKILL.md +22 -29
- package/plugins/specweave/skills/specweave-detector/SKILL.md +3 -3
- package/plugins/specweave/skills/specweave-framework/SKILL.md +2 -2
- package/plugins/specweave-ado/.claude-plugin/plugin.json +18 -4
- package/plugins/specweave-ado/agents/ado-manager/AGENT.md +426 -0
- package/plugins/specweave-ado/commands/close-workitem.md +52 -0
- package/plugins/specweave-ado/commands/create-workitem.md +53 -0
- package/plugins/specweave-ado/commands/status.md +53 -0
- package/plugins/specweave-ado/commands/sync.md +55 -0
- package/plugins/specweave-ado/lib/ado-client.ts +361 -0
- package/plugins/specweave-ado/reference/ado-specweave-mapping.md +552 -0
- package/plugins/specweave-ado/skills/ado-sync/SKILL.md +344 -193
- package/plugins/specweave-docs/skills/docusaurus/SKILL.md +73 -0
- package/plugins/specweave-github/agents/github-manager/AGENT.md +49 -0
- package/plugins/specweave-github/commands/{github-close-issue.md → close-issue.md} +1 -1
- package/plugins/specweave-github/commands/{github-create-issue.md → create-issue.md} +1 -1
- package/plugins/specweave-github/commands/{github-status.md → status.md} +1 -1
- package/plugins/specweave-github/commands/{github-sync-tasks.md → sync-tasks.md} +1 -1
- package/plugins/specweave-github/commands/{github-sync.md → sync.md} +1 -1
- package/plugins/specweave-github/reference/github-specweave-mapping.md +377 -0
- package/plugins/specweave-github/skills/github-sync/SKILL.md +11 -3
- package/plugins/specweave-infrastructure/commands/{specweave.monitor-setup.md → monitor-setup.md} +5 -0
- package/plugins/specweave-infrastructure/commands/{specweave.slo-implement.md → slo-implement.md} +5 -0
- package/plugins/specweave-jira/agents/jira-manager/AGENT.md +380 -0
- package/plugins/specweave-jira/commands/{specweave.sync-jira.md → sync.md} +1 -1
- package/plugins/specweave-jira/reference/jira-specweave-mapping.md +508 -0
- package/plugins/specweave-ml/commands/ml-deploy.md +1 -1
- package/plugins/specweave-ml/commands/ml-evaluate.md +1 -1
- package/plugins/specweave-ml/commands/ml-explain.md +1 -1
- package/plugins/specweave-ml/commands/{specweave.ml-pipeline.md → ml-pipeline.md} +5 -0
- package/src/templates/AGENTS.md.template +331 -31
- package/src/templates/CLAUDE.md.template +36 -21
- package/src/templates/COMPLETION-REPORT.template.md +128 -0
- package/src/templates/README.md.template +17 -16
- package/src/templates/docs/README.md +11 -9
- package/src/templates/docs/spec-template.md +229 -0
- package/plugins/specweave/commands/inc.md +0 -85
- package/plugins/specweave/commands/list-increments.md +0 -180
- package/src/adapters/README.md +0 -275
- package/src/adapters/adapter-base.ts +0 -182
- package/src/adapters/adapter-interface.ts +0 -166
- package/src/adapters/adapter-loader.ts +0 -256
- package/src/adapters/agents-md-generator.ts +0 -228
- package/src/adapters/claude/README.md +0 -233
- package/src/adapters/claude/adapter.ts +0 -468
- package/src/adapters/claude-md-generator.ts +0 -377
- package/src/adapters/codex/README.md +0 -105
- package/src/adapters/codex/adapter.ts +0 -333
- package/src/adapters/cursor/.cursor/context/docs-context.md +0 -62
- package/src/adapters/cursor/.cursor/context/increments-context.md +0 -71
- package/src/adapters/cursor/.cursor/context/strategy-context.md +0 -73
- package/src/adapters/cursor/.cursor/context/tests-context.md +0 -89
- package/src/adapters/cursor/README.md +0 -283
- package/src/adapters/cursor/adapter.ts +0 -451
- package/src/adapters/doc-generator.ts +0 -331
- package/src/adapters/gemini/README.md +0 -97
- package/src/adapters/gemini/adapter.ts +0 -298
- package/src/adapters/generic/README.md +0 -277
- package/src/adapters/generic/adapter.ts +0 -378
- package/src/adapters/registry.yaml +0 -187
- /package/plugins/specweave/commands/{costs.md → specweave-costs.md} +0 -0
- /package/plugins/specweave/commands/{done.md → specweave-done.md} +0 -0
- /package/plugins/specweave/commands/{next.md → specweave-next.md} +0 -0
- /package/plugins/specweave/commands/{progress.md → specweave-progress.md} +0 -0
- /package/plugins/specweave/commands/{sync-docs.md → specweave-sync-docs.md} +0 -0
- /package/plugins/specweave/commands/{tdd-cycle.md → specweave-tdd-cycle.md} +0 -0
- /package/plugins/specweave/commands/{tdd-green.md → specweave-tdd-green.md} +0 -0
- /package/plugins/specweave/commands/{tdd-red.md → specweave-tdd-red.md} +0 -0
- /package/plugins/specweave/commands/{tdd-refactor.md → specweave-tdd-refactor.md} +0 -0
- /package/plugins/specweave/commands/{validate.md → specweave-validate.md} +0 -0
package/README.md
CHANGED
|
@@ -1,271 +1,203 @@
|
|
|
1
1
|
# SpecWeave
|
|
2
2
|
|
|
3
|
-
> **
|
|
3
|
+
> **AI made us fast. SpecWeave makes us sustainable.**
|
|
4
4
|
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
|
+
[](https://github.com/anton-abyzov/specweave/actions/workflows/test.yml)
|
|
7
|
+
[](https://github.com/anton-abyzov/specweave/actions/workflows/e2e-smoke-test.yml)
|
|
8
|
+
[](https://discord.gg/UYg4BGJ65V)
|
|
9
|
+
[](https://www.youtube.com/@antonabyzov)
|
|
6
10
|
|
|
7
11
|
---
|
|
8
12
|
|
|
9
|
-
##
|
|
13
|
+
## The Problem Everyone Feels But Nobody Talks About
|
|
14
|
+
|
|
15
|
+
Your AI coding assistant writes features in 30 minutes.
|
|
16
|
+
|
|
17
|
+
You spend 3 days updating documentation.
|
|
10
18
|
|
|
11
|
-
|
|
19
|
+
By day 4, the code has changed again.
|
|
12
20
|
|
|
13
|
-
**
|
|
21
|
+
**The docs? Already wrong.**
|
|
14
22
|
|
|
15
23
|
---
|
|
16
24
|
|
|
17
|
-
##
|
|
25
|
+
## The Dirty Secret of AI Coding
|
|
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.
|
|
18
34
|
|
|
19
|
-
|
|
20
|
-
- ❌ Documentation becomes outdated and ignored
|
|
21
|
-
- ❌ "Vibe coding" - making it up as you go
|
|
22
|
-
- ❌ Breaking existing code during changes
|
|
23
|
-
- ❌ Tribal knowledge scattered across team
|
|
24
|
-
- ❌ Weeks of onboarding new developers
|
|
35
|
+
New developers? Lost in 1 hour.
|
|
25
36
|
|
|
26
|
-
|
|
27
|
-
- ✅ **Living Documentation** - Auto-updates after every task via Claude Code hooks
|
|
28
|
-
- ✅ **Specification-First** - Define requirements before implementation
|
|
29
|
-
- ✅ **Regression Prevention** - Document existing code before modifications
|
|
30
|
-
- ✅ **Intelligent Automation** - PM, Architect, and QA agents work autonomously
|
|
31
|
-
- ✅ **Zero Setup** - Works out of the box with Claude Code's native plugin system
|
|
37
|
+
**This is not sustainable.**
|
|
32
38
|
|
|
33
39
|
---
|
|
34
40
|
|
|
35
|
-
##
|
|
41
|
+
## The Fortune 500 Gap
|
|
36
42
|
|
|
37
|
-
|
|
43
|
+
Big companies don't have this problem.
|
|
38
44
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
|
42
51
|
|
|
43
|
-
|
|
44
|
-
specweave init my-project
|
|
45
|
-
cd my-project
|
|
52
|
+
Their docs stay updated because there's a team, a process, a **discipline**.
|
|
46
53
|
|
|
47
|
-
|
|
48
|
-
```
|
|
54
|
+
But for solo developers and small teams?
|
|
49
55
|
|
|
50
|
-
**
|
|
51
|
-
1. ✅ Created `.specweave/` structure (increments, docs, logs)
|
|
52
|
-
2. ✅ Auto-installed `specweave` plugin globally via `/plugin install`
|
|
53
|
-
3. ✅ Slash commands like `/specweave:inc` immediately available
|
|
54
|
-
4. ✅ Skills and agents ready to use
|
|
56
|
+
**Impossible to maintain manually.**
|
|
55
57
|
|
|
56
58
|
---
|
|
57
59
|
|
|
58
|
-
##
|
|
60
|
+
## What is SpecWeave?
|
|
59
61
|
|
|
60
|
-
**
|
|
62
|
+
**Fortune 500 discipline. Zero overhead. AI-native.**
|
|
61
63
|
|
|
62
|
-
|
|
64
|
+
SpecWeave is a spec-driven development framework that brings enterprise-grade processes to developers of any size—without the bureaucracy.
|
|
63
65
|
|
|
64
|
-
|
|
66
|
+
It's not just a tool. **It's a movement.**
|
|
65
67
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
> *"Dad, AI writes your code but you update docs MANUALLY?"*
|
|
69
|
+
> — My 14-year-old daughter (who was absolutely right)
|
|
70
|
+
|
|
71
|
+
**The new way:**
|
|
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**
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## What Changes
|
|
69
81
|
|
|
70
|
-
**
|
|
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**
|
|
71
87
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
88
|
+
**AFTER (SpecWeave):**
|
|
89
|
+
- Check ADR-003: JWT vs Session Tokens (we chose JWT, here's why)
|
|
90
|
+
- Check HLD: Database section (Postgres for ACID compliance)
|
|
91
|
+
- Check Glossary: All technical terms defined
|
|
92
|
+
- New developer: **Productive in 1 hour**
|
|
75
93
|
|
|
76
|
-
|
|
77
|
-
- ☑ Basic operations (+, -, ×, ÷)
|
|
78
|
-
- ☑ Additional functions (%, √, clear, backspace)
|
|
79
|
-
- ☑ Keyboard support
|
|
80
|
-
- ☑ Calculation history
|
|
81
|
-
- ☐ Type something custom...
|
|
94
|
+
---
|
|
82
95
|
|
|
83
|
-
|
|
84
|
-
- Vanilla HTML/CSS/JS
|
|
85
|
-
- React
|
|
86
|
-
- Your choice
|
|
87
|
-
- Type something custom...
|
|
96
|
+
## 📊 Engineering Metrics (DORA)
|
|
88
97
|
|
|
89
|
-
|
|
98
|
+
[](https://spec-weave.com/docs/metrics)
|
|
99
|
+
[](https://spec-weave.com/docs/metrics)
|
|
100
|
+
[](https://spec-weave.com/docs/metrics)
|
|
101
|
+
[](https://spec-weave.com/docs/metrics)
|
|
90
102
|
|
|
91
|
-
|
|
103
|
+
[View detailed metrics dashboard →](https://spec-weave.com/docs/metrics)
|
|
92
104
|
|
|
93
|
-
|
|
105
|
+
---
|
|
94
106
|
|
|
95
|
-
|
|
107
|
+
## 📖 Full Documentation
|
|
96
108
|
|
|
97
|
-
|
|
98
|
-
# 1. Plan your first feature (PM-led workflow)
|
|
99
|
-
/specweave:inc "User authentication with JWT"
|
|
100
|
-
|
|
101
|
-
# SpecWeave creates:
|
|
102
|
-
# ✅ spec.md (WHAT & WHY)
|
|
103
|
-
# ✅ plan.md (HOW - architecture)
|
|
104
|
-
# ✅ tasks.md (auto-generated from plan!)
|
|
105
|
-
# ✅ tests.md (test strategy)
|
|
106
|
-
|
|
107
|
-
# 2. Implement (auto-resumes from last task)
|
|
108
|
-
/specweave:do
|
|
109
|
-
|
|
110
|
-
# Hooks run after EVERY task:
|
|
111
|
-
# ✅ Updates living docs automatically
|
|
112
|
-
# ✅ Syncs architectural decisions
|
|
113
|
-
# ✅ Maintains test coverage
|
|
114
|
-
|
|
115
|
-
# 3. Check progress anytime
|
|
116
|
-
/specweave:progress
|
|
117
|
-
# Shows: 73% complete (11/15 tasks), next action: "Implement login API"
|
|
118
|
-
|
|
119
|
-
# 4. Start next feature (auto-closes previous)
|
|
120
|
-
/specweave:inc "Payment processing with Stripe"
|
|
121
|
-
# ✅ Auto-closes 0001 if complete
|
|
122
|
-
# ✅ Creates 0002-payment-processing
|
|
123
|
-
# ✅ Detects Stripe keyword → suggests specweave-payments plugin
|
|
124
|
-
```
|
|
109
|
+
**For complete guides, tutorials, and API reference:**
|
|
125
110
|
|
|
126
|
-
**
|
|
111
|
+
### **[spec-weave.com](https://spec-weave.com)**
|
|
127
112
|
|
|
128
113
|
---
|
|
129
114
|
|
|
130
|
-
##
|
|
115
|
+
## Quick Start
|
|
131
116
|
|
|
132
|
-
|
|
117
|
+
```bash
|
|
118
|
+
# Install SpecWeave CLI
|
|
119
|
+
npm install -g specweave
|
|
133
120
|
|
|
134
|
-
|
|
121
|
+
# Initialize your project
|
|
122
|
+
specweave init my-project
|
|
123
|
+
cd my-project
|
|
135
124
|
|
|
125
|
+
# Start building - SpecWeave guides you through the entire workflow
|
|
126
|
+
/specweave:increment "User authentication" # Plan increment
|
|
127
|
+
/specweave:do # Implement tasks (auto-pauses if blocked, auto-resumes when ready)
|
|
128
|
+
/specweave:done 0001 # Complete increment
|
|
136
129
|
```
|
|
137
|
-
Core Plugin (always loaded):
|
|
138
|
-
├── Skills (9) → Auto-activate based on context
|
|
139
|
-
├── Agents (22) → PM, Architect, QA work autonomously
|
|
140
|
-
├── Commands (22) → /specweave:inc, /specweave:do, etc.
|
|
141
|
-
└── Hooks (8) → Auto-update docs after every task
|
|
142
|
-
|
|
143
|
-
Optional Plugins (install on demand):
|
|
144
|
-
├── specweave-github → GitHub Issues sync
|
|
145
|
-
├── specweave-figma → Design integration
|
|
146
|
-
├── specweave-frontend → React, Next.js expertise
|
|
147
|
-
└── 15+ more plugins → Load only what you need
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
**Result**: 75%+ context reduction (12K tokens vs 50K in older approaches)
|
|
151
130
|
|
|
152
|
-
|
|
131
|
+
**New to SpecWeave?** → **[Getting Started Guide](https://spec-weave.com/docs/guides/getting-started/quickstart)**
|
|
153
132
|
|
|
154
|
-
|
|
155
|
-
- PM agent does market research
|
|
156
|
-
- Creates `spec.md` (requirements)
|
|
157
|
-
- Architect creates `plan.md` (design)
|
|
158
|
-
- Auto-generates `tasks.md` from plan
|
|
159
|
-
- QA creates test strategy
|
|
133
|
+
---
|
|
160
134
|
|
|
161
|
-
|
|
162
|
-
- Auto-resumes from next incomplete task
|
|
163
|
-
- Hooks run after EVERY task completion:
|
|
164
|
-
- Syncs living docs
|
|
165
|
-
- Updates architectural decisions
|
|
166
|
-
- Maintains test coverage
|
|
135
|
+
## Key Features
|
|
167
136
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
- Identifies next action
|
|
171
|
-
- Optional quality gates via LLM-as-judge
|
|
137
|
+
### 🧪 Test-Aware Planning
|
|
138
|
+
Embedded test plans in every task with BDD format (Given/When/Then) for clarity
|
|
172
139
|
|
|
173
|
-
|
|
140
|
+
### 🎯 Disciplined Progress
|
|
141
|
+
Cannot start increment N+1 until N is DONE - enforces completion before moving forward
|
|
174
142
|
|
|
175
|
-
|
|
143
|
+
### ⏸️ Intelligent Status Management
|
|
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
|
|
176
145
|
|
|
177
|
-
|
|
146
|
+
### 📚 Living Documentation
|
|
147
|
+
Auto-updates after every task via Claude Code hooks - never outdated
|
|
178
148
|
|
|
179
|
-
|
|
149
|
+
### 🤖 Intelligent Agents
|
|
150
|
+
PM Agent, Architect, test-aware-planner, Quality Judge - specialized AI agents guide you
|
|
180
151
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
cd my-existing-project
|
|
184
|
-
specweave init .
|
|
185
|
-
|
|
186
|
-
# Analyze and document existing code
|
|
187
|
-
"Analyze my authentication module and create comprehensive documentation"
|
|
188
|
-
|
|
189
|
-
# SpecWeave creates:
|
|
190
|
-
# ✅ Retroactive specifications (WHAT/WHY)
|
|
191
|
-
# ✅ Architecture diagrams (HLDs, C4 Model)
|
|
192
|
-
# ✅ Decision records (ADRs)
|
|
193
|
-
# ✅ Baseline tests (regression prevention)
|
|
194
|
-
# ✅ Living documentation (auto-updates from now on)
|
|
195
|
-
|
|
196
|
-
# Now safe to modify
|
|
197
|
-
/specweave:inc "Add OAuth to authentication"
|
|
198
|
-
# ✅ Updates existing specs
|
|
199
|
-
# ✅ Extends architecture docs
|
|
200
|
-
# ✅ Prevents regression with baseline tests
|
|
201
|
-
```
|
|
152
|
+
### 🌍 Multilingual Support
|
|
153
|
+
Work in 9 languages (Russian, Spanish, Chinese, German, French, Japanese, Korean, Portuguese) with zero-cost LLM-native translation
|
|
202
154
|
|
|
203
|
-
**
|
|
204
|
-
- ✅ Merge existing docs (wikis, legacy CLAUDE.md files)
|
|
205
|
-
- ✅ Create complex architecture (ADRs, HLDs, RFCs, C4 diagrams)
|
|
206
|
-
- ✅ Living documentation from day one
|
|
207
|
-
- ✅ Regression prevention via baseline tests
|
|
208
|
-
- ✅ Knowledge preservation (no more tribal knowledge)
|
|
155
|
+
**[→ Explore All Features](https://spec-weave.com/docs/overview/features)**
|
|
209
156
|
|
|
210
157
|
---
|
|
211
158
|
|
|
212
|
-
##
|
|
213
|
-
|
|
214
|
-
**SpecWeave enforces ONE root-level `.specweave/` folder** - nested folders are not supported.
|
|
159
|
+
## For Brownfield Projects
|
|
215
160
|
|
|
216
|
-
|
|
161
|
+
Initialize SpecWeave in existing codebases to create retroactive specifications, architecture diagrams, and living documentation.
|
|
217
162
|
|
|
218
|
-
|
|
219
|
-
# Create parent folder
|
|
220
|
-
mkdir my-big-project
|
|
221
|
-
cd my-big-project
|
|
222
|
-
specweave init .
|
|
223
|
-
|
|
224
|
-
# Clone repos as subdirectories
|
|
225
|
-
git clone https://github.com/myorg/auth-service.git
|
|
226
|
-
git clone https://github.com/myorg/payment-service.git
|
|
227
|
-
git clone https://github.com/myorg/frontend.git
|
|
228
|
-
|
|
229
|
-
# Result: ONE .specweave/ for entire system
|
|
230
|
-
# ✅ Cross-service increments natural
|
|
231
|
-
# ✅ System-wide architecture in one place
|
|
232
|
-
# ✅ Each repo keeps its own git history
|
|
233
|
-
```
|
|
163
|
+
**[→ Brownfield Guide](https://spec-weave.com/docs/workflows/brownfield)**
|
|
234
164
|
|
|
235
165
|
---
|
|
236
166
|
|
|
237
|
-
##
|
|
167
|
+
## Documentation Hub
|
|
238
168
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
│ │ │ └── reports/ # Analysis, logs, scripts
|
|
249
|
-
│ │ └── 0002-next-feature/
|
|
250
|
-
│ ├── docs/
|
|
251
|
-
│ │ ├── internal/ # Strategy, architecture, ADRs, RFCs
|
|
252
|
-
│ │ └── public/ # User-facing docs
|
|
253
|
-
│ └── logs/
|
|
254
|
-
│
|
|
255
|
-
├── src/ # Your code
|
|
256
|
-
└── tests/ # Your tests
|
|
257
|
-
```
|
|
169
|
+
**Learn SpecWeave:**
|
|
170
|
+
- 📘 [What is SpecWeave?](https://spec-weave.com/docs/overview/introduction)
|
|
171
|
+
- 🚀 [Quickstart Guide](https://spec-weave.com/docs/guides/getting-started/quickstart)
|
|
172
|
+
- 🏗️ [Complete Workflow Journey](https://spec-weave.com/docs/workflows/overview)
|
|
173
|
+
- ❓ [FAQ - Common Questions](https://spec-weave.com/docs/faq)
|
|
174
|
+
|
|
175
|
+
**Commands & API:**
|
|
176
|
+
- 📋 [Commands Reference](https://spec-weave.com/docs/commands/status-management)
|
|
177
|
+
- 🔧 [API Documentation](https://spec-weave.com/docs/api)
|
|
258
178
|
|
|
259
|
-
**
|
|
179
|
+
**Advanced Topics:**
|
|
180
|
+
- 📊 [DORA Metrics Dashboard](https://spec-weave.com/docs/metrics)
|
|
181
|
+
- 🏢 [Brownfield Integration](https://spec-weave.com/docs/workflows/brownfield)
|
|
182
|
+
- 🌍 [Multilingual Support](https://spec-weave.com/docs/tutorial-extras/multilingual-support)
|
|
183
|
+
- 🔗 [GitHub Actions Setup](https://spec-weave.com/docs/guides/github-action-setup)
|
|
260
184
|
|
|
261
185
|
---
|
|
262
186
|
|
|
263
|
-
##
|
|
187
|
+
## Community & Support
|
|
188
|
+
|
|
189
|
+
**Join the Community:**
|
|
264
190
|
|
|
265
|
-
-
|
|
266
|
-
-
|
|
267
|
-
-
|
|
268
|
-
-
|
|
191
|
+
- 💬 **[Discord Server](https://discord.gg/UYg4BGJ65V)** - Get help, share tips, discuss features
|
|
192
|
+
- 🎥 **[YouTube Channel](https://www.youtube.com/@antonabyzov)** - Tutorials, demos, deep dives
|
|
193
|
+
- 📖 **[Documentation](https://spec-weave.com)** - Complete guides and API reference
|
|
194
|
+
- 🐛 **[GitHub Issues](https://github.com/anton-abyzov/specweave/issues)** - Bug reports and feature requests
|
|
195
|
+
- 💡 **[GitHub Discussions](https://github.com/anton-abyzov/specweave/discussions)** - Q&A and community discussions
|
|
196
|
+
|
|
197
|
+
**Need Help?**
|
|
198
|
+
1. Check the **[FAQ](https://spec-weave.com/docs/faq)** first
|
|
199
|
+
2. Ask in **[Discord](https://discord.gg/UYg4BGJ65V)** for quick answers
|
|
200
|
+
3. Create a **[GitHub Discussion](https://github.com/anton-abyzov/specweave/discussions)** for detailed questions
|
|
269
201
|
|
|
270
202
|
---
|
|
271
203
|
|
|
@@ -291,19 +223,23 @@ npm test
|
|
|
291
223
|
4. Add tests (minimum 3 test cases)
|
|
292
224
|
5. Create PR to `develop` branch
|
|
293
225
|
|
|
226
|
+
**[→ Contributor Guide](https://spec-weave.com/docs/guides/contributing)**
|
|
227
|
+
|
|
294
228
|
---
|
|
295
229
|
|
|
296
|
-
##
|
|
230
|
+
## Best Results with Claude Code
|
|
297
231
|
|
|
298
|
-
SpecWeave
|
|
232
|
+
SpecWeave gives **best results with Claude Code** due to unique capabilities:
|
|
299
233
|
|
|
300
|
-
- ✅ **Native Plugin Marketplace** -
|
|
301
|
-
- ✅ **Auto-Activating Skills** -
|
|
302
|
-
- ✅ **Isolated Agent Contexts** - True role separation
|
|
303
|
-
- ✅ **Pre/Post Lifecycle Hooks** - Automated living docs sync
|
|
234
|
+
- ✅ **Native Plugin Marketplace** - Skills and agents auto-activate (no manual setup)
|
|
235
|
+
- ✅ **Auto-Activating Skills** - Context-aware activation (no @ mentions)
|
|
236
|
+
- ✅ **Isolated Agent Contexts** - True multi-agent role separation
|
|
237
|
+
- ✅ **Pre/Post Lifecycle Hooks** - Automated living docs sync after every task
|
|
304
238
|
- ✅ **MCP Protocol** - Industry standard for context management
|
|
305
239
|
|
|
306
|
-
**
|
|
240
|
+
**Also works with**: Cursor, GitHub Copilot, ChatGPT (with manual workflow, reduced automation)
|
|
241
|
+
|
|
242
|
+
**[→ Tool Comparison](https://spec-weave.com/docs/overview/features#claude-code-native)**
|
|
307
243
|
|
|
308
244
|
---
|
|
309
245
|
|
|
@@ -325,6 +261,6 @@ SpecWeave is inspired by:
|
|
|
325
261
|
|
|
326
262
|
---
|
|
327
263
|
|
|
328
|
-
**SpecWeave** -
|
|
264
|
+
**SpecWeave** - AI made us fast. SpecWeave makes us sustainable.
|
|
329
265
|
|
|
330
|
-
**Get started**: `npm install -g specweave` → `specweave init my-project`
|
|
266
|
+
**Get started**: `npm install -g specweave` → `specweave init my-project` → **[Read the Docs](https://spec-weave.com)**
|
package/bin/specweave.js
CHANGED
|
@@ -94,6 +94,65 @@ program
|
|
|
94
94
|
await pluginCommand(action, pluginName, options);
|
|
95
95
|
});
|
|
96
96
|
|
|
97
|
+
// Increment status commands
|
|
98
|
+
program
|
|
99
|
+
.command('pause <increment-id>')
|
|
100
|
+
.description('Pause an active increment')
|
|
101
|
+
.option('-r, --reason <text>', 'Reason for pausing')
|
|
102
|
+
.option('-f, --force', 'Force pause (update reason if already paused)')
|
|
103
|
+
.action(async (incrementId, options) => {
|
|
104
|
+
const { pauseCommand } = await import('../dist/cli/commands/pause.js');
|
|
105
|
+
await pauseCommand(incrementId, options);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
program
|
|
109
|
+
.command('resume <increment-id>')
|
|
110
|
+
.description('Resume a paused or abandoned increment')
|
|
111
|
+
.option('-f, --force', 'Force resume (bypass WIP limit checks)')
|
|
112
|
+
.action(async (incrementId, options) => {
|
|
113
|
+
const { resumeCommand } = await import('../dist/cli/commands/resume.js');
|
|
114
|
+
await resumeCommand(incrementId, options);
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
program
|
|
118
|
+
.command('abandon <increment-id>')
|
|
119
|
+
.description('Abandon an increment')
|
|
120
|
+
.option('-r, --reason <text>', 'Reason for abandoning')
|
|
121
|
+
.option('-f, --force', 'Force abandon (skip confirmation)')
|
|
122
|
+
.action(async (incrementId, options) => {
|
|
123
|
+
const { abandonCommand } = await import('../dist/cli/commands/abandon.js');
|
|
124
|
+
await abandonCommand(incrementId, options);
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
program
|
|
128
|
+
.command('status')
|
|
129
|
+
.description('Show increment status overview')
|
|
130
|
+
.option('-v, --verbose', 'Show detailed information')
|
|
131
|
+
.option('-t, --type <type>', 'Filter by increment type (feature, hotfix, bug, etc.)')
|
|
132
|
+
.action(async (options) => {
|
|
133
|
+
const { statusCommand } = await import('../dist/cli/commands/status.js');
|
|
134
|
+
await statusCommand(options);
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
// QA command - Quality assessment
|
|
138
|
+
program
|
|
139
|
+
.command('qa <increment-id>')
|
|
140
|
+
.description('Run quality assessment on an increment')
|
|
141
|
+
.option('--quick', 'Quick mode (default)')
|
|
142
|
+
.option('--pre', 'Pre-implementation check')
|
|
143
|
+
.option('--gate', 'Quality gate check (comprehensive)')
|
|
144
|
+
.option('--full', 'Full multi-agent mode (Phase 3)')
|
|
145
|
+
.option('--ci', 'CI mode (exit 1 on FAIL)')
|
|
146
|
+
.option('--no-ai', 'Skip AI assessment (rule-based only)')
|
|
147
|
+
.option('--silent', 'Minimal output')
|
|
148
|
+
.option('--export', 'Export blockers/concerns to tasks.md')
|
|
149
|
+
.option('-f, --force', 'Force run even if rule-based fails')
|
|
150
|
+
.option('-v, --verbose', 'Show recommendations')
|
|
151
|
+
.action(async (incrementId, options) => {
|
|
152
|
+
const { qaCommand } = await import('../dist/cli/commands/qa.js');
|
|
153
|
+
await qaCommand(incrementId, options);
|
|
154
|
+
});
|
|
155
|
+
|
|
97
156
|
// Help text
|
|
98
157
|
program.on('--help', () => {
|
|
99
158
|
console.log('');
|
|
@@ -110,6 +169,14 @@ program.on('--help', () => {
|
|
|
110
169
|
console.log(' $ specweave install --global # Install all (interactive)');
|
|
111
170
|
console.log(' $ specweave list # List all available components');
|
|
112
171
|
console.log(' $ specweave list --installed # Show installed components');
|
|
172
|
+
console.log(' $ specweave status # Show all increments status');
|
|
173
|
+
console.log(' $ specweave status --verbose # Show detailed increment info');
|
|
174
|
+
console.log(' $ specweave pause 0007 --reason "blocked" # Pause increment 0007');
|
|
175
|
+
console.log(' $ specweave resume 0007 # Resume increment 0007');
|
|
176
|
+
console.log(' $ specweave abandon 0007 --reason "obsolete" # Abandon increment 0007');
|
|
177
|
+
console.log(' $ specweave qa 0008 # Quick quality check');
|
|
178
|
+
console.log(' $ specweave qa 0008 --pre # Pre-implementation check');
|
|
179
|
+
console.log(' $ specweave qa 0008 --gate --export # Quality gate + export to tasks');
|
|
113
180
|
console.log('');
|
|
114
181
|
console.log('Supported AI Tools:');
|
|
115
182
|
console.log(' - Claude Code (full automation) - Native skills, agents, hooks');
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface AbandonCommandOptions {
|
|
2
|
+
reason?: string;
|
|
3
|
+
force?: boolean;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* CLI command to abandon an increment
|
|
7
|
+
*
|
|
8
|
+
* @param incrementId - The increment ID to abandon (e.g., "0007")
|
|
9
|
+
* @param options - Command options (reason, force)
|
|
10
|
+
*/
|
|
11
|
+
export declare function abandonCommand(incrementId: string, options?: AbandonCommandOptions): Promise<void>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=abandon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abandon.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/abandon.ts"],"names":[],"mappings":"AAEA,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5G"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { abandonIncrement } from '../../core/increment/status-commands.js';
|
|
2
|
+
/**
|
|
3
|
+
* CLI command to abandon an increment
|
|
4
|
+
*
|
|
5
|
+
* @param incrementId - The increment ID to abandon (e.g., "0007")
|
|
6
|
+
* @param options - Command options (reason, force)
|
|
7
|
+
*/
|
|
8
|
+
export async function abandonCommand(incrementId, options = {}) {
|
|
9
|
+
await abandonIncrement({
|
|
10
|
+
incrementId,
|
|
11
|
+
reason: options.reason,
|
|
12
|
+
force: options.force
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=abandon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abandon.js","sourceRoot":"","sources":["../../../src/cli/commands/abandon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,yCAAyC,CAAC;AAO3F;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,WAAmB,EAAE,UAAiC,EAAE;IAC3F,MAAM,gBAAgB,CAAC;QACrB,WAAW;QACX,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAmBA,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAmBA,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA8pBf"}
|