specweave 0.1.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +600 -0
- package/README.md +263 -88
- package/bin/install-all.sh +1 -1
- package/bin/install-commands.sh +3 -3
- package/bin/specweave.js +39 -9
- package/dist/adapters/adapter-base.d.ts +1 -1
- package/dist/adapters/adapter-base.d.ts.map +1 -1
- package/dist/adapters/adapter-base.js +6 -41
- package/dist/adapters/adapter-base.js.map +1 -1
- package/dist/adapters/adapter-interface.js +1 -2
- package/dist/adapters/adapter-interface.js.map +1 -1
- package/dist/adapters/adapter-loader.d.ts +86 -0
- package/dist/adapters/adapter-loader.d.ts.map +1 -0
- package/dist/adapters/adapter-loader.js +216 -0
- package/dist/adapters/adapter-loader.js.map +1 -0
- package/dist/adapters/agents-md-generator.d.ts +48 -0
- package/dist/adapters/agents-md-generator.d.ts.map +1 -0
- package/dist/adapters/agents-md-generator.js +132 -0
- package/dist/adapters/agents-md-generator.js.map +1 -0
- package/dist/adapters/claude/adapter.d.ts +2 -2
- package/dist/adapters/claude/adapter.d.ts.map +1 -1
- package/dist/adapters/claude/adapter.js +5 -42
- package/dist/adapters/claude/adapter.js.map +1 -1
- package/dist/adapters/claude-md-generator.d.ts +78 -0
- package/dist/adapters/claude-md-generator.d.ts.map +1 -0
- package/dist/adapters/claude-md-generator.js +246 -0
- package/dist/adapters/claude-md-generator.js.map +1 -0
- package/dist/adapters/codex/adapter.d.ts +50 -0
- package/dist/adapters/codex/adapter.d.ts.map +1 -0
- package/dist/adapters/codex/adapter.js +316 -0
- package/dist/adapters/codex/adapter.js.map +1 -0
- package/dist/adapters/copilot/adapter.d.ts +10 -9
- package/dist/adapters/copilot/adapter.d.ts.map +1 -1
- package/dist/adapters/copilot/adapter.js +35 -100
- package/dist/adapters/copilot/adapter.js.map +1 -1
- package/dist/adapters/cursor/adapter.d.ts +8 -6
- package/dist/adapters/cursor/adapter.d.ts.map +1 -1
- package/dist/adapters/cursor/adapter.js +47 -130
- package/dist/adapters/cursor/adapter.js.map +1 -1
- package/dist/adapters/doc-generator.d.ts +69 -0
- package/dist/adapters/doc-generator.d.ts.map +1 -0
- package/dist/adapters/doc-generator.js +247 -0
- package/dist/adapters/doc-generator.js.map +1 -0
- package/dist/adapters/gemini/adapter.d.ts +50 -0
- package/dist/adapters/gemini/adapter.d.ts.map +1 -0
- package/dist/adapters/gemini/adapter.js +281 -0
- package/dist/adapters/gemini/adapter.js.map +1 -0
- package/dist/adapters/generic/adapter.d.ts +7 -4
- package/dist/adapters/generic/adapter.d.ts.map +1 -1
- package/dist/adapters/generic/adapter.js +60 -59
- package/dist/adapters/generic/adapter.js.map +1 -1
- package/dist/cli/commands/init.d.ts +3 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +272 -170
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +22 -58
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +27 -64
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/core/credentials-manager.d.ts +90 -0
- package/dist/core/credentials-manager.d.ts.map +1 -0
- package/dist/core/credentials-manager.js +271 -0
- package/dist/core/credentials-manager.js.map +1 -0
- package/dist/core/project-structure-detector.d.ts +92 -0
- package/dist/core/project-structure-detector.d.ts.map +1 -0
- package/dist/core/project-structure-detector.js +289 -0
- package/dist/core/project-structure-detector.js.map +1 -0
- package/dist/core/rfc-generator-v2.d.ts +149 -0
- package/dist/core/rfc-generator-v2.d.ts.map +1 -0
- package/dist/core/rfc-generator-v2.js +399 -0
- package/dist/core/rfc-generator-v2.js.map +1 -0
- package/dist/core/rfc-generator.d.ts +147 -0
- package/dist/core/rfc-generator.d.ts.map +1 -0
- package/dist/core/rfc-generator.js +434 -0
- package/dist/core/rfc-generator.js.map +1 -0
- package/dist/integrations/ado/ado-client.d.ts +123 -0
- package/dist/integrations/ado/ado-client.d.ts.map +1 -0
- package/dist/integrations/ado/ado-client.js +398 -0
- package/dist/integrations/ado/ado-client.js.map +1 -0
- package/dist/integrations/jira/jira-client.d.ts +139 -0
- package/dist/integrations/jira/jira-client.d.ts.map +1 -0
- package/dist/integrations/jira/jira-client.js +386 -0
- package/dist/integrations/jira/jira-client.js.map +1 -0
- package/dist/integrations/jira/jira-incremental-mapper.d.ts +75 -0
- package/dist/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
- package/dist/integrations/jira/jira-incremental-mapper.js +474 -0
- package/dist/integrations/jira/jira-incremental-mapper.js.map +1 -0
- package/dist/integrations/jira/jira-mapper.d.ts +105 -0
- package/dist/integrations/jira/jira-mapper.d.ts.map +1 -0
- package/dist/integrations/jira/jira-mapper.js +494 -0
- package/dist/integrations/jira/jira-mapper.js.map +1 -0
- package/dist/testing/test-generator.d.ts +117 -0
- package/dist/testing/test-generator.d.ts.map +1 -0
- package/dist/testing/test-generator.js +370 -0
- package/dist/testing/test-generator.js.map +1 -0
- package/dist/utils/auto-install.d.ts +3 -0
- package/dist/utils/auto-install.d.ts.map +1 -1
- package/dist/utils/auto-install.js +16 -82
- package/dist/utils/auto-install.js.map +1 -1
- package/dist/utils/esm-helpers.d.ts +50 -0
- package/dist/utils/esm-helpers.d.ts.map +1 -0
- package/dist/utils/esm-helpers.js +57 -0
- package/dist/utils/esm-helpers.js.map +1 -0
- package/package.json +16 -7
- package/src/adapters/README.md +1 -2
- package/src/adapters/adapter-base.ts +6 -3
- package/src/adapters/adapter-loader.ts +261 -0
- package/src/adapters/agents-md-generator.ts +162 -0
- package/src/adapters/claude/README.md +6 -14
- package/src/adapters/claude/adapter.ts +4 -4
- package/src/adapters/claude-md-generator.ts +311 -0
- package/src/adapters/codex/README.md +105 -0
- package/src/adapters/codex/adapter.ts +333 -0
- package/src/adapters/copilot/adapter.ts +36 -65
- package/src/adapters/cursor/README.md +0 -2
- package/src/adapters/cursor/adapter.ts +46 -92
- package/src/adapters/doc-generator.ts +331 -0
- package/src/adapters/gemini/README.md +97 -0
- package/src/adapters/gemini/adapter.ts +298 -0
- package/src/adapters/generic/adapter.ts +61 -57
- package/src/adapters/registry.yaml +86 -25
- package/src/agents/devops/AGENT.md +16 -18
- package/src/agents/docs-writer/AGENT.md +2 -2
- package/src/agents/pm/AGENT.md +1 -50
- package/src/commands/README.md +134 -111
- package/src/commands/{build.md → specweave.do.md} +185 -72
- package/src/commands/{done.md → specweave.done.md} +3 -3
- package/src/commands/{inc.md → specweave.inc.md} +4 -4
- package/src/commands/specweave.increment.md +383 -0
- package/src/commands/specweave.md +430 -0
- package/src/commands/specweave.next.md +495 -0
- package/src/commands/specweave.progress.md +258 -0
- package/src/commands/specweave.sync-docs.md +665 -0
- package/src/commands/specweave.sync-github.md +269 -0
- package/src/commands/specweave.sync-jira.md +197 -0
- package/src/commands/{validate.md → specweave.validate.md} +4 -4
- package/src/hooks/README.md +19 -29
- package/src/hooks/post-task-completion.sh +25 -30
- package/src/skills/ado-sync/README.md +1 -36
- package/src/skills/bmad-method-expert/SKILL.md +1 -3
- package/src/skills/brownfield-analyzer/SKILL.md +429 -23
- package/src/skills/brownfield-onboarder/SKILL.md +221 -8
- package/src/skills/context-loader/SKILL.md +239 -617
- package/src/skills/context-optimizer/SKILL.md +0 -30
- package/src/skills/github-sync/SKILL.md +1 -19
- package/src/skills/increment-planner/SKILL.md +64 -18
- package/src/skills/increment-quality-judge/SKILL.md +1 -36
- package/src/skills/jira-sync/README.md +1 -38
- package/src/skills/role-orchestrator/README.md +1 -22
- package/src/skills/role-orchestrator/SKILL.md +1 -59
- package/src/skills/skill-router/SKILL.md +0 -18
- package/src/skills/spec-kit-expert/SKILL.md +1 -3
- package/src/skills/specweave-detector/SKILL.md +225 -275
- package/src/skills/task-builder/README.md +1 -7
- package/src/templates/AGENTS.md.template +334 -0
- package/src/templates/CLAUDE.md.template +131 -297
- package/src/templates/README.md.template +115 -23
- package/src/templates/environments/minimal/README.md +0 -1
- package/INSTALL.md +0 -848
- package/SPECWEAVE.md +0 -711
- package/src/adapters/copilot/.github/copilot/instructions.md +0 -376
- package/src/adapters/cursor/.cursorrules +0 -325
- package/src/adapters/generic/SPECWEAVE-MANUAL.md +0 -676
- package/src/commands/create-project.md +0 -528
- package/src/commands/generate-docs.md +0 -623
- package/src/commands/increment.md +0 -223
- package/src/commands/review-docs.md +0 -331
- package/src/commands/sync-github.md +0 -115
- package/src/skills/ado-sync/test-cases/test-1.yaml +0 -9
- package/src/skills/ado-sync/test-cases/test-2.yaml +0 -8
- package/src/skills/ado-sync/test-cases/test-3.yaml +0 -9
- package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +0 -48
- package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +0 -39
- package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +0 -44
- package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +0 -45
- package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +0 -97
- package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +0 -109
- package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +0 -98
- package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +0 -75
- package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +0 -52
- package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +0 -63
- package/src/skills/cost-optimizer/test-results/README.md +0 -46
- package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +0 -23
- package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +0 -24
- package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +0 -23
- package/src/skills/diagrams-architect/test-cases/test-1-c4-context.yaml +0 -13
- package/src/skills/diagrams-architect/test-cases/test-2-sequence-diagram.yaml +0 -13
- package/src/skills/diagrams-architect/test-cases/test-3-er-diagram.yaml +0 -13
- package/src/skills/diagrams-generator/test-cases/test-1.yaml +0 -9
- package/src/skills/diagrams-generator/test-cases/test-2.yaml +0 -9
- package/src/skills/diagrams-generator/test-cases/test-3.yaml +0 -8
- package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/dotnet-backend/test-cases/test-1-rest-api.yaml +0 -14
- package/src/skills/dotnet-backend/test-cases/test-2-authentication.yaml +0 -13
- package/src/skills/dotnet-backend/test-cases/test-3-minimal-api.yaml +0 -13
- package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +0 -54
- package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +0 -64
- package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +0 -74
- package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +0 -98
- package/src/skills/figma-designer/test-cases/test-1-design-system.yaml +0 -13
- package/src/skills/figma-designer/test-cases/test-2-component-library.yaml +0 -13
- package/src/skills/figma-designer/test-cases/test-3-responsive-layout.yaml +0 -13
- package/src/skills/figma-implementer/test-cases/test-1-design-to-react.yaml +0 -13
- package/src/skills/figma-implementer/test-cases/test-2-storybook.yaml +0 -13
- package/src/skills/figma-implementer/test-cases/test-3-design-tokens.yaml +0 -13
- package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +0 -22
- package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +0 -21
- package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +0 -18
- package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +0 -29
- package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +0 -27
- package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +0 -28
- package/src/skills/frontend/test-cases/test-1-react-component.yaml +0 -13
- package/src/skills/frontend/test-cases/test-2-form-validation.yaml +0 -13
- package/src/skills/frontend/test-cases/test-3-state-management.yaml +0 -13
- package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +0 -71
- package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +0 -85
- package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +0 -126
- package/src/skills/hetzner-provisioner/test-results/README.md +0 -259
- package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +0 -27
- package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +0 -30
- package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +0 -24
- package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +0 -95
- package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +0 -108
- package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +0 -87
- package/src/skills/jira-sync/test-cases/test-1.yaml +0 -9
- package/src/skills/jira-sync/test-cases/test-2.yaml +0 -9
- package/src/skills/jira-sync/test-cases/test-3.yaml +0 -10
- package/src/skills/nextjs/test-cases/test-1-app-router.yaml +0 -13
- package/src/skills/nextjs/test-cases/test-2-server-actions.yaml +0 -13
- package/src/skills/nextjs/test-cases/test-3-api-routes.yaml +0 -13
- package/src/skills/nodejs-backend/test-cases/test-1-express-api.yaml +0 -13
- package/src/skills/nodejs-backend/test-cases/test-2-prisma-orm.yaml +0 -13
- package/src/skills/nodejs-backend/test-cases/test-3-authentication.yaml +0 -13
- package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/python-backend/test-cases/test-1-fastapi-crud.yaml +0 -13
- package/src/skills/python-backend/test-cases/test-2-sqlalchemy.yaml +0 -13
- package/src/skills/python-backend/test-cases/test-3-authentication.yaml +0 -13
- package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +0 -98
- package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +0 -73
- package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +0 -121
- package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +0 -145
- package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +0 -149
- package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +0 -33
- package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +0 -42
- package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +0 -50
- package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +0 -148
- package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +0 -190
- package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +0 -233
- package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +0 -212
- package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +0 -461
- package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +0 -366
- package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/specweave-ado-mapper/test-cases/test-1-export-to-ado.yaml +0 -13
- package/src/skills/specweave-ado-mapper/test-cases/test-2-import-from-ado.yaml +0 -13
- package/src/skills/specweave-ado-mapper/test-cases/test-3-bidirectional-sync.yaml +0 -13
- package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +0 -37
- package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +0 -37
- package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +0 -34
- package/src/skills/specweave-jira-mapper/test-cases/test-1-export-to-jira.yaml +0 -13
- package/src/skills/specweave-jira-mapper/test-cases/test-2-import-from-jira.yaml +0 -13
- package/src/skills/specweave-jira-mapper/test-cases/test-3-sync-status.yaml +0 -13
- package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +0 -12
- package/src/templates/config.yaml +0 -351
- /package/src/commands/{list-increments.md → specweave.list-increments.md} +0 -0
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,600 @@
|
|
|
1
|
+
# SpecWeave - Development Guide
|
|
2
|
+
|
|
3
|
+
**Project**: SpecWeave - Spec-Driven Development Framework
|
|
4
|
+
**Version**: 0.2.0
|
|
5
|
+
**Type**: Open Source NPM Package (TypeScript CLI)
|
|
6
|
+
**Repository**: https://github.com/anton-abyzov/specweave
|
|
7
|
+
**Website**: https://spec-weave.com
|
|
8
|
+
|
|
9
|
+
This CLAUDE.md is for **contributors to SpecWeave itself**, not users of SpecWeave.
|
|
10
|
+
Users receive a different CLAUDE.md via the template system.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Quick Start for Contributors
|
|
15
|
+
|
|
16
|
+
**Current Work**: Increment 0002 - Core Framework Enhancements (73% complete)
|
|
17
|
+
**Active Branch**: `develop` → merges to `features/001-core-feature`
|
|
18
|
+
**Current Focus**: Diagram agents, command refactoring, context loading improvements
|
|
19
|
+
|
|
20
|
+
**Typical Workflow**:
|
|
21
|
+
```bash
|
|
22
|
+
# 1. Make changes to source files in src/
|
|
23
|
+
# 2. Test locally
|
|
24
|
+
npm run build && npm test
|
|
25
|
+
|
|
26
|
+
# 3. Use SpecWeave commands for managing work
|
|
27
|
+
/specweave.do # Execute next task
|
|
28
|
+
/specweave.progress # Check status
|
|
29
|
+
|
|
30
|
+
# 4. Commit with hooks (auto-validates)
|
|
31
|
+
git add . && git commit -m "feat: description"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Project Architecture
|
|
37
|
+
|
|
38
|
+
### Source of Truth Principle
|
|
39
|
+
|
|
40
|
+
**CRITICAL**: SpecWeave follows a strict source-of-truth pattern:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
src/ ← SOURCE OF TRUTH (version controlled)
|
|
44
|
+
├── skills/ ← Source for skills
|
|
45
|
+
├── agents/ ← Source for agents
|
|
46
|
+
├── commands/ ← Source for slash commands
|
|
47
|
+
├── hooks/ ← Source for hooks
|
|
48
|
+
├── adapters/ ← Tool adapters (Claude, Cursor, etc.)
|
|
49
|
+
└── templates/ ← Templates for user projects
|
|
50
|
+
|
|
51
|
+
.claude/ ← INSTALLED (gitignored in user projects)
|
|
52
|
+
├── skills/ ← Installed from src/skills/
|
|
53
|
+
├── agents/ ← Installed from src/agents/
|
|
54
|
+
├── commands/ ← Installed from src/commands/
|
|
55
|
+
└── hooks/ ← Installed from src/hooks/
|
|
56
|
+
|
|
57
|
+
.specweave/ ← FRAMEWORK DATA (always present)
|
|
58
|
+
├── increments/ ← Feature development
|
|
59
|
+
├── docs/ ← Strategic documentation
|
|
60
|
+
└── config.yaml ← Configuration
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Rules**:
|
|
64
|
+
- ✅ ALWAYS edit files in `src/` (source of truth)
|
|
65
|
+
- ✅ Run install scripts to sync changes to `.claude/`
|
|
66
|
+
- ❌ NEVER edit files in `.claude/` directly (they get overwritten)
|
|
67
|
+
- ❌ NEVER create new files in project root (use increment folders)
|
|
68
|
+
|
|
69
|
+
### Tech Stack
|
|
70
|
+
|
|
71
|
+
**Core**:
|
|
72
|
+
- TypeScript 5.x (strict mode)
|
|
73
|
+
- Node.js 18+ (ESM + CommonJS)
|
|
74
|
+
- Commander.js (CLI framework)
|
|
75
|
+
- Inquirer.js (interactive prompts)
|
|
76
|
+
- fs-extra (file operations)
|
|
77
|
+
|
|
78
|
+
**Testing**:
|
|
79
|
+
- Playwright (E2E browser tests)
|
|
80
|
+
- Jest (unit + integration tests)
|
|
81
|
+
- ts-jest (TypeScript support)
|
|
82
|
+
|
|
83
|
+
**Documentation**:
|
|
84
|
+
- Docusaurus 3.x (docs-site/)
|
|
85
|
+
- Mermaid diagrams (architecture visualization)
|
|
86
|
+
- Markdown (all docs)
|
|
87
|
+
|
|
88
|
+
**Distribution**:
|
|
89
|
+
- NPM package (`npm publish`)
|
|
90
|
+
- Install script (`install.sh`)
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Directory Structure
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
specweave/
|
|
98
|
+
├── src/ # SOURCE OF TRUTH
|
|
99
|
+
│ ├── cli/ # CLI commands (init, version)
|
|
100
|
+
│ │ └── commands/
|
|
101
|
+
│ │ └── init.ts # Main installation logic
|
|
102
|
+
│ ├── core/ # Core framework logic
|
|
103
|
+
│ │ ├── config-manager.ts # Config loading/validation
|
|
104
|
+
│ │ └── project-structure-detector.ts
|
|
105
|
+
│ ├── skills/ # 35+ skills (SKILL.md + test-cases/)
|
|
106
|
+
│ │ ├── increment-planner/
|
|
107
|
+
│ │ ├── context-loader/
|
|
108
|
+
│ │ └── ...
|
|
109
|
+
│ ├── agents/ # 10 specialized agents (AGENT.md)
|
|
110
|
+
│ │ ├── pm/
|
|
111
|
+
│ │ ├── architect/
|
|
112
|
+
│ │ └── ...
|
|
113
|
+
│ ├── commands/ # Slash commands (.md)
|
|
114
|
+
│ │ ├── specweave.inc.md
|
|
115
|
+
│ │ ├── specweave.do.md
|
|
116
|
+
│ │ └── ...
|
|
117
|
+
│ ├── hooks/ # Lifecycle hooks (.sh)
|
|
118
|
+
│ │ └── post-task-completion.sh
|
|
119
|
+
│ ├── adapters/ # Multi-tool support
|
|
120
|
+
│ │ ├── claude/
|
|
121
|
+
│ │ ├── cursor/
|
|
122
|
+
│ │ ├── copilot/
|
|
123
|
+
│ │ └── generic/
|
|
124
|
+
│ ├── templates/ # User project templates
|
|
125
|
+
│ │ ├── CLAUDE.md.template
|
|
126
|
+
│ │ ├── AGENTS.md.template
|
|
127
|
+
│ │ └── ...
|
|
128
|
+
│ └── utils/ # Utility functions
|
|
129
|
+
│
|
|
130
|
+
├── .claude/ # Pre-installed for SpecWeave dev
|
|
131
|
+
│ ├── skills/ # Synced from src/skills/
|
|
132
|
+
│ ├── agents/ # Synced from src/agents/
|
|
133
|
+
│ └── commands/ # Synced from src/commands/
|
|
134
|
+
│
|
|
135
|
+
├── .specweave/ # SpecWeave's own increments
|
|
136
|
+
│ ├── increments/
|
|
137
|
+
│ │ ├── 0001-core-framework/
|
|
138
|
+
│ │ ├── 0002-core-enhancements/
|
|
139
|
+
│ │ │ ├── spec.md
|
|
140
|
+
│ │ │ ├── plan.md
|
|
141
|
+
│ │ │ ├── tasks.md
|
|
142
|
+
│ │ │ ├── tests.md
|
|
143
|
+
│ │ │ ├── logs/ # ✅ Session logs go here
|
|
144
|
+
│ │ │ ├── scripts/ # ✅ Helper scripts
|
|
145
|
+
│ │ │ └── reports/ # ✅ Analysis files
|
|
146
|
+
│ │ └── _backlog/
|
|
147
|
+
│ ├── docs/
|
|
148
|
+
│ │ ├── internal/ # Strategic docs
|
|
149
|
+
│ │ └── public/ # Published docs
|
|
150
|
+
│ ├── config.yaml # SpecWeave's config
|
|
151
|
+
│ └── logs/
|
|
152
|
+
│
|
|
153
|
+
├── tests/
|
|
154
|
+
│ ├── e2e/ # Playwright E2E tests
|
|
155
|
+
│ ├── integration/ # Integration tests
|
|
156
|
+
│ ├── unit/ # Unit tests
|
|
157
|
+
│ └── specs/ # Test specifications
|
|
158
|
+
│
|
|
159
|
+
├── bin/ # Installation scripts
|
|
160
|
+
│ ├── install-all.sh
|
|
161
|
+
│ ├── install-skills.sh
|
|
162
|
+
│ └── install-agents.sh
|
|
163
|
+
│
|
|
164
|
+
├── scripts/ # Build/deployment scripts
|
|
165
|
+
│ ├── install-brownfield.sh
|
|
166
|
+
│ └── generate-diagram-svgs.sh
|
|
167
|
+
│
|
|
168
|
+
├── docs-site/ # Docusaurus documentation site
|
|
169
|
+
│
|
|
170
|
+
├── CLAUDE.md # This file (for contributors)
|
|
171
|
+
├── README.md # GitHub README (for users)
|
|
172
|
+
├── CHANGELOG.md # Version history
|
|
173
|
+
├── package.json # NPM package definition
|
|
174
|
+
└── tsconfig.json # TypeScript configuration
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## File Organization Rules
|
|
180
|
+
|
|
181
|
+
### ✅ ALLOWED in Root
|
|
182
|
+
|
|
183
|
+
- `CLAUDE.md` (this file)
|
|
184
|
+
- `README.md`, `CHANGELOG.md`, `LICENSE`
|
|
185
|
+
- Standard config files (`package.json`, `tsconfig.json`, `.gitignore`)
|
|
186
|
+
- Build artifacts (`dist/`, only if needed temporarily)
|
|
187
|
+
|
|
188
|
+
### ❌ NEVER Create in Root (Pollutes Repository)
|
|
189
|
+
|
|
190
|
+
All AI-generated files MUST go into increment folders:
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
❌ WRONG:
|
|
194
|
+
/SESSION-SUMMARY-2025-10-28.md # NO!
|
|
195
|
+
/ADR-006-DEEP-ANALYSIS.md # NO!
|
|
196
|
+
/ANALYSIS-MULTI-TOOL-COMPARISON.md # NO!
|
|
197
|
+
/CONTEXT-LOADER-CORRECTIONS.md # NO!
|
|
198
|
+
|
|
199
|
+
✅ CORRECT:
|
|
200
|
+
.specweave/increments/0002-core-enhancements/
|
|
201
|
+
├── reports/
|
|
202
|
+
│ ├── SESSION-SUMMARY-2025-10-28.md
|
|
203
|
+
│ ├── ADR-006-DEEP-ANALYSIS.md
|
|
204
|
+
│ ├── ANALYSIS-MULTI-TOOL-COMPARISON.md
|
|
205
|
+
│ └── CONTEXT-LOADER-CORRECTIONS.md
|
|
206
|
+
├── logs/
|
|
207
|
+
│ └── execution-2025-10-28.log
|
|
208
|
+
└── scripts/
|
|
209
|
+
└── migration-helper.sh
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Why?**
|
|
213
|
+
- ✅ Complete traceability (which increment created which files)
|
|
214
|
+
- ✅ Easy cleanup (delete increment folder = delete all files)
|
|
215
|
+
- ✅ Clear context (all files for a feature in one place)
|
|
216
|
+
- ✅ No root clutter
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Development Workflow
|
|
221
|
+
|
|
222
|
+
### Making Changes
|
|
223
|
+
|
|
224
|
+
**1. Skills** (`src/skills/skill-name/`):
|
|
225
|
+
```bash
|
|
226
|
+
# Edit source
|
|
227
|
+
vim src/skills/context-loader/SKILL.md
|
|
228
|
+
|
|
229
|
+
# Sync to .claude/
|
|
230
|
+
npm run install:skills
|
|
231
|
+
|
|
232
|
+
# Test
|
|
233
|
+
/context-loader-test
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**2. Agents** (`src/agents/agent-name/`):
|
|
237
|
+
```bash
|
|
238
|
+
# Edit source
|
|
239
|
+
vim src/agents/pm/AGENT.md
|
|
240
|
+
|
|
241
|
+
# Sync to .claude/
|
|
242
|
+
npm run install:agents
|
|
243
|
+
|
|
244
|
+
# Test by invoking via Task tool
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**3. Commands** (`src/commands/command-name.md`):
|
|
248
|
+
```bash
|
|
249
|
+
# Edit source
|
|
250
|
+
vim src/commands/specweave.do.md
|
|
251
|
+
|
|
252
|
+
# Sync to .claude/
|
|
253
|
+
npm run install:all
|
|
254
|
+
|
|
255
|
+
# Test
|
|
256
|
+
/specweave.do
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
**4. Core Logic** (`src/core/`, `src/cli/`):
|
|
260
|
+
```bash
|
|
261
|
+
# Edit TypeScript
|
|
262
|
+
vim src/core/config-manager.ts
|
|
263
|
+
|
|
264
|
+
# Build
|
|
265
|
+
npm run build
|
|
266
|
+
|
|
267
|
+
# Test
|
|
268
|
+
npm test
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Testing Strategy
|
|
272
|
+
|
|
273
|
+
**Four Levels of Testing** (mirroring SpecWeave's philosophy):
|
|
274
|
+
|
|
275
|
+
1. **Specification Tests** (`.specweave/docs/internal/strategy/`)
|
|
276
|
+
- Acceptance criteria in PRDs
|
|
277
|
+
- Manual validation
|
|
278
|
+
|
|
279
|
+
2. **Feature Tests** (`.specweave/increments/####/tests.md`)
|
|
280
|
+
- Test coverage plans per increment
|
|
281
|
+
- TC-XXXX test case IDs
|
|
282
|
+
|
|
283
|
+
3. **Skill Tests** (`src/skills/{name}/test-cases/*.yaml`)
|
|
284
|
+
- YAML-based test cases
|
|
285
|
+
- Minimum 3 test cases per skill
|
|
286
|
+
- Run via: `npm run test:skill`
|
|
287
|
+
|
|
288
|
+
4. **Code Tests** (`tests/`)
|
|
289
|
+
- **E2E (Playwright)**: MANDATORY for UI features
|
|
290
|
+
- `tests/e2e/specweave-smoke.spec.ts`
|
|
291
|
+
- Run: `npm run test:e2e`
|
|
292
|
+
- **Integration**: Tool sync, brownfield detection
|
|
293
|
+
- `tests/integration/`
|
|
294
|
+
- Run: `npm run test:integration`
|
|
295
|
+
- **Unit**: Core logic, config parsing
|
|
296
|
+
- `tests/unit/`
|
|
297
|
+
- Run: `npm test`
|
|
298
|
+
|
|
299
|
+
**Coverage Requirements**:
|
|
300
|
+
- Critical paths: 90%+
|
|
301
|
+
- Overall: 80%+
|
|
302
|
+
- Tests MUST tell the truth (no false positives)
|
|
303
|
+
|
|
304
|
+
### Hooks and Automation
|
|
305
|
+
|
|
306
|
+
**Post-Task Completion Hook** (`.claude/hooks/post-task-completion.sh`):
|
|
307
|
+
- ✅ Plays completion sound (Glass.aiff on macOS)
|
|
308
|
+
- ✅ Outputs JSON systemMessage reminder
|
|
309
|
+
- ✅ Logs to `.specweave/logs/tasks.log`
|
|
310
|
+
|
|
311
|
+
**Manual Actions** (Claude MUST do after each task):
|
|
312
|
+
- Update `CLAUDE.md` when structure changes
|
|
313
|
+
- Update `README.md` for user-facing changes
|
|
314
|
+
- Update `CHANGELOG.md` for API changes
|
|
315
|
+
|
|
316
|
+
**Living Docs Sync** (after `/specweave.do` completes):
|
|
317
|
+
- Run `/sync-docs update`
|
|
318
|
+
- Updates `.specweave/docs/` with implementation learnings
|
|
319
|
+
- Updates ADRs from Proposed → Accepted
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Current Work (Increment 0002)
|
|
324
|
+
|
|
325
|
+
**Increment**: 0002-core-enhancements
|
|
326
|
+
**Title**: Core Framework Enhancements - Multi-Tool Support & Diagram Agents
|
|
327
|
+
**Status**: In Progress (73% complete, 11/15 tasks done)
|
|
328
|
+
**Priority**: P1
|
|
329
|
+
**Started**: 2025-10-27
|
|
330
|
+
|
|
331
|
+
**Two Parts**:
|
|
332
|
+
|
|
333
|
+
### Part A: Multi-Tool Compatibility (Deferred)
|
|
334
|
+
- Make SpecWeave work with Cursor, Copilot, Windsurf, etc.
|
|
335
|
+
- Adapter pattern implementation
|
|
336
|
+
- Inspired by spec-kit and BMAD-METHOD
|
|
337
|
+
|
|
338
|
+
### Part B: Diagram Generation Agents (73% Complete)
|
|
339
|
+
- ✅ Context C4 diagrams
|
|
340
|
+
- ✅ Container C4 diagrams
|
|
341
|
+
- ✅ Component C4 diagrams
|
|
342
|
+
- ✅ Sequence diagrams
|
|
343
|
+
- ✅ ER diagrams
|
|
344
|
+
- ⏳ Deployment diagrams (in progress)
|
|
345
|
+
|
|
346
|
+
**Files to Focus On**:
|
|
347
|
+
- `.specweave/increments/0002-core-enhancements/spec.md`
|
|
348
|
+
- `.specweave/increments/0002-core-enhancements/plan.md`
|
|
349
|
+
- `.specweave/increments/0002-core-enhancements/tasks.md`
|
|
350
|
+
|
|
351
|
+
**Recent Changes**:
|
|
352
|
+
- ✅ Migrated commands from `specweave-xxx` to `specweave.xxx` (dot notation)
|
|
353
|
+
- ✅ Fixed context documentation (removed non-existent features)
|
|
354
|
+
- ✅ Corrected ADR-0002 (context loading architecture)
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## Key SpecWeave Principles (for Contributors)
|
|
359
|
+
|
|
360
|
+
### 1. Source of Truth Discipline
|
|
361
|
+
- `src/` is ALWAYS the source of truth
|
|
362
|
+
- `.claude/` is ALWAYS installed/generated (never edit directly)
|
|
363
|
+
- Keep root folder clean (use increment folders)
|
|
364
|
+
|
|
365
|
+
### 2. Documentation = Code
|
|
366
|
+
- All changes must update relevant documentation
|
|
367
|
+
- ADRs for architecture decisions
|
|
368
|
+
- RFCs for feature proposals
|
|
369
|
+
- Inline code comments for complex logic
|
|
370
|
+
|
|
371
|
+
### 3. Testing is Non-Negotiable
|
|
372
|
+
- E2E tests MANDATORY for UI features (Playwright)
|
|
373
|
+
- 80%+ coverage for critical paths
|
|
374
|
+
- Tests must tell the truth (no false positives)
|
|
375
|
+
|
|
376
|
+
### 4. Incremental Development
|
|
377
|
+
- Work in small, measurable increments
|
|
378
|
+
- Use SpecWeave's own workflow (`/specweave.inc`, `/specweave.do`, etc.)
|
|
379
|
+
- All work traces back to specs
|
|
380
|
+
|
|
381
|
+
### 5. Adapter-First Design
|
|
382
|
+
- Core framework must be tool-agnostic
|
|
383
|
+
- Tool-specific features in adapters only
|
|
384
|
+
- Plain Markdown + YAML = maximum portability
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## Release Process
|
|
389
|
+
|
|
390
|
+
**NPM Publishing**:
|
|
391
|
+
```bash
|
|
392
|
+
# 1. Update version
|
|
393
|
+
npm version patch|minor|major
|
|
394
|
+
|
|
395
|
+
# 2. Update CHANGELOG.md
|
|
396
|
+
vim CHANGELOG.md
|
|
397
|
+
|
|
398
|
+
# 3. Build and test
|
|
399
|
+
npm run build
|
|
400
|
+
npm test
|
|
401
|
+
npm run test:e2e
|
|
402
|
+
|
|
403
|
+
# 4. Publish to NPM
|
|
404
|
+
npm publish
|
|
405
|
+
|
|
406
|
+
# 5. Tag and push
|
|
407
|
+
git push origin develop --tags
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
**Installation Methods**:
|
|
411
|
+
1. **NPM**: `npm install -g specweave`
|
|
412
|
+
2. **Script**: `curl -fsSL https://spec-weave.com/install.sh | bash`
|
|
413
|
+
3. **Manual**: Clone repo, `npm install`, `npm run build`
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## Adapter System
|
|
418
|
+
|
|
419
|
+
SpecWeave supports multiple AI coding tools via adapters:
|
|
420
|
+
|
|
421
|
+
**Supported Tools**:
|
|
422
|
+
- ✅ Claude Code (best-in-class, native support)
|
|
423
|
+
- ✅ Cursor (via `.cursorrules` + Markdown commands)
|
|
424
|
+
- ✅ GitHub Copilot (via `.github/copilot/instructions.md`)
|
|
425
|
+
- ⏳ Generic (Markdown-only, for ChatGPT/Gemini/etc.)
|
|
426
|
+
- 🔮 Windsurf (planned)
|
|
427
|
+
|
|
428
|
+
**Adapter Pattern**:
|
|
429
|
+
```
|
|
430
|
+
src/adapters/
|
|
431
|
+
├── claude/ # Claude Code native (slash commands, agents)
|
|
432
|
+
│ ├── adapter.ts
|
|
433
|
+
│ └── README.md
|
|
434
|
+
├── cursor/ # Cursor (.cursorrules)
|
|
435
|
+
│ ├── adapter.ts
|
|
436
|
+
│ └── README.md
|
|
437
|
+
├── copilot/ # GitHub Copilot (instructions.md)
|
|
438
|
+
│ ├── adapter.ts
|
|
439
|
+
│ └── README.md
|
|
440
|
+
└── generic/ # Generic Markdown (all others)
|
|
441
|
+
├── adapter.ts
|
|
442
|
+
└── SPECWEAVE-MANUAL.md
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
**Auto-Detection**:
|
|
446
|
+
- Detects user's AI tool during `specweave init`
|
|
447
|
+
- Installs appropriate adapter
|
|
448
|
+
- Falls back to generic if unknown
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## Common Tasks
|
|
453
|
+
|
|
454
|
+
### Add a New Skill
|
|
455
|
+
|
|
456
|
+
```bash
|
|
457
|
+
# 1. Create skill directory
|
|
458
|
+
mkdir -p src/skills/my-new-skill/test-cases
|
|
459
|
+
|
|
460
|
+
# 2. Create SKILL.md
|
|
461
|
+
cat > src/skills/my-new-skill/SKILL.md << 'EOF'
|
|
462
|
+
---
|
|
463
|
+
name: my-new-skill
|
|
464
|
+
description: What it does and when to activate
|
|
465
|
+
---
|
|
466
|
+
|
|
467
|
+
# My New Skill
|
|
468
|
+
|
|
469
|
+
Content here...
|
|
470
|
+
EOF
|
|
471
|
+
|
|
472
|
+
# 3. Add test cases (minimum 3)
|
|
473
|
+
vim src/skills/my-new-skill/test-cases/test-1-basic.yaml
|
|
474
|
+
|
|
475
|
+
# 4. Install locally
|
|
476
|
+
npm run install:skills
|
|
477
|
+
|
|
478
|
+
# 5. Test
|
|
479
|
+
# Ask Claude something that matches the skill's description
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
### Add a New Command
|
|
483
|
+
|
|
484
|
+
```bash
|
|
485
|
+
# 1. Create command file
|
|
486
|
+
cat > src/commands/specweave.newcmd.md << 'EOF'
|
|
487
|
+
---
|
|
488
|
+
name: newcmd
|
|
489
|
+
description: Short description
|
|
490
|
+
---
|
|
491
|
+
|
|
492
|
+
# New Command
|
|
493
|
+
|
|
494
|
+
Prompt for Claude...
|
|
495
|
+
EOF
|
|
496
|
+
|
|
497
|
+
# 2. Install locally
|
|
498
|
+
npm run install:all
|
|
499
|
+
|
|
500
|
+
# 3. Test
|
|
501
|
+
/specweave.newcmd
|
|
502
|
+
|
|
503
|
+
# 4. Add to commands/README.md index
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
### Update Documentation
|
|
507
|
+
|
|
508
|
+
```bash
|
|
509
|
+
# Internal docs (architecture, ADRs, RFCs)
|
|
510
|
+
vim .specweave/docs/internal/architecture/hld-system.md
|
|
511
|
+
|
|
512
|
+
# Public docs (user guides)
|
|
513
|
+
vim docs-site/docs/guides/getting-started.md
|
|
514
|
+
|
|
515
|
+
# Build docs site
|
|
516
|
+
cd docs-site && npm run build
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
---
|
|
520
|
+
|
|
521
|
+
## Troubleshooting
|
|
522
|
+
|
|
523
|
+
**Skills not activating?**
|
|
524
|
+
1. Check YAML frontmatter in `SKILL.md`
|
|
525
|
+
2. Verify installation: `ls ~/.claude/skills/skill-name/`
|
|
526
|
+
3. Restart Claude Code
|
|
527
|
+
4. Check description has clear trigger keywords
|
|
528
|
+
|
|
529
|
+
**Commands not working?**
|
|
530
|
+
1. Verify file in `.claude/commands/`
|
|
531
|
+
2. Check YAML frontmatter
|
|
532
|
+
3. Restart Claude Code
|
|
533
|
+
4. Check command name matches file name
|
|
534
|
+
|
|
535
|
+
**Tests failing?**
|
|
536
|
+
1. Run `npm run build` first
|
|
537
|
+
2. Check test output for specific errors
|
|
538
|
+
3. Verify test data in `tests/fixtures/`
|
|
539
|
+
4. Check Playwright browser install: `npx playwright install`
|
|
540
|
+
|
|
541
|
+
**Root folder polluted?**
|
|
542
|
+
1. Identify which increment created the files
|
|
543
|
+
2. Move to `.specweave/increments/####/reports/`
|
|
544
|
+
3. Update `.gitignore` if needed
|
|
545
|
+
|
|
546
|
+
---
|
|
547
|
+
|
|
548
|
+
## Getting Help
|
|
549
|
+
|
|
550
|
+
**Documentation**:
|
|
551
|
+
- User docs: https://spec-weave.com
|
|
552
|
+
- Contributor docs: `.specweave/docs/internal/`
|
|
553
|
+
- Architecture: `.specweave/docs/internal/architecture/`
|
|
554
|
+
|
|
555
|
+
**Community**:
|
|
556
|
+
- GitHub Issues: https://github.com/anton-abyzov/specweave/issues
|
|
557
|
+
- Discussions: https://github.com/anton-abyzov/specweave/discussions
|
|
558
|
+
|
|
559
|
+
**Current Increment**:
|
|
560
|
+
- Spec: `.specweave/increments/0002-core-enhancements/spec.md`
|
|
561
|
+
- Plan: `.specweave/increments/0002-core-enhancements/plan.md`
|
|
562
|
+
- Tasks: `.specweave/increments/0002-core-enhancements/tasks.md`
|
|
563
|
+
|
|
564
|
+
---
|
|
565
|
+
|
|
566
|
+
## Quick Reference
|
|
567
|
+
|
|
568
|
+
**Commands (for SpecWeave development)**:
|
|
569
|
+
- `/specweave.inc "feature"` - Plan new increment
|
|
570
|
+
- `/specweave.do` - Execute tasks (smart resume)
|
|
571
|
+
- `/specweave.progress` - Check status
|
|
572
|
+
- `/specweave.validate 0002` - Validate increment
|
|
573
|
+
- `/specweave.done 0002` - Close increment
|
|
574
|
+
- `/sync-docs update` - Sync living docs
|
|
575
|
+
|
|
576
|
+
**Build & Test**:
|
|
577
|
+
- `npm run build` - Compile TypeScript
|
|
578
|
+
- `npm test` - Run all unit tests
|
|
579
|
+
- `npm run test:e2e` - Run Playwright E2E tests
|
|
580
|
+
- `npm run test:integration` - Run integration tests
|
|
581
|
+
- `npm run install:all` - Sync src/ to .claude/
|
|
582
|
+
|
|
583
|
+
**File Structure**:
|
|
584
|
+
- Source of truth: `src/`
|
|
585
|
+
- Installed: `.claude/`
|
|
586
|
+
- Increments: `.specweave/increments/`
|
|
587
|
+
- Docs: `.specweave/docs/` and `docs-site/`
|
|
588
|
+
- Tests: `tests/`
|
|
589
|
+
|
|
590
|
+
---
|
|
591
|
+
|
|
592
|
+
**Remember**:
|
|
593
|
+
1. Edit source files in `src/`, not `.claude/`
|
|
594
|
+
2. Keep root folder clean (use increment folders)
|
|
595
|
+
3. Test before committing (E2E + unit + integration)
|
|
596
|
+
4. Update docs when structure changes
|
|
597
|
+
5. Follow increment-based workflow
|
|
598
|
+
|
|
599
|
+
**SpecWeave Documentation**: https://spec-weave.com
|
|
600
|
+
**Last Updated**: 2025-10-28 (Increment 0002)
|