specweave 0.23.18 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +93 -49
- package/CLAUDE.md +137 -4
- package/dist/src/cli/helpers/ado-area-path-mapper.d.ts +89 -0
- package/dist/src/cli/helpers/ado-area-path-mapper.d.ts.map +1 -0
- package/dist/src/cli/helpers/ado-area-path-mapper.js +213 -0
- package/dist/src/cli/helpers/ado-area-path-mapper.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.d.ts +29 -0
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.d.ts.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js +109 -0
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.js +2 -0
- package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
- package/dist/src/cli/helpers/smart-filter.d.ts +83 -0
- package/dist/src/cli/helpers/smart-filter.d.ts.map +1 -0
- package/dist/src/cli/helpers/smart-filter.js +265 -0
- package/dist/src/cli/helpers/smart-filter.js.map +1 -0
- package/dist/src/core/qa/quality-gate-decider.d.ts +1 -1
- package/dist/src/core/qa/quality-gate-decider.js +2 -2
- package/dist/src/core/qa/quality-gate-decider.js.map +1 -1
- package/dist/src/core/qa/risk-calculator.d.ts +2 -2
- package/dist/src/core/qa/risk-calculator.js +2 -2
- package/dist/src/core/validators/ac-presence-validator.d.ts +56 -0
- package/dist/src/core/validators/ac-presence-validator.d.ts.map +1 -0
- package/dist/src/core/validators/ac-presence-validator.js +149 -0
- package/dist/src/core/validators/ac-presence-validator.js.map +1 -0
- package/dist/src/integrations/ado/area-path-mapper.d.ts +137 -0
- package/dist/src/integrations/ado/area-path-mapper.d.ts.map +1 -0
- package/dist/src/integrations/ado/area-path-mapper.js +267 -0
- package/dist/src/integrations/ado/area-path-mapper.js.map +1 -0
- package/dist/src/integrations/jira/filter-processor.d.ts +126 -0
- package/dist/src/integrations/jira/filter-processor.d.ts.map +1 -0
- package/dist/src/integrations/jira/filter-processor.js +207 -0
- package/dist/src/integrations/jira/filter-processor.js.map +1 -0
- package/dist/src/integrations/jira/jira-client.d.ts +13 -0
- package/dist/src/integrations/jira/jira-client.d.ts.map +1 -1
- package/dist/src/integrations/jira/jira-client.js +33 -0
- package/dist/src/integrations/jira/jira-client.js.map +1 -1
- package/dist/src/utils/ac-embedder.d.ts +63 -0
- package/dist/src/utils/ac-embedder.d.ts.map +1 -0
- package/dist/src/utils/ac-embedder.js +217 -0
- package/dist/src/utils/ac-embedder.js.map +1 -0
- package/dist/src/utils/env-manager.d.ts +86 -0
- package/dist/src/utils/env-manager.d.ts.map +1 -0
- package/dist/src/utils/env-manager.js +188 -0
- package/dist/src/utils/env-manager.js.map +1 -0
- package/package.json +1 -1
- package/plugins/specweave/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave/agents/AGENTS-INDEX.md +1 -1
- package/plugins/specweave/agents/increment-quality-judge-v2/AGENT.md +9 -9
- package/plugins/specweave/commands/specweave-do.md +37 -0
- package/plugins/specweave/commands/specweave-done.md +159 -0
- package/plugins/specweave/commands/specweave-embed-acs.md +446 -0
- package/plugins/specweave/commands/specweave-next.md +148 -3
- package/plugins/specweave/commands/specweave-qa.md +2 -2
- package/plugins/specweave/hooks/pre-increment-start.sh +168 -0
- package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
- package/plugins/specweave-ado/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-ado/commands/specweave-ado-import-projects.md +331 -0
- package/plugins/specweave-alternatives/.claude-plugin/plugin.json +10 -0
- package/plugins/specweave-alternatives/commands/alternatives-analyze.md +336 -0
- package/plugins/specweave-alternatives/skills/architecture-alternatives/SKILL.md +651 -0
- package/plugins/specweave-alternatives/skills/bmad-method/SKILL.md +420 -0
- package/plugins/specweave-alternatives/skills/spec-kit-expert/SKILL.md +487 -0
- package/plugins/specweave-backend/commands/api-scaffold.md +80 -0
- package/plugins/specweave-backend/commands/crud-generate.md +109 -0
- package/plugins/specweave-backend/commands/migration-generate.md +139 -0
- package/plugins/specweave-confluent/commands/connector-deploy.md +154 -0
- package/plugins/specweave-confluent/commands/ksqldb-query.md +179 -0
- package/plugins/specweave-confluent/commands/schema-register.md +123 -0
- package/plugins/specweave-core/.claude-plugin/plugin.json +21 -0
- package/plugins/specweave-core/commands/architecture-review.md +288 -0
- package/plugins/specweave-core/commands/code-review.md +213 -0
- package/plugins/specweave-core/commands/refactor-plan.md +249 -0
- package/plugins/specweave-core/skills/code-quality/SKILL.md +157 -0
- package/plugins/specweave-core/skills/design-patterns/SKILL.md +244 -0
- package/plugins/specweave-core/skills/software-architecture/SKILL.md +83 -0
- package/plugins/specweave-cost-optimizer/.claude-plugin/plugin.json +22 -0
- package/plugins/specweave-cost-optimizer/commands/cost-analyze.md +360 -0
- package/plugins/specweave-cost-optimizer/commands/cost-optimize.md +480 -0
- package/plugins/specweave-cost-optimizer/skills/aws-cost-expert/SKILL.md +416 -0
- package/plugins/specweave-cost-optimizer/skills/cloud-pricing/SKILL.md +325 -0
- package/plugins/specweave-cost-optimizer/skills/cost-optimization/SKILL.md +337 -0
- package/plugins/specweave-diagrams/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-diagrams/commands/diagrams-generate.md +168 -0
- package/plugins/specweave-docs/.claude-plugin/plugin.json +10 -0
- package/plugins/specweave-docs/commands/docs-generate.md +441 -0
- package/plugins/specweave-docs/commands/docs-init.md +334 -0
- package/plugins/specweave-docs/skills/docusaurus/SKILL.md +581 -0
- package/plugins/specweave-docs/skills/spec-driven-brainstorming/SKILL.md +689 -0
- package/plugins/specweave-docs/skills/technical-writing/SKILL.md +1039 -0
- package/plugins/specweave-docs-preview/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-figma/.claude-plugin/plugin.json +23 -0
- package/plugins/specweave-figma/commands/figma-import.md +690 -0
- package/plugins/specweave-figma/commands/figma-to-react.md +834 -0
- package/plugins/specweave-figma/commands/figma-tokens.md +815 -0
- package/plugins/specweave-frontend/.claude-plugin/plugin.json +21 -0
- package/plugins/specweave-frontend/agents/frontend-architect/AGENT.md +387 -0
- package/plugins/specweave-frontend/agents/frontend-architect/README.md +385 -0
- package/plugins/specweave-frontend/agents/frontend-architect/examples.md +590 -0
- package/plugins/specweave-frontend/agents/frontend-architect/templates/component-template.tsx +152 -0
- package/plugins/specweave-frontend/agents/frontend-architect/templates/hook-template.ts +311 -0
- package/plugins/specweave-frontend/agents/frontend-architect/templates/page-template.tsx +228 -0
- package/plugins/specweave-frontend/commands/component-generate.md +510 -0
- package/plugins/specweave-frontend/commands/design-system-init.md +494 -0
- package/plugins/specweave-frontend/commands/frontend-scaffold.md +207 -0
- package/plugins/specweave-frontend/commands/nextjs-setup.md +396 -0
- package/plugins/specweave-frontend/skills/design-system-architect/SKILL.md +278 -0
- package/plugins/specweave-frontend/skills/frontend/SKILL.md +420 -0
- package/plugins/specweave-frontend/skills/nextjs/SKILL.md +546 -0
- package/plugins/specweave-github/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +194 -0
- package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-jira/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-jira/commands/import-projects.js +183 -0
- package/plugins/specweave-jira/commands/import-projects.md +97 -0
- package/plugins/specweave-jira/commands/import-projects.ts +288 -0
- package/plugins/specweave-jira/commands/specweave-jira-import-projects.md +298 -0
- package/plugins/specweave-kafka/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kafka-streams/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kubernetes/commands/cluster-setup.md +262 -0
- package/plugins/specweave-kubernetes/commands/deployment-generate.md +242 -0
- package/plugins/specweave-kubernetes/commands/helm-scaffold.md +333 -0
- package/plugins/specweave-ml/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-mobile/commands/app-scaffold.md +233 -0
- package/plugins/specweave-mobile/commands/build-config.md +256 -0
- package/plugins/specweave-mobile/commands/screen-generate.md +289 -0
- package/plugins/specweave-n8n/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-plugin-dev/.claude-plugin/plugin.json +13 -12
- package/plugins/specweave-plugin-dev/commands/plugin-create.md +333 -0
- package/plugins/specweave-plugin-dev/commands/plugin-publish.md +339 -0
- package/plugins/specweave-plugin-dev/commands/plugin-test.md +293 -0
- package/plugins/specweave-plugin-dev/skills/claude-sdk/SKILL.md +162 -0
- package/plugins/specweave-plugin-dev/skills/marketplace-publishing/SKILL.md +263 -0
- package/plugins/specweave-plugin-dev/skills/plugin-development/SKILL.md +316 -0
- package/plugins/specweave-release/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-release/commands/specweave-release-npm.md +110 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +168 -0
- package/plugins/specweave-testing/.claude-plugin/plugin.json +21 -0
- package/plugins/specweave-testing/agents/qa-engineer/AGENT.md +797 -0
- package/plugins/specweave-testing/agents/qa-engineer/README.md +443 -0
- package/plugins/specweave-testing/agents/qa-engineer/templates/playwright-e2e-test.ts +470 -0
- package/plugins/specweave-testing/agents/qa-engineer/templates/test-data-factory.ts +507 -0
- package/plugins/specweave-testing/agents/qa-engineer/templates/vitest-unit-test.ts +400 -0
- package/plugins/specweave-testing/agents/qa-engineer/test-strategies.md +726 -0
- package/plugins/specweave-testing/commands/e2e-setup.md +1081 -0
- package/plugins/specweave-testing/commands/test-coverage.md +979 -0
- package/plugins/specweave-testing/commands/test-generate.md +1156 -0
- package/plugins/specweave-testing/commands/test-init.md +409 -0
- package/plugins/specweave-testing/skills/e2e-playwright/SKILL.md +769 -0
- package/plugins/specweave-testing/skills/tdd-expert/SKILL.md +934 -0
- package/plugins/specweave-testing/skills/unit-testing-expert/SKILL.md +1011 -0
- package/plugins/specweave-tooling/.claude-plugin/plugin.json +22 -0
- package/plugins/specweave-tooling/commands/specweave-tooling-skill-create.md +691 -0
- package/plugins/specweave-tooling/commands/specweave-tooling-skill-package.md +751 -0
- package/plugins/specweave-tooling/commands/specweave-tooling-skill-validate.md +858 -0
- package/plugins/specweave-ui/.claude-plugin/plugin.json +10 -0
- package/plugins/specweave-ui/commands/ui-automate.md +199 -0
- package/plugins/specweave-ui/commands/ui-inspect.md +70 -0
- package/plugins/specweave-ui/skills/browser-automation/SKILL.md +314 -0
- package/plugins/specweave-ui/skills/ui-testing/SKILL.md +716 -0
- package/plugins/specweave-ui/skills/visual-regression/SKILL.md +728 -0
- package/plugins/specweave/commands/check-hooks.md +0 -257
- package/plugins/specweave/commands/specweave-archive-increments.md +0 -82
- package/plugins/specweave-plugin-dev/skills/plugin-expert/SKILL.md +0 -1231
- /package/plugins/specweave/{agents/code-reviewer.md → skills/code-reviewer/SKILL.md} +0 -0
|
@@ -18,17 +18,6 @@
|
|
|
18
18
|
"email": "anton.abyzov@gmail.com"
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
|
-
{
|
|
22
|
-
"name": "specweave-plugin-dev",
|
|
23
|
-
"description": "Plugin development guide - Create custom Claude Code plugins, skills, agents, hooks, and MCP servers. Essential for SpecWeave contributors and plugin developers.",
|
|
24
|
-
"source": "./plugins/specweave-plugin-dev",
|
|
25
|
-
"category": "development-tools",
|
|
26
|
-
"version": "1.0.0",
|
|
27
|
-
"author": {
|
|
28
|
-
"name": "Anton Abyzov",
|
|
29
|
-
"email": "anton.abyzov@gmail.com"
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
21
|
{
|
|
33
22
|
"name": "specweave-github",
|
|
34
23
|
"description": "GitHub integration - bidirectional sync, issue tracking, task management",
|
|
@@ -63,9 +52,9 @@
|
|
|
63
52
|
}
|
|
64
53
|
},
|
|
65
54
|
{
|
|
66
|
-
"name": "specweave-
|
|
67
|
-
"description": "
|
|
68
|
-
"source": "./plugins/specweave-
|
|
55
|
+
"name": "specweave-infrastructure",
|
|
56
|
+
"description": "Cloud infrastructure - Hetzner, Prometheus, Grafana, monitoring",
|
|
57
|
+
"source": "./plugins/specweave-infrastructure",
|
|
69
58
|
"category": "development",
|
|
70
59
|
"version": "1.0.0",
|
|
71
60
|
"author": {
|
|
@@ -74,9 +63,9 @@
|
|
|
74
63
|
}
|
|
75
64
|
},
|
|
76
65
|
{
|
|
77
|
-
"name": "specweave-
|
|
78
|
-
"description": "
|
|
79
|
-
"source": "./plugins/specweave-
|
|
66
|
+
"name": "specweave-ml",
|
|
67
|
+
"description": "Machine learning - ML pipelines, training, deployment",
|
|
68
|
+
"source": "./plugins/specweave-ml",
|
|
80
69
|
"category": "development",
|
|
81
70
|
"version": "1.0.0",
|
|
82
71
|
"author": {
|
|
@@ -85,9 +74,20 @@
|
|
|
85
74
|
}
|
|
86
75
|
},
|
|
87
76
|
{
|
|
88
|
-
"name": "specweave-
|
|
89
|
-
"description": "
|
|
90
|
-
"source": "./plugins/specweave-
|
|
77
|
+
"name": "specweave-docs-preview",
|
|
78
|
+
"description": "Interactive documentation preview - Launch Docusaurus dev server with hot reload, auto-generated sidebar, Mermaid diagrams. Build static sites for deployment.",
|
|
79
|
+
"source": "./plugins/specweave-docs-preview",
|
|
80
|
+
"category": "productivity",
|
|
81
|
+
"version": "1.0.0",
|
|
82
|
+
"author": {
|
|
83
|
+
"name": "Anton Abyzov",
|
|
84
|
+
"email": "anton.abyzov@gmail.com"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "specweave-release",
|
|
89
|
+
"description": "Release management - version alignment, RC workflows, multi-repo coordination, semantic versioning",
|
|
90
|
+
"source": "./plugins/specweave-release",
|
|
91
91
|
"category": "development",
|
|
92
92
|
"version": "1.0.0",
|
|
93
93
|
"author": {
|
|
@@ -96,9 +96,9 @@
|
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
|
-
"name": "specweave-
|
|
100
|
-
"description": "
|
|
101
|
-
"source": "./plugins/specweave-
|
|
99
|
+
"name": "specweave-kafka",
|
|
100
|
+
"description": "Apache Kafka event streaming integration with MCP servers, CLI tools (kcat), Terraform modules, and comprehensive observability stack",
|
|
101
|
+
"source": "./plugins/specweave-kafka",
|
|
102
102
|
"category": "development",
|
|
103
103
|
"version": "1.0.0",
|
|
104
104
|
"author": {
|
|
@@ -107,9 +107,9 @@
|
|
|
107
107
|
}
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
|
-
"name": "specweave-
|
|
111
|
-
"description": "
|
|
112
|
-
"source": "./plugins/specweave-
|
|
110
|
+
"name": "specweave-kafka-streams",
|
|
111
|
+
"description": "Kafka Streams library integration - Stream processing with Java/Kotlin, topology design, state stores, windowing, joins, exactly-once semantics",
|
|
112
|
+
"source": "./plugins/specweave-kafka-streams",
|
|
113
113
|
"category": "development",
|
|
114
114
|
"version": "1.0.0",
|
|
115
115
|
"author": {
|
|
@@ -118,9 +118,42 @@
|
|
|
118
118
|
}
|
|
119
119
|
},
|
|
120
120
|
{
|
|
121
|
-
"name": "specweave-
|
|
122
|
-
"description": "
|
|
123
|
-
"source": "./plugins/specweave-
|
|
121
|
+
"name": "specweave-n8n",
|
|
122
|
+
"description": "n8n workflow automation with Kafka integration - Event-driven workflows, Kafka triggers, producers, no-code/low-code event processing patterns",
|
|
123
|
+
"source": "./plugins/specweave-n8n",
|
|
124
|
+
"category": "development",
|
|
125
|
+
"version": "1.0.0",
|
|
126
|
+
"author": {
|
|
127
|
+
"name": "Anton Abyzov",
|
|
128
|
+
"email": "anton.abyzov@gmail.com"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "specweave-frontend",
|
|
133
|
+
"description": "Frontend development - React, Next.js, component generation, design systems, UI scaffolding",
|
|
134
|
+
"source": "./plugins/specweave-frontend",
|
|
135
|
+
"category": "development",
|
|
136
|
+
"version": "1.0.0",
|
|
137
|
+
"author": {
|
|
138
|
+
"name": "Anton Abyzov",
|
|
139
|
+
"email": "anton.abyzov@gmail.com"
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"name": "specweave-testing",
|
|
144
|
+
"description": "Testing framework - E2E with Playwright, unit testing, test coverage, test generation",
|
|
145
|
+
"source": "./plugins/specweave-testing",
|
|
146
|
+
"category": "development",
|
|
147
|
+
"version": "1.0.0",
|
|
148
|
+
"author": {
|
|
149
|
+
"name": "Anton Abyzov",
|
|
150
|
+
"email": "anton.abyzov@gmail.com"
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "specweave-figma",
|
|
155
|
+
"description": "Figma integration - Design import, component sync, design-to-code workflows",
|
|
156
|
+
"source": "./plugins/specweave-figma",
|
|
124
157
|
"category": "productivity",
|
|
125
158
|
"version": "1.0.0",
|
|
126
159
|
"author": {
|
|
@@ -128,9 +161,20 @@
|
|
|
128
161
|
"email": "anton.abyzov@gmail.com"
|
|
129
162
|
}
|
|
130
163
|
},
|
|
164
|
+
{
|
|
165
|
+
"name": "specweave-tooling",
|
|
166
|
+
"description": "Development tooling - Skill creation, plugin scaffolding, development utilities",
|
|
167
|
+
"source": "./plugins/specweave-tooling",
|
|
168
|
+
"category": "development",
|
|
169
|
+
"version": "1.0.0",
|
|
170
|
+
"author": {
|
|
171
|
+
"name": "Anton Abyzov",
|
|
172
|
+
"email": "anton.abyzov@gmail.com"
|
|
173
|
+
}
|
|
174
|
+
},
|
|
131
175
|
{
|
|
132
176
|
"name": "specweave-diagrams",
|
|
133
|
-
"description": "Architecture
|
|
177
|
+
"description": "Architecture diagram generation - Mermaid, C4 Model, sequence diagrams, ER diagrams, deployment diagrams",
|
|
134
178
|
"source": "./plugins/specweave-diagrams",
|
|
135
179
|
"category": "development",
|
|
136
180
|
"version": "1.0.0",
|
|
@@ -140,9 +184,9 @@
|
|
|
140
184
|
}
|
|
141
185
|
},
|
|
142
186
|
{
|
|
143
|
-
"name": "specweave-
|
|
144
|
-
"description": "
|
|
145
|
-
"source": "./plugins/specweave-
|
|
187
|
+
"name": "specweave-ui",
|
|
188
|
+
"description": "Browser automation and UI tools - Element inspection, automated testing, Playwright integration",
|
|
189
|
+
"source": "./plugins/specweave-ui",
|
|
146
190
|
"category": "development",
|
|
147
191
|
"version": "1.0.0",
|
|
148
192
|
"author": {
|
|
@@ -151,10 +195,10 @@
|
|
|
151
195
|
}
|
|
152
196
|
},
|
|
153
197
|
{
|
|
154
|
-
"name": "specweave-
|
|
155
|
-
"description": "
|
|
156
|
-
"source": "./plugins/specweave-
|
|
157
|
-
"category": "
|
|
198
|
+
"name": "specweave-docs",
|
|
199
|
+
"description": "Documentation generation and management - Docusaurus, spec-driven docs, API documentation, living documentation",
|
|
200
|
+
"source": "./plugins/specweave-docs",
|
|
201
|
+
"category": "productivity",
|
|
158
202
|
"version": "1.0.0",
|
|
159
203
|
"author": {
|
|
160
204
|
"name": "Anton Abyzov",
|
|
@@ -162,9 +206,9 @@
|
|
|
162
206
|
}
|
|
163
207
|
},
|
|
164
208
|
{
|
|
165
|
-
"name": "specweave-
|
|
166
|
-
"description": "
|
|
167
|
-
"source": "./plugins/specweave-
|
|
209
|
+
"name": "specweave-alternatives",
|
|
210
|
+
"description": "Technology stack alternatives analysis using BMAD method - Best, Most Appropriate, Design decisions for architecture choices",
|
|
211
|
+
"source": "./plugins/specweave-alternatives",
|
|
168
212
|
"category": "development",
|
|
169
213
|
"version": "1.0.0",
|
|
170
214
|
"author": {
|
|
@@ -173,9 +217,9 @@
|
|
|
173
217
|
}
|
|
174
218
|
},
|
|
175
219
|
{
|
|
176
|
-
"name": "specweave-
|
|
177
|
-
"description": "
|
|
178
|
-
"source": "./plugins/specweave-
|
|
220
|
+
"name": "specweave-cost-optimizer",
|
|
221
|
+
"description": "Cloud cost optimization - AWS, GCP, Azure cost analysis, right-sizing, reserved instances, savings plans",
|
|
222
|
+
"source": "./plugins/specweave-cost-optimizer",
|
|
179
223
|
"category": "development",
|
|
180
224
|
"version": "1.0.0",
|
|
181
225
|
"author": {
|
|
@@ -184,9 +228,9 @@
|
|
|
184
228
|
}
|
|
185
229
|
},
|
|
186
230
|
{
|
|
187
|
-
"name": "specweave-
|
|
188
|
-
"description": "
|
|
189
|
-
"source": "./plugins/specweave-
|
|
231
|
+
"name": "specweave-core",
|
|
232
|
+
"description": "Core utility commands - Code analysis, refactoring, debugging, performance profiling, dependency management",
|
|
233
|
+
"source": "./plugins/specweave-core",
|
|
190
234
|
"category": "development",
|
|
191
235
|
"version": "1.0.0",
|
|
192
236
|
"author": {
|
|
@@ -195,9 +239,9 @@
|
|
|
195
239
|
}
|
|
196
240
|
},
|
|
197
241
|
{
|
|
198
|
-
"name": "specweave-
|
|
199
|
-
"description": "
|
|
200
|
-
"source": "./plugins/specweave-
|
|
242
|
+
"name": "specweave-plugin-dev",
|
|
243
|
+
"description": "Plugin development tools - Create, validate, and scaffold SpecWeave plugins, skills, commands, and agents",
|
|
244
|
+
"source": "./plugins/specweave-plugin-dev",
|
|
201
245
|
"category": "development",
|
|
202
246
|
"version": "1.0.0",
|
|
203
247
|
"author": {
|
package/CLAUDE.md
CHANGED
|
@@ -51,7 +51,84 @@ git push origin develop
|
|
|
51
51
|
**Testing Unpushed Changes:**
|
|
52
52
|
- **Option 1**: Temp branch → push → test → delete
|
|
53
53
|
- **Option 2**: Fork-based (`claude plugin marketplace add github:YOUR_USERNAME/specweave`)
|
|
54
|
-
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### 1a. Quick Marketplace Refresh (NEW! 🚀)
|
|
58
|
+
|
|
59
|
+
**Problem**: After implementing new plugins locally, Claude Code needs to reload the marketplace.
|
|
60
|
+
|
|
61
|
+
**Solution**: Use the automated refresh script!
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# LOCAL DEVELOPMENT (default) - Uses your local changes
|
|
65
|
+
bash scripts/refresh-marketplace.sh
|
|
66
|
+
|
|
67
|
+
# FROM GITHUB - Pulls latest from GitHub
|
|
68
|
+
bash scripts/refresh-marketplace.sh --github
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**What it does**:
|
|
72
|
+
1. ✅ Removes existing marketplace
|
|
73
|
+
2. ✅ Clears all plugin caches
|
|
74
|
+
3. ✅ Re-adds marketplace (local or GitHub)
|
|
75
|
+
4. ✅ Installs ALL plugins automatically
|
|
76
|
+
5. ✅ Shows success/failure summary
|
|
77
|
+
|
|
78
|
+
**Output Example**:
|
|
79
|
+
```
|
|
80
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
81
|
+
SpecWeave Marketplace Refresh (local mode)
|
|
82
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
83
|
+
|
|
84
|
+
📦 Step 1: Removing existing marketplace...
|
|
85
|
+
✓ Marketplace removed
|
|
86
|
+
|
|
87
|
+
🧹 Step 2: Clearing plugin caches...
|
|
88
|
+
✓ Marketplace cache cleared
|
|
89
|
+
✓ Installed plugins cache backed up
|
|
90
|
+
|
|
91
|
+
📥 Step 3: Adding marketplace...
|
|
92
|
+
Using local development version: /Users/antonabyzov/Projects/github/specweave
|
|
93
|
+
✓ Local marketplace added
|
|
94
|
+
|
|
95
|
+
📋 Step 4: Reading plugin list...
|
|
96
|
+
✓ Found 19 plugins
|
|
97
|
+
|
|
98
|
+
⚙️ Step 5: Installing all plugins...
|
|
99
|
+
Installing specweave...
|
|
100
|
+
✓ specweave installed
|
|
101
|
+
|
|
102
|
+
[... all 19 plugins ...]
|
|
103
|
+
|
|
104
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
105
|
+
Installation Summary
|
|
106
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
107
|
+
|
|
108
|
+
Total plugins: 19
|
|
109
|
+
Successful: 19
|
|
110
|
+
Failed: 0
|
|
111
|
+
|
|
112
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
113
|
+
✓ ALL PLUGINS INSTALLED SUCCESSFULLY!
|
|
114
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
115
|
+
|
|
116
|
+
Next steps:
|
|
117
|
+
1. Restart Claude Code for changes to take effect
|
|
118
|
+
2. Run /plugin to verify all plugins loaded
|
|
119
|
+
3. Check ~/.claude/plugins/installed_plugins.json
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**When to use**:
|
|
123
|
+
- ✅ After adding new plugins
|
|
124
|
+
- ✅ After modifying plugin commands/agents/skills
|
|
125
|
+
- ✅ After pulling latest from GitHub
|
|
126
|
+
- ✅ When plugins aren't loading correctly
|
|
127
|
+
- ✅ To test local changes before pushing
|
|
128
|
+
|
|
129
|
+
**Time**: ~30 seconds (vs 5-10 minutes manual)
|
|
130
|
+
|
|
131
|
+
**Requirements**: `jq` installed (`brew install jq`)
|
|
55
132
|
|
|
56
133
|
---
|
|
57
134
|
|
|
@@ -149,6 +226,61 @@ grep -c "^- \[x\] \*\*AC-" spec.md # Must equal total
|
|
|
149
226
|
|
|
150
227
|
---
|
|
151
228
|
|
|
229
|
+
### 7a. AC Presence in spec.md (MANDATORY - v0.24.0+) ⚠️
|
|
230
|
+
|
|
231
|
+
**CRITICAL RULE**: spec.md MUST contain inline Acceptance Criteria, even when using `structure: user-stories` with external living docs.
|
|
232
|
+
|
|
233
|
+
**Why**: The AC sync hook (`post-task-completion.sh`) requires ACs in spec.md to function. Without inline ACs, you get 0% AC completion and broken status line.
|
|
234
|
+
|
|
235
|
+
**Architecture** (ADR-0064):
|
|
236
|
+
```
|
|
237
|
+
spec.md = SOURCE OF TRUTH for ACs
|
|
238
|
+
living docs = DOCUMENTATION LAYER (optional, provides rich context)
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
**Validation Gates**:
|
|
242
|
+
1. `/specweave:do` (pre-start hook) - **BLOCKS** if ACs missing
|
|
243
|
+
2. `/specweave:validate` - **ERRORS** if ACs missing
|
|
244
|
+
3. `/specweave:increment` - **AUTO-EMBEDS** ACs during creation
|
|
245
|
+
|
|
246
|
+
**Required Format**:
|
|
247
|
+
```markdown
|
|
248
|
+
## Acceptance Criteria
|
|
249
|
+
|
|
250
|
+
<!-- Auto-synced from living docs -->
|
|
251
|
+
|
|
252
|
+
### US-001: User Story Title
|
|
253
|
+
|
|
254
|
+
- [ ] **AC-US1-01**: Criterion description
|
|
255
|
+
- [ ] **AC-US1-02**: Criterion description
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
**If ACs are missing**:
|
|
259
|
+
```bash
|
|
260
|
+
# Manual fix: Auto-embed ACs from living docs
|
|
261
|
+
/specweave:embed-acs 0050
|
|
262
|
+
|
|
263
|
+
# Or add ACs manually to spec.md
|
|
264
|
+
Edit("spec.md", "...", "...\n\n## Acceptance Criteria\n\n...")
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
**Common mistake**: Generating "pointer-only" spec.md that just references living docs without embedding ACs.
|
|
268
|
+
|
|
269
|
+
**Incident** (2025-11-22, Increment 0050):
|
|
270
|
+
- spec.md had 0 inline ACs (only references to living docs)
|
|
271
|
+
- tasks.md referenced 39 ACs (AC-US1-01, AC-US4-01, etc.)
|
|
272
|
+
- AC sync hook failed: 38 warnings, 0% completion
|
|
273
|
+
- Fix: `/specweave:embed-acs 0050` → auto-embedded 39 ACs → 100% completion
|
|
274
|
+
|
|
275
|
+
**Prevention**:
|
|
276
|
+
- Pre-start hook validates AC presence before allowing work to start
|
|
277
|
+
- Spec generators auto-embed ACs when `structure: user-stories` is used
|
|
278
|
+
- Validation command checks AC count matches metadata.json
|
|
279
|
+
|
|
280
|
+
**See**: ADR-0064, `src/utils/ac-embedder.ts`, `src/core/validators/ac-presence-validator.ts`
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
152
284
|
### 8. Logger Abstraction (NEVER `console.*`)
|
|
153
285
|
|
|
154
286
|
**Rule**: ALL `src/` code uses logger injection, NEVER `console.log/error/warn`
|
|
@@ -611,10 +743,11 @@ npm run rebuild
|
|
|
611
743
|
**Local setup**:
|
|
612
744
|
```bash
|
|
613
745
|
git clone https://github.com/YOUR_USERNAME/specweave.git
|
|
614
|
-
cd specweave && npm install
|
|
615
|
-
mkdir -p ~/.claude/plugins/marketplaces
|
|
616
|
-
ln -s "$(pwd)" ~/.claude/plugins/marketplaces/specweave
|
|
746
|
+
cd specweave && npm install && npm run rebuild
|
|
617
747
|
bash scripts/install-git-hooks.sh
|
|
748
|
+
|
|
749
|
+
# Push changes to GitHub → Claude Code auto-updates marketplace (5-10s)
|
|
750
|
+
# For fork-based testing: claude plugin marketplace add github:YOUR_USERNAME/specweave
|
|
618
751
|
```
|
|
619
752
|
|
|
620
753
|
---
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADO Area Path Mapper
|
|
3
|
+
*
|
|
4
|
+
* Maps SpecWeave increments to Azure DevOps area paths for hierarchical organization.
|
|
5
|
+
* Supports granularity selection (Project-level, Team-level, Area-Path-level).
|
|
6
|
+
*
|
|
7
|
+
* @module cli/helpers/ado-area-path-mapper
|
|
8
|
+
*/
|
|
9
|
+
export type AreaPathGranularity = 'project' | 'team' | 'area-path';
|
|
10
|
+
export interface AreaPathMapping {
|
|
11
|
+
incrementId: string;
|
|
12
|
+
project: string;
|
|
13
|
+
team?: string;
|
|
14
|
+
areaPath?: string;
|
|
15
|
+
granularity: AreaPathGranularity;
|
|
16
|
+
}
|
|
17
|
+
export interface AreaPathMapperOptions {
|
|
18
|
+
organization: string;
|
|
19
|
+
project: string;
|
|
20
|
+
availableTeams?: string[];
|
|
21
|
+
availableAreaPaths?: string[];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Prompt user to select area path granularity
|
|
25
|
+
*
|
|
26
|
+
* Granularity levels:
|
|
27
|
+
* - project: Map to project only (simplest)
|
|
28
|
+
* - team: Map to project + team
|
|
29
|
+
* - area-path: Map to project + team + specific area path (most granular)
|
|
30
|
+
*
|
|
31
|
+
* @param options - Mapper options
|
|
32
|
+
* @returns Selected granularity
|
|
33
|
+
*/
|
|
34
|
+
export declare function promptAreaPathGranularity(options: AreaPathMapperOptions): Promise<AreaPathGranularity>;
|
|
35
|
+
/**
|
|
36
|
+
* Prompt user to select team (for team-level or area-path-level granularity)
|
|
37
|
+
*
|
|
38
|
+
* @param options - Mapper options
|
|
39
|
+
* @returns Selected team name
|
|
40
|
+
*/
|
|
41
|
+
export declare function promptTeamSelection(options: AreaPathMapperOptions): Promise<string | undefined>;
|
|
42
|
+
/**
|
|
43
|
+
* Prompt user to select area path (for area-path-level granularity)
|
|
44
|
+
*
|
|
45
|
+
* @param options - Mapper options
|
|
46
|
+
* @param team - Selected team
|
|
47
|
+
* @returns Selected area path
|
|
48
|
+
*/
|
|
49
|
+
export declare function promptAreaPathSelection(options: AreaPathMapperOptions, team?: string): Promise<string | undefined>;
|
|
50
|
+
/**
|
|
51
|
+
* Create area path mapping for an increment
|
|
52
|
+
*
|
|
53
|
+
* Interactive flow:
|
|
54
|
+
* 1. Select granularity level
|
|
55
|
+
* 2. Select team (if team-level or area-path-level)
|
|
56
|
+
* 3. Select area path (if area-path-level)
|
|
57
|
+
*
|
|
58
|
+
* @param incrementId - Increment ID
|
|
59
|
+
* @param options - Mapper options
|
|
60
|
+
* @returns Area path mapping
|
|
61
|
+
*/
|
|
62
|
+
export declare function createAreaPathMapping(incrementId: string, options: AreaPathMapperOptions): Promise<AreaPathMapping>;
|
|
63
|
+
/**
|
|
64
|
+
* Format area path for ADO API
|
|
65
|
+
*
|
|
66
|
+
* Converts mapping to ADO-compatible area path format:
|
|
67
|
+
* - project: "ProjectName"
|
|
68
|
+
* - team: "ProjectName\\TeamName"
|
|
69
|
+
* - area-path: "ProjectName\\TeamName\\AreaPath"
|
|
70
|
+
*
|
|
71
|
+
* @param mapping - Area path mapping
|
|
72
|
+
* @returns Formatted area path string
|
|
73
|
+
*/
|
|
74
|
+
export declare function formatAreaPath(mapping: AreaPathMapping): string;
|
|
75
|
+
/**
|
|
76
|
+
* Validate area path exists in ADO
|
|
77
|
+
*
|
|
78
|
+
* Makes API call to verify area path is valid before creating work item.
|
|
79
|
+
*
|
|
80
|
+
* @param areaPath - Formatted area path
|
|
81
|
+
* @param credentials - ADO credentials
|
|
82
|
+
* @returns true if valid, false otherwise
|
|
83
|
+
*/
|
|
84
|
+
export declare function validateAreaPath(areaPath: string, credentials: {
|
|
85
|
+
organization: string;
|
|
86
|
+
pat: string;
|
|
87
|
+
project: string;
|
|
88
|
+
}): Promise<boolean>;
|
|
89
|
+
//# sourceMappingURL=ado-area-path-mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ado-area-path-mapper.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/ado-area-path-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CA4B9B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAmB7B;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,qBAAqB,EAC9B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8B7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CA6C1B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAY/D;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClE,OAAO,CAAC,OAAO,CAAC,CAuBlB"}
|