specweave 1.0.255 → 1.0.256
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 +24 -24
- package/README.md +138 -203
- package/dist/src/core/ac-checkbox-formatter.d.ts +24 -0
- package/dist/src/core/ac-checkbox-formatter.d.ts.map +1 -0
- package/dist/src/core/ac-checkbox-formatter.js +35 -0
- package/dist/src/core/ac-checkbox-formatter.js.map +1 -0
- package/dist/src/core/ac-progress-sync.d.ts +116 -0
- package/dist/src/core/ac-progress-sync.d.ts.map +1 -0
- package/dist/src/core/ac-progress-sync.js +272 -0
- package/dist/src/core/ac-progress-sync.js.map +1 -0
- package/dist/src/core/fabric/registry-schema.d.ts +79 -0
- package/dist/src/core/fabric/registry-schema.d.ts.map +1 -0
- package/dist/src/core/fabric/registry-schema.js +6 -0
- package/dist/src/core/fabric/registry-schema.js.map +1 -0
- package/dist/src/core/fabric/security-scanner.d.ts +12 -0
- package/dist/src/core/fabric/security-scanner.d.ts.map +1 -0
- package/dist/src/core/fabric/security-scanner.js +219 -0
- package/dist/src/core/fabric/security-scanner.js.map +1 -0
- package/dist/src/core/types/sync-profile.d.ts +44 -0
- package/dist/src/core/types/sync-profile.d.ts.map +1 -1
- package/dist/src/core/types/sync-profile.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/hooks/v2/dispatchers/post-tool-use.sh +4 -4
- package/plugins/{specweave-github/hooks/github-ac-sync-handler.sh → specweave/hooks/v2/handlers/ac-sync-dispatcher.sh} +96 -92
- package/plugins/specweave/skills/architect/SKILL.md +1 -1
- package/plugins/specweave/skills/auto/SKILL.md +1 -1
- package/plugins/specweave/skills/cancel-auto/SKILL.md +1 -1
- package/plugins/specweave/skills/code-simplifier/SKILL.md +1 -1
- package/plugins/specweave/skills/do/SKILL.md +1 -1
- package/plugins/specweave/skills/docs/SKILL.md +1 -1
- package/plugins/specweave/skills/docs-updater/SKILL.md +1 -1
- package/plugins/specweave/skills/done/SKILL.md +13 -70
- package/plugins/specweave/skills/framework/SKILL.md +1 -1
- package/plugins/specweave/skills/grill/SKILL.md +1 -1
- package/plugins/specweave/skills/increment/SKILL.md +1 -1
- package/plugins/specweave/skills/increment-planner/SKILL.md +1 -1
- package/plugins/specweave/skills/lsp/SKILL.md +1 -1
- package/plugins/specweave/skills/pm/SKILL.md +1 -1
- package/plugins/specweave/skills/progress/SKILL.md +1 -1
- package/plugins/specweave/skills/save/SKILL.md +1 -1
- package/plugins/specweave/skills/security/SKILL.md +1 -1
- package/plugins/specweave/skills/security-patterns/SKILL.md +1 -1
- package/plugins/specweave/skills/tdd-cycle/SKILL.md +1 -1
- package/plugins/specweave/skills/tdd-green/SKILL.md +1 -1
- package/plugins/specweave/skills/tdd-orchestrator/SKILL.md +1 -1
- package/plugins/specweave/skills/tdd-red/SKILL.md +1 -1
- package/plugins/specweave/skills/validate/SKILL.md +1 -1
- package/plugins/specweave-github/commands/sync.md +1 -22
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.d.ts +0 -205
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js +0 -685
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js.map +0 -1
- package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts +0 -12
- package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js +0 -28
- package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js.map +0 -1
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts +0 -21
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js +0 -471
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js.map +0 -1
- package/dist/plugins/specweave-github/lib/github-status-sync.d.ts +0 -53
- package/dist/plugins/specweave-github/lib/github-status-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/github-status-sync.js +0 -120
- package/dist/plugins/specweave-github/lib/github-status-sync.js.map +0 -1
- package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts +0 -18
- package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js +0 -297
- package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js.map +0 -1
- package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts +0 -94
- package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/increment-issue-builder.js +0 -385
- package/dist/plugins/specweave-github/lib/increment-issue-builder.js.map +0 -1
- package/plugins/specweave-github/lib/ThreeLayerSyncManager.js +0 -611
- package/plugins/specweave-github/lib/ThreeLayerSyncManager.ts +0 -909
- package/plugins/specweave-github/lib/cli-sync-increment-changes.d.js +0 -1
- package/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts +0 -12
- package/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts.map +0 -1
- package/plugins/specweave-github/lib/cli-sync-increment-changes.js +0 -17
- package/plugins/specweave-github/lib/cli-sync-increment-changes.js.map +0 -1
- package/plugins/specweave-github/lib/cli-sync-increment-changes.ts +0 -33
- package/plugins/specweave-github/lib/github-increment-sync-cli.js +0 -474
- package/plugins/specweave-github/lib/github-increment-sync-cli.ts +0 -616
- package/plugins/specweave-github/lib/github-status-sync.js +0 -107
- package/plugins/specweave-github/lib/github-status-sync.ts +0 -163
- package/plugins/specweave-github/lib/github-sync-increment-changes.d.js +0 -0
- package/plugins/specweave-github/lib/github-sync-increment-changes.d.ts +0 -18
- package/plugins/specweave-github/lib/github-sync-increment-changes.d.ts.map +0 -1
- package/plugins/specweave-github/lib/github-sync-increment-changes.js +0 -253
- package/plugins/specweave-github/lib/github-sync-increment-changes.js.map +0 -1
- package/plugins/specweave-github/lib/github-sync-increment-changes.ts +0 -391
- package/plugins/specweave-github/lib/increment-issue-builder.js +0 -402
- package/plugins/specweave-github/lib/increment-issue-builder.ts +0 -520
package/CLAUDE.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- SW:META template="claude" version="1.0.
|
|
1
|
+
<!-- SW:META template="claude" version="1.0.255" sections="header,start,autodetect,metarule,rules,workflow,reflect,context,structure,taskformat,secrets,syncing,testing,tdd,api,limits,troubleshooting,lazyloading,principles,linking,mcp,auto,docs" -->
|
|
2
2
|
|
|
3
3
|
<!-- SW:SECTION:hook-priority version="1.0.171" -->
|
|
4
4
|
## ⛔ Hook Instructions Override Everything
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
| **"SKILL FIRST"** | Call shown skill FIRST → chain domain skills → implement |
|
|
12
12
|
<!-- SW:END:hook-priority -->
|
|
13
13
|
|
|
14
|
-
<!-- SW:SECTION:header version="1.0.
|
|
14
|
+
<!-- SW:SECTION:header version="1.0.255" -->
|
|
15
15
|
**Framework**: SpecWeave | **Truth**: `spec.md` + `tasks.md`
|
|
16
16
|
<!-- SW:END:header -->
|
|
17
17
|
|
|
@@ -48,7 +48,7 @@ If auto-activation fails, invoke explicitly: `Skill({ skill: "name" })`
|
|
|
48
48
|
|
|
49
49
|
**Native LSP broken in v2.1.0+.** Use: `specweave lsp refs|def|hover src/file.ts SymbolName`
|
|
50
50
|
|
|
51
|
-
<!-- SW:SECTION:start version="1.0.
|
|
51
|
+
<!-- SW:SECTION:start version="1.0.255" -->
|
|
52
52
|
## Getting Started
|
|
53
53
|
|
|
54
54
|
**Initial increment**: `0001-project-setup` (auto-created by `specweave init`)
|
|
@@ -58,7 +58,7 @@ If auto-activation fails, invoke explicitly: `Skill({ skill: "name" })`
|
|
|
58
58
|
2. **Customize**: Edit spec.md and use for setup tasks
|
|
59
59
|
<!-- SW:END:start -->
|
|
60
60
|
|
|
61
|
-
<!-- SW:SECTION:autodetect version="1.0.
|
|
61
|
+
<!-- SW:SECTION:autodetect version="1.0.255" -->
|
|
62
62
|
## Auto-Detection
|
|
63
63
|
|
|
64
64
|
SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
@@ -68,7 +68,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
68
68
|
**Opt-out phrases**: "Just brainstorm first" | "Don't plan yet" | "Quick discussion" | "Let's explore ideas"
|
|
69
69
|
<!-- SW:END:autodetect -->
|
|
70
70
|
|
|
71
|
-
<!-- SW:SECTION:metarule version="1.0.
|
|
71
|
+
<!-- SW:SECTION:metarule version="1.0.255" -->
|
|
72
72
|
## Workflow Orchestration
|
|
73
73
|
|
|
74
74
|
### 1. Plan Mode Default
|
|
@@ -95,7 +95,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
95
95
|
```
|
|
96
96
|
<!-- SW:END:metarule -->
|
|
97
97
|
|
|
98
|
-
<!-- SW:SECTION:rules version="1.0.
|
|
98
|
+
<!-- SW:SECTION:rules version="1.0.255" -->
|
|
99
99
|
## Rules
|
|
100
100
|
|
|
101
101
|
1. **Files** → `.specweave/increments/####-name/` (see Structure section for details)
|
|
@@ -116,7 +116,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
116
116
|
Discover org from config: `repository.organization` → `sync.profiles` → `umbrella.childRepos` → filesystem
|
|
117
117
|
<!-- SW:END:rules -->
|
|
118
118
|
|
|
119
|
-
<!-- SW:SECTION:workflow version="1.0.
|
|
119
|
+
<!-- SW:SECTION:workflow version="1.0.255" -->
|
|
120
120
|
## Workflow
|
|
121
121
|
|
|
122
122
|
`/sw:increment "X"` → `/sw:do` → `/sw:progress` → `/sw:done 0001`
|
|
@@ -142,7 +142,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
|
|
|
142
142
|
Before git operations, scan: `for d in repositories packages services apps libs workspace; do [ -d "$d" ] && find "$d" -maxdepth 2 -name ".git" -type d; done`
|
|
143
143
|
<!-- SW:END:save-nested-repos -->
|
|
144
144
|
|
|
145
|
-
<!-- SW:SECTION:reflect version="1.0.
|
|
145
|
+
<!-- SW:SECTION:reflect version="1.0.255" -->
|
|
146
146
|
## Skill Memories
|
|
147
147
|
|
|
148
148
|
SpecWeave learns from corrections. Learnings saved here automatically. Edit or delete as needed.
|
|
@@ -163,7 +163,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
163
163
|
- Prefer leaderboard-style reporting for analysis
|
|
164
164
|
- Auto mode: Stop hook creates implicit loops via block/approve pattern
|
|
165
165
|
|
|
166
|
-
<!-- SW:SECTION:context version="1.0.
|
|
166
|
+
<!-- SW:SECTION:context version="1.0.255" -->
|
|
167
167
|
## Context
|
|
168
168
|
|
|
169
169
|
**Before implementing**: Check ADRs at `.specweave/docs/internal/architecture/adr/`
|
|
@@ -171,7 +171,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
171
171
|
**Load context**: `/sw:docs <topic>` loads relevant living docs into conversation
|
|
172
172
|
<!-- SW:END:context -->
|
|
173
173
|
|
|
174
|
-
<!-- SW:SECTION:structure version="1.0.
|
|
174
|
+
<!-- SW:SECTION:structure version="1.0.255" -->
|
|
175
175
|
## Structure
|
|
176
176
|
|
|
177
177
|
```
|
|
@@ -186,7 +186,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
186
186
|
**Everything else → subfolders**: `reports/` | `logs/` | `scripts/` | `backups/`
|
|
187
187
|
<!-- SW:END:structure -->
|
|
188
188
|
|
|
189
|
-
<!-- SW:SECTION:taskformat version="1.0.
|
|
189
|
+
<!-- SW:SECTION:taskformat version="1.0.255" -->
|
|
190
190
|
## Task Format
|
|
191
191
|
|
|
192
192
|
```markdown
|
|
@@ -196,7 +196,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
|
|
|
196
196
|
```
|
|
197
197
|
<!-- SW:END:taskformat -->
|
|
198
198
|
|
|
199
|
-
<!-- SW:SECTION:secrets version="1.0.
|
|
199
|
+
<!-- SW:SECTION:secrets version="1.0.255" -->
|
|
200
200
|
## Secrets Check
|
|
201
201
|
|
|
202
202
|
**BEFORE CLI tools**: Check existing config first!
|
|
@@ -210,7 +210,7 @@ gh auth status
|
|
|
210
210
|
**SECURITY**: NEVER use `grep TOKEN .env` without `-q` flag - it exposes credentials in terminal!
|
|
211
211
|
<!-- SW:END:secrets -->
|
|
212
212
|
|
|
213
|
-
<!-- SW:SECTION:syncing version="1.0.
|
|
213
|
+
<!-- SW:SECTION:syncing version="1.0.255" -->
|
|
214
214
|
## External Sync (GitHub/JIRA/ADO)
|
|
215
215
|
|
|
216
216
|
**Primary command**: `/sw:progress-sync` — syncs tasks.md → spec.md → living docs → external tools (auto-creates missing issues)
|
|
@@ -231,7 +231,7 @@ gh auth status
|
|
|
231
231
|
**After task completion**: Run `/sw:progress-sync` or `/sw-github:push` to sync changes to external tools.
|
|
232
232
|
<!-- SW:END:syncing -->
|
|
233
233
|
|
|
234
|
-
<!-- SW:SECTION:testing version="1.0.
|
|
234
|
+
<!-- SW:SECTION:testing version="1.0.255" -->
|
|
235
235
|
## Testing
|
|
236
236
|
|
|
237
237
|
BDD in tasks.md | Unit >80% | `.test.ts` (Vitest)
|
|
@@ -250,7 +250,7 @@ vi.mock('./module', () => ({ func: mockFn }));
|
|
|
250
250
|
**Install CLI**: `npm install -g @playwright/cli@latest`
|
|
251
251
|
<!-- SW:END:testing -->
|
|
252
252
|
|
|
253
|
-
<!-- SW:SECTION:tdd version="1.0.
|
|
253
|
+
<!-- SW:SECTION:tdd version="1.0.255" -->
|
|
254
254
|
## TDD Mode (Test-Driven Development)
|
|
255
255
|
|
|
256
256
|
**When `testing.defaultTestMode: "TDD"` is configured**, follow RED-GREEN-REFACTOR discipline:
|
|
@@ -311,7 +311,7 @@ When TDD is enabled, tasks include phase markers:
|
|
|
311
311
|
**Rule**: Complete dependencies BEFORE dependent tasks (RED before GREEN).
|
|
312
312
|
<!-- SW:END:tdd -->
|
|
313
313
|
|
|
314
|
-
<!-- SW:SECTION:api version="1.0.
|
|
314
|
+
<!-- SW:SECTION:api version="1.0.255" -->
|
|
315
315
|
## API Development (OpenAPI-First)
|
|
316
316
|
|
|
317
317
|
**For API projects only.** Commands: `/sw:api-docs --all` | `--openapi` | `--postman` | `--validate`
|
|
@@ -319,13 +319,13 @@ When TDD is enabled, tasks include phase markers:
|
|
|
319
319
|
Enable in config: `{"apiDocs":{"enabled":true,"openApiPath":"openapi.yaml"}}`
|
|
320
320
|
<!-- SW:END:api -->
|
|
321
321
|
|
|
322
|
-
<!-- SW:SECTION:limits version="1.0.
|
|
322
|
+
<!-- SW:SECTION:limits version="1.0.255" -->
|
|
323
323
|
## Limits
|
|
324
324
|
|
|
325
325
|
**Max 1500 lines/file** — extract before adding
|
|
326
326
|
<!-- SW:END:limits -->
|
|
327
327
|
|
|
328
|
-
<!-- SW:SECTION:troubleshooting version="1.0.
|
|
328
|
+
<!-- SW:SECTION:troubleshooting version="1.0.255" -->
|
|
329
329
|
## Troubleshooting
|
|
330
330
|
|
|
331
331
|
| Issue | Fix |
|
|
@@ -338,7 +338,7 @@ Enable in config: `{"apiDocs":{"enabled":true,"openApiPath":"openapi.yaml"}}`
|
|
|
338
338
|
| Session stuck | Kill + `rm -f .specweave/state/*.lock` + restart |
|
|
339
339
|
<!-- SW:END:troubleshooting -->
|
|
340
340
|
|
|
341
|
-
<!-- SW:SECTION:lazyloading version="1.0.
|
|
341
|
+
<!-- SW:SECTION:lazyloading version="1.0.255" -->
|
|
342
342
|
## Plugin Auto-Loading
|
|
343
343
|
|
|
344
344
|
Plugins load automatically based on project type and keywords. Manual install if needed:
|
|
@@ -352,7 +352,7 @@ export SPECWEAVE_DISABLE_AUTO_LOAD=1 # Disable auto-load
|
|
|
352
352
|
**Token savings**: Core ~3-5K tokens vs all plugins ~60K+
|
|
353
353
|
<!-- SW:END:lazyloading -->
|
|
354
354
|
|
|
355
|
-
<!-- SW:SECTION:principles version="1.0.
|
|
355
|
+
<!-- SW:SECTION:principles version="1.0.255" -->
|
|
356
356
|
## Principles
|
|
357
357
|
|
|
358
358
|
### SpecWeave Principles
|
|
@@ -368,7 +368,7 @@ export SPECWEAVE_DISABLE_AUTO_LOAD=1 # Disable auto-load
|
|
|
368
368
|
- **Demand Elegance**: For non-trivial changes, pause and ask "is there a more elegant way?" - but skip this for simple, obvious fixes (don't over-engineer).
|
|
369
369
|
<!-- SW:END:principles -->
|
|
370
370
|
|
|
371
|
-
<!-- SW:SECTION:linking version="1.0.
|
|
371
|
+
<!-- SW:SECTION:linking version="1.0.255" -->
|
|
372
372
|
## Bidirectional Linking
|
|
373
373
|
|
|
374
374
|
Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
|
|
@@ -376,7 +376,7 @@ Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
|
|
|
376
376
|
Task format: `**AC**: AC-US1-01, AC-US1-02` (CRITICAL for linking)
|
|
377
377
|
<!-- SW:END:linking -->
|
|
378
378
|
|
|
379
|
-
<!-- SW:SECTION:mcp version="1.0.
|
|
379
|
+
<!-- SW:SECTION:mcp version="1.0.255" -->
|
|
380
380
|
## External Services
|
|
381
381
|
|
|
382
382
|
**Priority**: CLI tools first (simpler) → MCP for complex integrations
|
|
@@ -398,7 +398,7 @@ claude mcp add --transport stdio postgres -- npx -y @modelcontextprotocol/server
|
|
|
398
398
|
MCP supports lazy-loading (auto mode) - tools load on-demand when >10% context.
|
|
399
399
|
<!-- SW:END:mcp -->
|
|
400
400
|
|
|
401
|
-
<!-- SW:SECTION:auto version="1.0.
|
|
401
|
+
<!-- SW:SECTION:auto version="1.0.255" -->
|
|
402
402
|
## Auto Mode
|
|
403
403
|
|
|
404
404
|
**Commands**: `/sw:auto` (start) | `/sw:auto-status` (check) | `/sw:cancel-auto` (emergency only)
|
|
@@ -415,7 +415,7 @@ MCP supports lazy-loading (auto mode) - tools load on-demand when >10% context.
|
|
|
415
415
|
**STOP & ASK** if: Spec conflicts | Task unnecessary | Requirement ambiguous
|
|
416
416
|
<!-- SW:END:auto -->
|
|
417
417
|
|
|
418
|
-
<!-- SW:SECTION:docs version="1.0.
|
|
418
|
+
<!-- SW:SECTION:docs version="1.0.255" -->
|
|
419
419
|
## Docs
|
|
420
420
|
|
|
421
421
|
[spec-weave.com](https://spec-weave.com)
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# SpecWeave
|
|
2
2
|
|
|
3
|
-
**The spec-driven
|
|
3
|
+
**The spec-driven Skill Fabric for AI coding agents.** Program your AI in English. Ship features while you sleep.
|
|
4
4
|
|
|
5
|
-
*
|
|
5
|
+
*First-class support for Claude Code — compatible with any LLM-powered coding tool.*
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/specweave)
|
|
8
8
|
[](https://opensource.org/licenses/MIT)
|
|
@@ -15,16 +15,85 @@ npm install -g specweave # Requires Node.js 20.12.0+
|
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
18
|
-
##
|
|
18
|
+
## What Are Skills?
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
**Skills are programs written in English** — not prompts, not templates, but reusable logic that controls how AI thinks, decides, and acts.
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
Without SpecWeave: With SpecWeave:
|
|
24
|
+
───────────────── ───────────────
|
|
25
|
+
"Use React Hook Form with Zod..." "Add a login form"
|
|
26
|
+
"Remember, we use Tailwind..." → AI already knows your patterns.
|
|
27
|
+
"Don't forget the test pattern..." → It remembered from last time.
|
|
28
|
+
"Wait, I told you this yesterday..." → Fix once, learned permanently.
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Each skill is a **programmable AI behavior** you can customize without forking. Fix once, remembered permanently. 100+ skills ship out of the box — PM, Architect, QA, Security, DevOps, Frontend, Backend, Mobile, ML.
|
|
32
|
+
|
|
33
|
+
**You don't need to learn Claude Code docs.** SpecWeave handles hooks, plugins, CLAUDE.md, and context management for you. Install, describe your feature, skills do the rest.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## The Workflow
|
|
38
|
+
|
|
39
|
+
Just describe what you want. SpecWeave handles the rest.
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
You: "Build me a checkout flow with Stripe"
|
|
43
|
+
↓
|
|
44
|
+
SpecWeave asks 5-10 clarifying questions
|
|
45
|
+
(What payment methods? Guest checkout? Subscriptions? Which UI library?)
|
|
46
|
+
↓
|
|
47
|
+
Creates: spec.md → plan.md → tasks.md
|
|
48
|
+
↓
|
|
49
|
+
You: "Go ahead and build it"
|
|
50
|
+
→ autonomous execution for hours
|
|
51
|
+
(writes code, runs tests, fixes failures, syncs to GitHub/JIRA)
|
|
52
|
+
↓
|
|
53
|
+
You wake up. Review finished work.
|
|
54
|
+
Tests cover technical correctness. You check the UI and UX.
|
|
55
|
+
↓
|
|
56
|
+
You: "Looks good, ship it"
|
|
57
|
+
→ validated, documented, shipped.
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Solo developer:**
|
|
61
|
+
```
|
|
62
|
+
You: "I need user authentication with OAuth and magic links"
|
|
63
|
+
→ SpecWeave interviews you, creates spec + plan + tasks
|
|
64
|
+
You: "Build it"
|
|
65
|
+
→ AI works autonomously for hours
|
|
66
|
+
You: "Ship it"
|
|
67
|
+
→ reviewed, validated, done.
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Agent team (parallel):**
|
|
71
|
+
```
|
|
72
|
+
You: "Build an e-commerce MVP"
|
|
73
|
+
→ SpecWeave splits into auth, payments, catalog
|
|
74
|
+
→ 3 agents work in parallel across iTerm/tmux panes
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Brownfield project:**
|
|
25
78
|
```
|
|
79
|
+
You: "Migrate the checkout page to React"
|
|
80
|
+
→ SpecWeave analyzes existing code, plans strangler fig migration
|
|
81
|
+
→ TDD-first autonomous execution
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
<details>
|
|
85
|
+
<summary><strong>Under the hood</strong> — SpecWeave auto-activates these skills from natural language:</summary>
|
|
86
|
+
|
|
87
|
+
| You say | SpecWeave runs |
|
|
88
|
+
|---------|---------------|
|
|
89
|
+
| "Build me X" | `/sw:increment` → spec + plan + tasks |
|
|
90
|
+
| "Go ahead" / "Build it" | `/sw:auto` → autonomous execution |
|
|
91
|
+
| "Ship it" / "We're done" | `/sw:done` → quality gates + close |
|
|
92
|
+
| "Split this into teams" | `/sw:team-lead` → parallel agents |
|
|
93
|
+
| "Review the code" | `/sw:grill` → critical code review |
|
|
26
94
|
|
|
27
|
-
|
|
95
|
+
You can also invoke commands directly for fine-grained control.
|
|
96
|
+
</details>
|
|
28
97
|
|
|
29
98
|
---
|
|
30
99
|
|
|
@@ -41,63 +110,66 @@ SpecWeave solves this with **file-based coordination**:
|
|
|
41
110
|
└── tasks.md ← DO: Implementation tasks with tests
|
|
42
111
|
```
|
|
43
112
|
|
|
44
|
-
|
|
113
|
+
### Three Pillars
|
|
45
114
|
|
|
46
|
-
|
|
115
|
+
**Programmable AI** — Skills are programs in English. Customize any skill's behavior via `skill-memories/*.md` without forking. Your rules override defaults. Original skills keep getting updates.
|
|
47
116
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
- **Autonomous execution** — runs for hours, not minutes. Write, test, fix, repeat.
|
|
52
|
-
- **Persistent memory** — AI learns from corrections. Fix once, remembered permanently.
|
|
53
|
-
- **Quality gates** — Code Grill reviews code like a demanding senior engineer before every release.
|
|
54
|
-
- **Living documentation** — specs, ADRs, and runbooks sync automatically after every task.
|
|
55
|
-
- **100+ specialized skills** — PM, Architect, QA, Security, DevOps, Frontend, Mobile, ML, and more collaborate on deliverables.
|
|
56
|
-
- **External sync** — GitHub Issues, JIRA, Azure DevOps — bidirectional, real-time.
|
|
57
|
-
- **Self-improving** — captures what works and what doesn't. Gets smarter over time.
|
|
58
|
-
- **LSP integration** — semantic code intelligence for TypeScript, Python, Go, Rust, Java, C#.
|
|
117
|
+
**Autonomous Teams** — Run agent swarms across iTerm/tmux panes. Each agent owns an increment. File-based coordination prevents conflicts. Work on auth, payments, and notifications simultaneously.
|
|
118
|
+
|
|
119
|
+
**Enterprise Ready** — Compliance audit trails in git. Brownfield analysis for legacy code. Bidirectional sync with GitHub, JIRA, Azure DevOps. Multi-repo coordination. Production-grade from day one.
|
|
59
120
|
|
|
60
121
|
---
|
|
61
122
|
|
|
62
|
-
##
|
|
123
|
+
## Agent Swarms
|
|
124
|
+
|
|
125
|
+
Run multiple AI agents on the same repository — locally, in the cloud, or with [OpenClaw](https://openclaw.ai). Each agent owns an isolated increment. No conflicts.
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
iTerm2 / tmux split panes:
|
|
129
|
+
┌──────────────────┬──────────────────┬──────────────────┐
|
|
130
|
+
│ Agent 1 (auth) │ Agent 2 (payments)│ Agent 3 (catalog)│
|
|
131
|
+
│ /sw:auto │ /sw:auto │ /sw:auto │
|
|
132
|
+
│ ████████░░ 80% │ ██████░░░░ 60% │ ████░░░░░░ 40% │
|
|
133
|
+
└──────────────────┴──────────────────┴──────────────────┘
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
`/sw:team-lead "feature"` splits work → each agent runs `/sw:auto` → quality gates ensure consistency → progress syncs to GitHub/JIRA.
|
|
63
137
|
|
|
64
|
-
**
|
|
138
|
+
**[Full agent teams guide](https://spec-weave.com/docs/guides/agent-teams-and-swarms)**
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Enterprise Ready
|
|
143
|
+
|
|
144
|
+
SpecWeave is built for the reality of enterprise development.
|
|
65
145
|
|
|
66
|
-
|
|
67
|
-
- **
|
|
68
|
-
- **
|
|
146
|
+
- **Compliance audit trails** — every decision tracked in version-controlled spec files. SOC 2, HIPAA, FDA ready.
|
|
147
|
+
- **Brownfield excellence** — automated codebase analysis, strangler fig migrations, knowledge preservation. 90%+ of enterprise work is brownfield.
|
|
148
|
+
- **Multi-repo coordination** — specs reference cross-repo dependencies. Agent teams work across repositories.
|
|
149
|
+
- **External sync** — GitHub Issues, JIRA, Azure DevOps — bidirectional, real-time. Local-first, works offline.
|
|
150
|
+
- **Multi-environment** — dev, QA, staging, UAT, production deployment pipelines.
|
|
151
|
+
|
|
152
|
+
**[Enterprise documentation](https://spec-weave.com/docs/enterprise)**
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Extensible Skills (Open/Closed Principle)
|
|
69
157
|
|
|
70
|
-
**
|
|
158
|
+
**Customize any skill without forking.**
|
|
71
159
|
|
|
72
160
|
```bash
|
|
73
161
|
# First time
|
|
74
162
|
You: "Generate a login form"
|
|
75
163
|
Claude: *creates form with useState*
|
|
76
|
-
You: "No, we always use React Hook Form + Zod
|
|
164
|
+
You: "No, we always use React Hook Form + Zod"
|
|
77
165
|
|
|
78
166
|
# SpecWeave learns this → .specweave/skill-memories/frontend.md
|
|
79
167
|
|
|
80
|
-
# Next session
|
|
168
|
+
# Next session — any agent, any skill
|
|
81
169
|
You: "Generate a signup form"
|
|
82
|
-
Claude: *automatically uses React Hook Form + Zod*
|
|
170
|
+
Claude: *automatically uses React Hook Form + Zod*
|
|
83
171
|
```
|
|
84
172
|
|
|
85
|
-
**Your customizations:**
|
|
86
|
-
```markdown
|
|
87
|
-
# .specweave/skill-memories/frontend.md
|
|
88
|
-
|
|
89
|
-
### Form Handling
|
|
90
|
-
- Use React Hook Form for all forms
|
|
91
|
-
- Combine with Zod for validation schemas
|
|
92
|
-
- Never use plain useState for form state
|
|
93
|
-
|
|
94
|
-
### Component Preferences
|
|
95
|
-
- Import from @/components/ui design system
|
|
96
|
-
- Tailwind utilities only, no inline styles
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
**Why this matters:**
|
|
100
|
-
|
|
101
173
|
| Traditional Tools | SpecWeave Skills |
|
|
102
174
|
|------------------|------------------|
|
|
103
175
|
| Obfuscated behavior | Transparent SKILL.md |
|
|
@@ -111,9 +183,7 @@ Claude: *automatically uses React Hook Form + Zod* ✓
|
|
|
111
183
|
/sw:reflect-status # See what Claude has learned
|
|
112
184
|
```
|
|
113
185
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
**For skill developers:** Design skills with extension points. See [Skill Development Guidelines](#skill-development-guidelines) for SOLID patterns.
|
|
186
|
+
**[Skills deep dive](https://spec-weave.com/docs/overview/skills-as-programs)** | **[Skill development guidelines](https://spec-weave.com/docs/guides/skill-development-guidelines)**
|
|
117
187
|
|
|
118
188
|
---
|
|
119
189
|
|
|
@@ -126,63 +196,28 @@ specweave init .
|
|
|
126
196
|
```
|
|
127
197
|
|
|
128
198
|
Then in Claude Code:
|
|
129
|
-
```bash
|
|
130
|
-
/sw:increment "Add dark mode" # Describe your feature
|
|
131
|
-
/sw:auto # Ship while you sleep
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
> **Node.js 20.12.0+** required (22 LTS recommended). Getting `SyntaxError`? [Upgrade instructions](https://spec-weave.com/docs/guides/troubleshooting/common-errors#node-version-error).
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## Parallel Development
|
|
139
|
-
|
|
140
|
-
Run multiple AI agents on the same repository — locally, in the cloud, or with [OpenClaw](https://openclaw.ai). SpecWeave's increment files are the coordination layer:
|
|
141
|
-
|
|
142
199
|
```
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
│ │ │
|
|
146
|
-
└──────────────────────────────┼───────────────────────────┘
|
|
147
|
-
│
|
|
148
|
-
.specweave/increments/
|
|
149
|
-
├── 0001-auth/tasks.md ← Agent 1's scope
|
|
150
|
-
├── 0002-payments/tasks.md ← Agent 2's scope
|
|
151
|
-
└── 0003-notifications/tasks.md ← Agent 3's scope
|
|
200
|
+
You: "Add dark mode to the app"
|
|
201
|
+
→ SpecWeave creates spec, plans architecture, builds it autonomously.
|
|
152
202
|
```
|
|
153
203
|
|
|
154
|
-
**
|
|
155
|
-
1. Create increments for each feature: `/sw:increment "auth"`, `/sw:increment "payments"`
|
|
156
|
-
2. Each agent picks an increment and runs `/sw:auto` — tasks.md tracks exactly what's done
|
|
157
|
-
3. Agents work in isolated scopes — different files, different specs, different tests
|
|
158
|
-
4. Quality gates (`/sw:grill`) ensure consistent standards regardless of which agent built it
|
|
159
|
-
5. Progress syncs to GitHub/JIRA so you see everything in one place
|
|
160
|
-
|
|
161
|
-
**Why this matters:** OpenClaw and Claude Code sessions are stateless by default. SpecWeave's spec/plan/tasks files persist across sessions and agents — your coordination layer survives restarts, crashes, and context window limits.
|
|
162
|
-
|
|
163
|
-
**Agent team commands:**
|
|
164
|
-
|
|
165
|
-
| Command | Purpose |
|
|
166
|
-
|---------|---------|
|
|
167
|
-
| `/sw:team-lead "feature"` | Split feature across parallel agents |
|
|
168
|
-
| `/sw:team-status` | Monitor all agent progress |
|
|
169
|
-
| `/sw:team-merge` | Merge completed work in dependency order |
|
|
170
|
-
|
|
171
|
-
**[Full agent teams guide](https://spec-weave.com/docs/guides/agent-teams-and-swarms)**
|
|
204
|
+
> **Node.js 20.12.0+** required (22 LTS recommended). Getting `SyntaxError`? [Upgrade instructions](https://spec-weave.com/docs/guides/troubleshooting/common-errors#node-version-error).
|
|
172
205
|
|
|
173
206
|
---
|
|
174
207
|
|
|
175
208
|
## Core Commands
|
|
176
209
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
|
180
|
-
|
|
181
|
-
| `/sw:
|
|
182
|
-
| `/sw:
|
|
183
|
-
| `/sw:
|
|
184
|
-
| `/sw:
|
|
185
|
-
| `/sw:
|
|
210
|
+
All commands activate automatically from natural language. Use directly for fine-grained control.
|
|
211
|
+
|
|
212
|
+
| Command | Purpose | Natural trigger |
|
|
213
|
+
|---------|---------|----------------|
|
|
214
|
+
| `/sw:increment "feature"` | Create spec + plan + tasks | "Build me X" |
|
|
215
|
+
| `/sw:auto` | Autonomous execution | "Go ahead and build it" |
|
|
216
|
+
| `/sw:do` | Execute one task at a time | "Do the next task" |
|
|
217
|
+
| `/sw:grill` | Code review before close | "Review the code" |
|
|
218
|
+
| `/sw:done` | Close with quality validation | "Ship it" |
|
|
219
|
+
| `/sw:progress-sync` | Push to GitHub / JIRA / ADO | "Sync progress" |
|
|
220
|
+
| `/sw:next` | Auto-close + suggest next | "What's next?" |
|
|
186
221
|
|
|
187
222
|
**[Full command reference](https://spec-weave.com/docs/commands/overview)**
|
|
188
223
|
|
|
@@ -206,12 +241,14 @@ When you close an increment, external tools update automatically.
|
|
|
206
241
|
|------------|-----------|-------------|----------------|
|
|
207
242
|
| **Parallel agent coordination** | Increment-scoped isolation | No | No |
|
|
208
243
|
| **Autonomous execution** | Hours of unattended `/sw:auto` | No | No |
|
|
244
|
+
| **Agent swarms (iTerm/tmux)** | Visual parallel monitoring | No | No |
|
|
209
245
|
| **Quality gates** | Code Grill before every release | No | No |
|
|
210
246
|
| **Living documentation** | Auto-updated after every task | Manual | Manual |
|
|
211
247
|
| **Self-improving AI** | Learns from corrections | No | No |
|
|
248
|
+
| **Enterprise compliance** | SOC 2, HIPAA, FDA audit trails | No | No |
|
|
212
249
|
| **External sync** | GitHub / JIRA / ADO bidirectional | No | No |
|
|
250
|
+
| **Brownfield support** | Analyzer + migration patterns | No | No |
|
|
213
251
|
| **Specialized skills** | 100+ (PM, QA, DevOps, ML...) | 21 agents | None |
|
|
214
|
-
| **Works with OpenClaw** | Yes | Partial | Partial |
|
|
215
252
|
| **Spec/plan/tasks workflow** | Yes | Yes | Yes |
|
|
216
253
|
| **Agent-agnostic** | Claude Code + OpenClaw + Copilot + Codex | Multi-IDE | Multi-IDE |
|
|
217
254
|
|
|
@@ -219,7 +256,7 @@ When you close an increment, external tools update automatically.
|
|
|
219
256
|
|
|
220
257
|
## Built With SpecWeave
|
|
221
258
|
|
|
222
|
-
>
|
|
259
|
+
> SpecWeave builds itself. Every feature, bug fix, and release is spec-driven.
|
|
223
260
|
|
|
224
261
|
**[Browse increments](https://github.com/anton-abyzov/specweave/tree/develop/.specweave/increments)** — see how SpecWeave develops SpecWeave.
|
|
225
262
|
|
|
@@ -233,108 +270,6 @@ When you close an increment, external tools update automatically.
|
|
|
233
270
|
|
|
234
271
|
[Discord](https://discord.gg/UYg4BGJ65V) · [YouTube](https://www.youtube.com/@antonabyzov) · [GitHub Issues](https://github.com/anton-abyzov/specweave/issues)
|
|
235
272
|
|
|
236
|
-
## Skill Development Guidelines
|
|
237
|
-
|
|
238
|
-
**Design skills that users can extend without modification.**
|
|
239
|
-
|
|
240
|
-
When creating SpecWeave skills, follow the **Open/Closed Principle** (SOLID):
|
|
241
|
-
|
|
242
|
-
### Structure for Extension
|
|
243
|
-
|
|
244
|
-
**SKILL.md** (closed for modification)
|
|
245
|
-
```markdown
|
|
246
|
-
# Your Skill
|
|
247
|
-
|
|
248
|
-
## Core Behavior
|
|
249
|
-
1. Always do X
|
|
250
|
-
2. Check for Y
|
|
251
|
-
3. Output Z format
|
|
252
|
-
|
|
253
|
-
## Extension Points
|
|
254
|
-
Users can customize:
|
|
255
|
-
- Component preferences
|
|
256
|
-
- Validation rules
|
|
257
|
-
- Output formatting
|
|
258
|
-
- Error handling
|
|
259
|
-
|
|
260
|
-
See `.specweave/skill-memories/{skill-name}.md` for customizations.
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
`skill-memories/{skill-name}.md` (open for extension)
|
|
264
|
-
```markdown
|
|
265
|
-
### Component Preferences
|
|
266
|
-
- Use Material UI instead of Chakra
|
|
267
|
-
- Dark mode by default
|
|
268
|
-
|
|
269
|
-
### Custom Validation
|
|
270
|
-
When validating forms:
|
|
271
|
-
1. Check email domain against allowlist
|
|
272
|
-
2. Require 2FA for admin roles
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
### SOLID Principles for Skills
|
|
276
|
-
|
|
277
|
-
| Principle | Application |
|
|
278
|
-
|-----------|-------------|
|
|
279
|
-
| **Single Responsibility** | One skill = one domain (Frontend, Backend, Testing, etc.) |
|
|
280
|
-
| **Open/Closed** | Core logic in SKILL.md (closed), customizations in skill-memories (open) |
|
|
281
|
-
| **Liskov Substitution** | Customizations shouldn't break skill contracts (output format, interface) |
|
|
282
|
-
| **Interface Segregation** | Expose clear extension points, don't force users to override large blocks |
|
|
283
|
-
| **Dependency Inversion** | Depend on patterns/abstractions, let skill-memories provide concrete implementations |
|
|
284
|
-
|
|
285
|
-
### Design Patterns
|
|
286
|
-
|
|
287
|
-
**✓ DO:**
|
|
288
|
-
- Expose clear extension points in SKILL.md
|
|
289
|
-
- Document what users can customize
|
|
290
|
-
- Provide examples in skill-memories templates
|
|
291
|
-
- Read skill-memories at runtime before executing logic
|
|
292
|
-
- Use conditional logic: "If skill-memories defines X, use X; else default behavior"
|
|
293
|
-
|
|
294
|
-
**✗ DON'T:**
|
|
295
|
-
- Hard-code preferences that vary by project
|
|
296
|
-
- Make users fork SKILL.md to customize behavior
|
|
297
|
-
- Ignore skill-memories content
|
|
298
|
-
- Create monolithic skills that do everything
|
|
299
|
-
|
|
300
|
-
### Example: Extensible Frontend Skill
|
|
301
|
-
|
|
302
|
-
```markdown
|
|
303
|
-
# SKILL.md (core logic)
|
|
304
|
-
|
|
305
|
-
## Component Generation
|
|
306
|
-
|
|
307
|
-
**Default behavior:**
|
|
308
|
-
1. Use React functional components
|
|
309
|
-
2. TypeScript with Props interface
|
|
310
|
-
3. Export as default
|
|
311
|
-
|
|
312
|
-
**Extension points (check skill-memories/frontend.md):**
|
|
313
|
-
- component.framework (React | Vue | Angular)
|
|
314
|
-
- component.exportStyle (default | named)
|
|
315
|
-
- component.testFramework (Vitest | Jest | Testing Library)
|
|
316
|
-
- styling.approach (Tailwind | CSS Modules | Styled Components)
|
|
317
|
-
|
|
318
|
-
**Logic:**
|
|
319
|
-
```typescript
|
|
320
|
-
// Read skill-memories first
|
|
321
|
-
const userPrefs = readSkillMemories('frontend');
|
|
322
|
-
|
|
323
|
-
// Apply customizations or use defaults
|
|
324
|
-
const framework = userPrefs?.component?.framework || 'React';
|
|
325
|
-
const styling = userPrefs?.styling?.approach || 'CSS Modules';
|
|
326
|
-
```
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
### Testing Your Skill's Extensibility
|
|
330
|
-
|
|
331
|
-
1. **Write SKILL.md** with default behavior
|
|
332
|
-
2. **Create skill-memories template** showing extension points
|
|
333
|
-
3. **Test with customizations** - does the skill respect user preferences?
|
|
334
|
-
4. **Document limitations** - what CAN'T be customized?
|
|
335
|
-
|
|
336
|
-
**Good skill design = Users extend your logic without ever touching your source.**
|
|
337
|
-
|
|
338
273
|
## License
|
|
339
274
|
|
|
340
275
|
MIT — [github.com/anton-abyzov/specweave](https://github.com/anton-abyzov/specweave)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AC Checkbox Formatter — Provider-specific AC state formatting
|
|
3
|
+
*
|
|
4
|
+
* Formats acceptance criteria states into checkbox markup for:
|
|
5
|
+
* - GitHub: `- [x] **AC-ID**: description`
|
|
6
|
+
* - JIRA: `(/) AC-ID: description`
|
|
7
|
+
* - ADO: `<li>☑ AC-ID: description</li>`
|
|
8
|
+
*
|
|
9
|
+
* @module ac-checkbox-formatter
|
|
10
|
+
*/
|
|
11
|
+
export interface ACState {
|
|
12
|
+
id: string;
|
|
13
|
+
description: string;
|
|
14
|
+
completed: boolean;
|
|
15
|
+
}
|
|
16
|
+
export type ACCheckboxFormat = 'github' | 'jira' | 'ado';
|
|
17
|
+
/**
|
|
18
|
+
* Format AC states into provider-specific checkbox markup.
|
|
19
|
+
*
|
|
20
|
+
* Returns empty string for empty acStates array.
|
|
21
|
+
* Includes a progress header with completed/total count and percentage.
|
|
22
|
+
*/
|
|
23
|
+
export declare function formatACCheckboxes(acStates: ACState[], format: ACCheckboxFormat): string;
|
|
24
|
+
//# sourceMappingURL=ac-checkbox-formatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ac-checkbox-formatter.d.ts","sourceRoot":"","sources":["../../../src/core/ac-checkbox-formatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,gBAAgB,GACvB,MAAM,CAyBR"}
|