specweave 0.6.8 → 0.7.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/README.md +1 -1
- package/CLAUDE.md +903 -99
- package/README.md +143 -207
- package/bin/specweave.js +67 -0
- package/dist/cli/commands/abandon.d.ts +13 -0
- package/dist/cli/commands/abandon.d.ts.map +1 -0
- package/dist/cli/commands/abandon.js +15 -0
- package/dist/cli/commands/abandon.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +90 -18
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/pause.d.ts +13 -0
- package/dist/cli/commands/pause.d.ts.map +1 -0
- package/dist/cli/commands/pause.js +15 -0
- package/dist/cli/commands/pause.js.map +1 -0
- package/dist/cli/commands/qa.d.ts +54 -0
- package/dist/cli/commands/qa.d.ts.map +1 -0
- package/dist/cli/commands/qa.js +98 -0
- package/dist/cli/commands/qa.js.map +1 -0
- package/dist/cli/commands/resume.d.ts +12 -0
- package/dist/cli/commands/resume.d.ts.map +1 -0
- package/dist/cli/commands/resume.js +14 -0
- package/dist/cli/commands/resume.js.map +1 -0
- package/dist/cli/commands/status.d.ts +12 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +23 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/ado.d.ts +57 -0
- package/dist/cli/helpers/issue-tracker/ado.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/ado.js +223 -0
- package/dist/cli/helpers/issue-tracker/ado.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/github.d.ts +65 -0
- package/dist/cli/helpers/issue-tracker/github.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/github.js +284 -0
- package/dist/cli/helpers/issue-tracker/github.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/index.d.ts +22 -0
- package/dist/cli/helpers/issue-tracker/index.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/index.js +270 -0
- package/dist/cli/helpers/issue-tracker/index.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/jira.d.ts +61 -0
- package/dist/cli/helpers/issue-tracker/jira.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/jira.js +265 -0
- package/dist/cli/helpers/issue-tracker/jira.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/types.d.ts +86 -0
- package/dist/cli/helpers/issue-tracker/types.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/types.js +16 -0
- package/dist/cli/helpers/issue-tracker/types.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/utils.d.ts +103 -0
- package/dist/cli/helpers/issue-tracker/utils.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/utils.js +240 -0
- package/dist/cli/helpers/issue-tracker/utils.js.map +1 -0
- package/dist/core/increment/limits.d.ts +68 -0
- package/dist/core/increment/limits.d.ts.map +1 -0
- package/dist/core/increment/limits.js +224 -0
- package/dist/core/increment/limits.js.map +1 -0
- package/dist/core/increment/metadata-manager.d.ts +114 -0
- package/dist/core/increment/metadata-manager.d.ts.map +1 -0
- package/dist/core/increment/metadata-manager.js +320 -0
- package/dist/core/increment/metadata-manager.js.map +1 -0
- package/dist/core/increment/status-commands.d.ts +43 -0
- package/dist/core/increment/status-commands.d.ts.map +1 -0
- package/dist/core/increment/status-commands.js +277 -0
- package/dist/core/increment/status-commands.js.map +1 -0
- package/dist/core/plugin-detector.d.ts +1 -0
- package/dist/core/plugin-detector.d.ts.map +1 -1
- package/dist/core/plugin-detector.js +25 -0
- package/dist/core/plugin-detector.js.map +1 -1
- package/dist/core/qa/qa-runner.d.ts +16 -0
- package/dist/core/qa/qa-runner.d.ts.map +1 -0
- package/dist/core/qa/qa-runner.js +404 -0
- package/dist/core/qa/qa-runner.js.map +1 -0
- package/dist/core/qa/quality-gate-decider.d.ts +53 -0
- package/dist/core/qa/quality-gate-decider.d.ts.map +1 -0
- package/dist/core/qa/quality-gate-decider.js +268 -0
- package/dist/core/qa/quality-gate-decider.js.map +1 -0
- package/dist/core/qa/risk-calculator.d.ts +126 -0
- package/dist/core/qa/risk-calculator.d.ts.map +1 -0
- package/dist/core/qa/risk-calculator.js +247 -0
- package/dist/core/qa/risk-calculator.js.map +1 -0
- package/dist/core/qa/types.d.ts +315 -0
- package/dist/core/qa/types.d.ts.map +1 -0
- package/dist/core/qa/types.js +8 -0
- package/dist/core/qa/types.js.map +1 -0
- package/dist/core/types/config.d.ts +35 -0
- package/dist/core/types/config.d.ts.map +1 -1
- package/dist/core/types/config.js +16 -0
- package/dist/core/types/config.js.map +1 -1
- package/dist/core/types/increment-metadata.d.ts +120 -0
- package/dist/core/types/increment-metadata.d.ts.map +1 -0
- package/dist/core/types/increment-metadata.js +138 -0
- package/dist/core/types/increment-metadata.js.map +1 -0
- package/dist/hooks/lib/invoke-translator-skill.d.ts +60 -0
- package/dist/hooks/lib/invoke-translator-skill.d.ts.map +1 -0
- package/dist/hooks/lib/invoke-translator-skill.js +201 -0
- package/dist/hooks/lib/invoke-translator-skill.js.map +1 -0
- package/dist/hooks/lib/translate-file.d.ts +59 -0
- package/dist/hooks/lib/translate-file.d.ts.map +1 -0
- package/dist/hooks/lib/translate-file.js +350 -0
- package/dist/hooks/lib/translate-file.js.map +1 -0
- package/dist/locales/en/cli.json +3 -1
- package/dist/metrics/calculators/change-failure-rate.d.ts +22 -0
- package/dist/metrics/calculators/change-failure-rate.d.ts.map +1 -0
- package/dist/metrics/calculators/change-failure-rate.js +70 -0
- package/dist/metrics/calculators/change-failure-rate.js.map +1 -0
- package/dist/metrics/calculators/deployment-frequency.d.ts +20 -0
- package/dist/metrics/calculators/deployment-frequency.d.ts.map +1 -0
- package/dist/metrics/calculators/deployment-frequency.js +61 -0
- package/dist/metrics/calculators/deployment-frequency.js.map +1 -0
- package/dist/metrics/calculators/lead-time.d.ts +22 -0
- package/dist/metrics/calculators/lead-time.d.ts.map +1 -0
- package/dist/metrics/calculators/lead-time.js +82 -0
- package/dist/metrics/calculators/lead-time.js.map +1 -0
- package/dist/metrics/calculators/mttr.d.ts +21 -0
- package/dist/metrics/calculators/mttr.d.ts.map +1 -0
- package/dist/metrics/calculators/mttr.js +60 -0
- package/dist/metrics/calculators/mttr.js.map +1 -0
- package/dist/metrics/dora-calculator.d.ts +24 -0
- package/dist/metrics/dora-calculator.d.ts.map +1 -0
- package/dist/metrics/dora-calculator.js +104 -0
- package/dist/metrics/dora-calculator.js.map +1 -0
- package/dist/metrics/github-client.d.ts +51 -0
- package/dist/metrics/github-client.d.ts.map +1 -0
- package/dist/metrics/github-client.js +133 -0
- package/dist/metrics/github-client.js.map +1 -0
- package/dist/metrics/types.d.ts +112 -0
- package/dist/metrics/types.d.ts.map +1 -0
- package/dist/metrics/types.js +10 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/metrics/utils/percentile.d.ts +25 -0
- package/dist/metrics/utils/percentile.d.ts.map +1 -0
- package/dist/metrics/utils/percentile.js +46 -0
- package/dist/metrics/utils/percentile.js.map +1 -0
- package/dist/metrics/utils/tier-classifier.d.ts +61 -0
- package/dist/metrics/utils/tier-classifier.d.ts.map +1 -0
- package/dist/metrics/utils/tier-classifier.js +100 -0
- package/dist/metrics/utils/tier-classifier.js.map +1 -0
- package/dist/utils/auth-helpers.d.ts +58 -0
- package/dist/utils/auth-helpers.d.ts.map +1 -0
- package/dist/utils/auth-helpers.js +108 -0
- package/dist/utils/auth-helpers.js.map +1 -0
- package/dist/utils/env-file.d.ts +88 -0
- package/dist/utils/env-file.d.ts.map +1 -0
- package/dist/utils/env-file.js +180 -0
- package/dist/utils/env-file.js.map +1 -0
- package/dist/utils/plugin-detection.d.ts +50 -0
- package/dist/utils/plugin-detection.d.ts.map +1 -0
- package/dist/utils/plugin-detection.js +229 -0
- package/dist/utils/plugin-detection.js.map +1 -0
- package/dist/utils/secrets-loader.d.ts +88 -0
- package/dist/utils/secrets-loader.d.ts.map +1 -0
- package/dist/utils/secrets-loader.js +271 -0
- package/dist/utils/secrets-loader.js.map +1 -0
- package/dist/utils/translation.d.ts +187 -0
- package/dist/utils/translation.d.ts.map +1 -0
- package/dist/utils/translation.js +414 -0
- package/dist/utils/translation.js.map +1 -0
- package/package.json +28 -44
- package/plugins/specweave/.claude-plugin/plugin.json +3 -3
- package/plugins/specweave/agents/pm/AGENT.md +330 -54
- package/plugins/specweave/agents/test-aware-planner/AGENT.md +1035 -0
- package/plugins/specweave/agents/test-aware-planner/templates/README.md +118 -0
- package/plugins/specweave/agents/test-aware-planner/templates/task-non-testable.md.template +24 -0
- package/plugins/specweave/agents/test-aware-planner/templates/task-testable.md.template +53 -0
- package/plugins/specweave/agents/test-aware-planner/templates/tasks-frontmatter.md.template +11 -0
- package/plugins/specweave/commands/README.md +88 -163
- package/plugins/specweave/commands/specweave-abandon.md +314 -0
- package/plugins/specweave/commands/specweave-check-tests.md +546 -0
- package/plugins/specweave/commands/{do.md → specweave-do.md} +5 -7
- package/plugins/specweave/commands/{increment.md → specweave-increment.md} +231 -4
- package/plugins/specweave/commands/specweave-pause.md +189 -0
- package/plugins/specweave/commands/specweave-qa.md +245 -0
- package/plugins/specweave/commands/specweave-resume.md +216 -0
- package/plugins/specweave/commands/specweave-status.md +397 -0
- package/plugins/specweave/commands/specweave-sync-tasks.md +256 -0
- package/plugins/specweave/commands/{translate.md → specweave-translate.md} +3 -3
- package/plugins/specweave/commands/specweave-update-scope.md +351 -0
- package/plugins/specweave/commands/specweave.md +21 -21
- package/plugins/specweave/hooks/post-increment-planning.sh +335 -0
- package/plugins/specweave/hooks/post-task-completion.sh +141 -0
- package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
- package/plugins/specweave/skills/brownfield-analyzer/SKILL.md +9 -9
- package/plugins/specweave/skills/increment-planner/SKILL.md +400 -212
- package/plugins/specweave/skills/increment-quality-judge-v2/SKILL.md +499 -0
- package/plugins/specweave/skills/plugin-detector/SKILL.md +114 -1
- package/plugins/specweave/skills/project-kickstarter/SKILL.md +74 -1
- package/plugins/specweave/skills/{rfc-generator → spec-generator}/SKILL.md +22 -29
- package/plugins/specweave/skills/specweave-detector/SKILL.md +3 -3
- package/plugins/specweave/skills/specweave-framework/SKILL.md +2 -2
- package/plugins/specweave-ado/.claude-plugin/plugin.json +18 -4
- package/plugins/specweave-ado/agents/ado-manager/AGENT.md +426 -0
- package/plugins/specweave-ado/commands/close-workitem.md +52 -0
- package/plugins/specweave-ado/commands/create-workitem.md +53 -0
- package/plugins/specweave-ado/commands/status.md +53 -0
- package/plugins/specweave-ado/commands/sync.md +55 -0
- package/plugins/specweave-ado/lib/ado-client.ts +361 -0
- package/plugins/specweave-ado/reference/ado-specweave-mapping.md +552 -0
- package/plugins/specweave-ado/skills/ado-sync/SKILL.md +344 -193
- package/plugins/specweave-docs/skills/docusaurus/SKILL.md +73 -0
- package/plugins/specweave-github/agents/github-manager/AGENT.md +49 -0
- package/plugins/specweave-github/commands/{github-close-issue.md → close-issue.md} +1 -1
- package/plugins/specweave-github/commands/{github-create-issue.md → create-issue.md} +1 -1
- package/plugins/specweave-github/commands/{github-status.md → status.md} +1 -1
- package/plugins/specweave-github/commands/{github-sync-tasks.md → sync-tasks.md} +1 -1
- package/plugins/specweave-github/commands/{github-sync.md → sync.md} +1 -1
- package/plugins/specweave-github/reference/github-specweave-mapping.md +377 -0
- package/plugins/specweave-github/skills/github-sync/SKILL.md +11 -3
- package/plugins/specweave-infrastructure/commands/{specweave.monitor-setup.md → monitor-setup.md} +5 -0
- package/plugins/specweave-infrastructure/commands/{specweave.slo-implement.md → slo-implement.md} +5 -0
- package/plugins/specweave-jira/agents/jira-manager/AGENT.md +380 -0
- package/plugins/specweave-jira/commands/{specweave.sync-jira.md → sync.md} +1 -1
- package/plugins/specweave-jira/reference/jira-specweave-mapping.md +508 -0
- package/plugins/specweave-ml/commands/ml-deploy.md +1 -1
- package/plugins/specweave-ml/commands/ml-evaluate.md +1 -1
- package/plugins/specweave-ml/commands/ml-explain.md +1 -1
- package/plugins/specweave-ml/commands/{specweave.ml-pipeline.md → ml-pipeline.md} +5 -0
- package/src/templates/AGENTS.md.template +331 -31
- package/src/templates/CLAUDE.md.template +36 -21
- package/src/templates/COMPLETION-REPORT.template.md +128 -0
- package/src/templates/README.md.template +17 -16
- package/src/templates/docs/README.md +11 -9
- package/src/templates/docs/spec-template.md +229 -0
- package/plugins/specweave/commands/inc.md +0 -85
- package/plugins/specweave/commands/list-increments.md +0 -180
- package/src/adapters/README.md +0 -275
- package/src/adapters/adapter-base.ts +0 -182
- package/src/adapters/adapter-interface.ts +0 -166
- package/src/adapters/adapter-loader.ts +0 -256
- package/src/adapters/agents-md-generator.ts +0 -228
- package/src/adapters/claude/README.md +0 -233
- package/src/adapters/claude/adapter.ts +0 -468
- package/src/adapters/claude-md-generator.ts +0 -377
- package/src/adapters/codex/README.md +0 -105
- package/src/adapters/codex/adapter.ts +0 -333
- package/src/adapters/cursor/.cursor/context/docs-context.md +0 -62
- package/src/adapters/cursor/.cursor/context/increments-context.md +0 -71
- package/src/adapters/cursor/.cursor/context/strategy-context.md +0 -73
- package/src/adapters/cursor/.cursor/context/tests-context.md +0 -89
- package/src/adapters/cursor/README.md +0 -283
- package/src/adapters/cursor/adapter.ts +0 -451
- package/src/adapters/doc-generator.ts +0 -331
- package/src/adapters/gemini/README.md +0 -97
- package/src/adapters/gemini/adapter.ts +0 -298
- package/src/adapters/generic/README.md +0 -277
- package/src/adapters/generic/adapter.ts +0 -378
- package/src/adapters/registry.yaml +0 -187
- /package/plugins/specweave/commands/{costs.md → specweave-costs.md} +0 -0
- /package/plugins/specweave/commands/{done.md → specweave-done.md} +0 -0
- /package/plugins/specweave/commands/{next.md → specweave-next.md} +0 -0
- /package/plugins/specweave/commands/{progress.md → specweave-progress.md} +0 -0
- /package/plugins/specweave/commands/{sync-docs.md → specweave-sync-docs.md} +0 -0
- /package/plugins/specweave/commands/{tdd-cycle.md → specweave-tdd-cycle.md} +0 -0
- /package/plugins/specweave/commands/{tdd-green.md → specweave-tdd-green.md} +0 -0
- /package/plugins/specweave/commands/{tdd-red.md → specweave-tdd-red.md} +0 -0
- /package/plugins/specweave/commands/{tdd-refactor.md → specweave-tdd-refactor.md} +0 -0
- /package/plugins/specweave/commands/{validate.md → specweave-validate.md} +0 -0
|
@@ -1,283 +0,0 @@
|
|
|
1
|
-
# Cursor Adapter
|
|
2
|
-
|
|
3
|
-
**Automation Level**: Semi (Good experience with @ shortcuts and Composer)
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
The Cursor adapter provides **semi-automation** for SpecWeave by teaching Cursor's AI how to **behave like** it has Claude Code's skills and agents, even without native support.
|
|
8
|
-
|
|
9
|
-
## Key Insight: Simulating Anthropic's Standards
|
|
10
|
-
|
|
11
|
-
**Anthropic Sets Standards** (MCP, Skills, Agents) that provide superior results. For Cursor, we provide **"implementation guides"** that teach the AI how to act like it has these capabilities.
|
|
12
|
-
|
|
13
|
-
Example:
|
|
14
|
-
```markdown
|
|
15
|
-
# In .cursorrules:
|
|
16
|
-
## What is a SpecWeave Skill?
|
|
17
|
-
A skill is a specialized capability that activates automatically when relevant.
|
|
18
|
-
|
|
19
|
-
**In Claude Code**: Skills are native (.claude/skills/)
|
|
20
|
-
**In Cursor**: You simulate by reading relevant workflow instructions
|
|
21
|
-
|
|
22
|
-
## increment-planner Skill
|
|
23
|
-
When user says "create increment":
|
|
24
|
-
2. Auto-increment number
|
|
25
|
-
3. Create spec.md (act as PM role)
|
|
26
|
-
4. Create plan.md (act as Architect role)
|
|
27
|
-
5. Create tasks.md
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
This is **meta-documentation** - teaching the AI how to behave!
|
|
31
|
-
|
|
32
|
-
## What This Adapter Provides
|
|
33
|
-
|
|
34
|
-
### 🔍 Progressive Disclosure (NEW in v0.3.8)
|
|
35
|
-
|
|
36
|
-
SpecWeave now includes **SKILLS-INDEX.md** - enabling Cursor to efficiently discover and use all 35+ skills!
|
|
37
|
-
|
|
38
|
-
**How it works**:
|
|
39
|
-
1. Read `.claude/skills/SKILLS-INDEX.md` (referenced in AGENTS.md)
|
|
40
|
-
2. Match task to activation keywords (e.g., "feature planning" → increment-planner)
|
|
41
|
-
3. Load specific SKILL.md when relevant
|
|
42
|
-
4. Follow proven workflows
|
|
43
|
-
|
|
44
|
-
**Benefits**:
|
|
45
|
-
- ✅ **90% token savings** (5k vs 50k tokens - load only what you need)
|
|
46
|
-
- ✅ **Full skill access** - All 35+ skills now efficiently accessible!
|
|
47
|
-
- ✅ **Consistent output** - Follow SpecWeave best practices every time
|
|
48
|
-
|
|
49
|
-
**Example**:
|
|
50
|
-
```markdown
|
|
51
|
-
# From AGENTS.md, Cursor learns about:
|
|
52
|
-
.claude/skills/SKILLS-INDEX.md # Single-file skill reference
|
|
53
|
-
|
|
54
|
-
# When user asks: "Plan a new feature for auth"
|
|
55
|
-
# 1. Read SKILLS-INDEX.md → Find "increment-planner" (matches "feature planning")
|
|
56
|
-
# 2. Load .claude/skills/increment-planner/SKILL.md
|
|
57
|
-
# 3. Follow the increment planning workflow
|
|
58
|
-
# Result: Proper spec.md, plan.md, tasks.md creation
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
**Note**: While Claude Code activates skills automatically, Cursor simulates this by following the progressive disclosure pattern documented in AGENTS.md.
|
|
62
|
-
|
|
63
|
-
### .cursorrules (Workflow Instructions)
|
|
64
|
-
- **What**: Complete workflow guide for SpecWeave
|
|
65
|
-
- **How**: Teaches Cursor to act like skills/agents
|
|
66
|
-
- **Example**: When to adopt PM vs Architect perspective
|
|
67
|
-
- **Benefit**: Semi-automated feature creation
|
|
68
|
-
|
|
69
|
-
### @ Context Shortcuts
|
|
70
|
-
| Shortcut | Loads | Use Case |
|
|
71
|
-
|----------|-------|----------|
|
|
72
|
-
| `@increments` | Current increment files | "What are we working on?" |
|
|
73
|
-
| `@docs` | Architecture documentation | "Show me system design" |
|
|
74
|
-
| `@strategy` | Business requirements | "What are the requirements?" |
|
|
75
|
-
| `@tests` | Test strategy and cases | "What tests exist?" |
|
|
76
|
-
|
|
77
|
-
**Usage**: Type `@increments show current tasks` in Cursor chat
|
|
78
|
-
|
|
79
|
-
### Composer Multi-File Editing
|
|
80
|
-
- Edit spec.md, plan.md, tasks.md simultaneously
|
|
81
|
-
- Maintain consistency across files
|
|
82
|
-
- Fast iteration on designs
|
|
83
|
-
|
|
84
|
-
## How It Works
|
|
85
|
-
|
|
86
|
-
### Simulating Skills
|
|
87
|
-
|
|
88
|
-
**Claude Code (automatic)**:
|
|
89
|
-
```typescript
|
|
90
|
-
// Skills auto-activate
|
|
91
|
-
User: "create increment for auth"
|
|
92
|
-
→ specweave-detector activates
|
|
93
|
-
→ skill-router routes to increment-planner
|
|
94
|
-
→ increment-planner creates increment
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
**Cursor (manual simulation)**:
|
|
98
|
-
```typescript
|
|
99
|
-
// You follow .cursorrules instructions
|
|
100
|
-
User: "create increment for auth"
|
|
101
|
-
→ You read .cursorrules
|
|
102
|
-
→ Follow workflow: check config → create folders → create files
|
|
103
|
-
→ Act like increment-planner by following those steps
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### Simulating Agents
|
|
107
|
-
|
|
108
|
-
**Claude Code (automatic)**:
|
|
109
|
-
```typescript
|
|
110
|
-
Task({ subagent_type: "pm", prompt: "create spec" })
|
|
111
|
-
→ PM agent invoked with separate context window
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
**Cursor (manual adoption)**:
|
|
115
|
-
```typescript
|
|
116
|
-
User: "act as PM and create spec"
|
|
117
|
-
→ You adopt PM perspective:
|
|
118
|
-
- Focus on WHAT/WHY (not HOW)
|
|
119
|
-
- Technology-agnostic requirements
|
|
120
|
-
- User stories + acceptance criteria
|
|
121
|
-
→ Create spec.md following PM role
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
**Pro Tip**: .cursorrules defines each role's responsibilities clearly
|
|
125
|
-
|
|
126
|
-
## Installation
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
# Install SpecWeave with Cursor adapter
|
|
130
|
-
npx specweave init my-project --adapter cursor
|
|
131
|
-
|
|
132
|
-
# Files created:
|
|
133
|
-
# .cursorrules (workflow instructions)
|
|
134
|
-
# .cursor/context/*.md (@ shortcut targets)
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
## Directory Structure
|
|
138
|
-
|
|
139
|
-
```
|
|
140
|
-
.cursorrules # Main workflow instructions
|
|
141
|
-
.cursor/
|
|
142
|
-
├── README.md # This file
|
|
143
|
-
└── context/ # @ shortcut files
|
|
144
|
-
├── increments-context.md
|
|
145
|
-
├── docs-context.md
|
|
146
|
-
├── strategy-context.md
|
|
147
|
-
└── tests-context.md
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
## Usage Examples
|
|
151
|
-
|
|
152
|
-
### Example 1: Create Feature
|
|
153
|
-
|
|
154
|
-
**User**: "Create increment for user authentication"
|
|
155
|
-
|
|
156
|
-
**Cursor** (following .cursorrules):
|
|
157
|
-
2. ✅ Find next increment number (0003)
|
|
158
|
-
3. ✅ Create folder: `.specweave/increments/0003-user-authentication/`
|
|
159
|
-
4. ✅ Act as PM: Create spec.md (WHAT/WHY, user stories, acceptance criteria)
|
|
160
|
-
5. ✅ Act as Architect: Create plan.md (HOW, technical design, components)
|
|
161
|
-
6. ✅ Create tasks.md (implementation checklist)
|
|
162
|
-
7. ✅ Create context-manifest.yaml (list files to load - 70%+ token savings)
|
|
163
|
-
|
|
164
|
-
**Result**: Complete increment ready for implementation!
|
|
165
|
-
|
|
166
|
-
### Example 2: Use @ Shortcuts
|
|
167
|
-
|
|
168
|
-
**User**: "@increments what's the current task?"
|
|
169
|
-
|
|
170
|
-
**Cursor**:
|
|
171
|
-
1. ✅ Loads current increment's spec.md, plan.md, tasks.md
|
|
172
|
-
2. ✅ Reads tasks.md → Find first unchecked task
|
|
173
|
-
3. ✅ Response: "Currently on T003: Implement OAuth2 authentication flow"
|
|
174
|
-
|
|
175
|
-
### Example 3: Multi-File Edit with Composer
|
|
176
|
-
|
|
177
|
-
**User**: *Opens Composer (Cmd+I)*
|
|
178
|
-
"Update spec.md and plan.md to add Google OAuth login"
|
|
179
|
-
|
|
180
|
-
**Cursor**:
|
|
181
|
-
1. ✅ Edits spec.md → Add FR-003 (Google OAuth requirement)
|
|
182
|
-
2. ✅ Edits plan.md → Add OAuth implementation section
|
|
183
|
-
3. ✅ Maintains consistency between both files
|
|
184
|
-
|
|
185
|
-
### Example 4: Adopt Agent Role
|
|
186
|
-
|
|
187
|
-
**User**: "Act as DevOps agent and create Terraform for Hetzner"
|
|
188
|
-
|
|
189
|
-
**Cursor** (adopting DevOps role):
|
|
190
|
-
1. ✅ Focus on infrastructure (not application code)
|
|
191
|
-
2. ✅ Create Terraform files (provider.tf, main.tf, variables.tf)
|
|
192
|
-
3. ✅ Add monitoring, logging, security configs
|
|
193
|
-
4. ✅ Document deployment process
|
|
194
|
-
|
|
195
|
-
## Context Loading (70%+ Token Savings)
|
|
196
|
-
|
|
197
|
-
**.cursorrules teaches Cursor**:
|
|
198
|
-
|
|
199
|
-
```markdown
|
|
200
|
-
## CRITICAL: Context Manifest
|
|
201
|
-
|
|
202
|
-
**Always read context-manifest.yaml first!**
|
|
203
|
-
|
|
204
|
-
Example:
|
|
205
|
-
```yaml
|
|
206
|
-
spec_sections:
|
|
207
|
-
- .specweave/docs/internal/strategy/auth/spec.md
|
|
208
|
-
documentation:
|
|
209
|
-
- .specweave/docs/internal/architecture/auth-design.md
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
**ONLY load these 2 files**, not entire .specweave/docs/ folder!
|
|
213
|
-
|
|
214
|
-
**Why?**
|
|
215
|
-
- Full specs: 500+ pages (50k tokens)
|
|
216
|
-
- Manifest files: 50 pages (5k tokens)
|
|
217
|
-
- Savings: 90% = 45k tokens saved!
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
## Comparison: Cursor vs Claude Code
|
|
221
|
-
|
|
222
|
-
| Feature | Claude Code | Cursor |
|
|
223
|
-
|---------|-------------|--------|
|
|
224
|
-
| **Skills** | Native auto-activation | Simulated via .cursorrules |
|
|
225
|
-
| **Agents** | Separate context windows | Manual role adoption |
|
|
226
|
-
| **Hooks** | Auto-execute on events | Not available |
|
|
227
|
-
| **Commands** | Native slash commands | Workflow instructions |
|
|
228
|
-
| **Context** | MCP protocol | Manual loading via @ shortcuts |
|
|
229
|
-
| **File Access** | Native tools | Native (Composer) |
|
|
230
|
-
| **Automation** | Full | Semi |
|
|
231
|
-
|
|
232
|
-
**Cursor = Good experience** (70-80% of Claude Code's capabilities)
|
|
233
|
-
|
|
234
|
-
## Limitations
|
|
235
|
-
|
|
236
|
-
❌ **No auto-activation** - Must explicitly request workflows
|
|
237
|
-
❌ **No separate context windows** - All context shared
|
|
238
|
-
❌ **No hooks** - Can't auto-update docs on events (see workaround below)
|
|
239
|
-
⚠️ **Manual role adoption** - Must say "act as PM"
|
|
240
|
-
|
|
241
|
-
✅ **But Composer + @ shortcuts provide great UX!**
|
|
242
|
-
|
|
243
|
-
### Documentation Update Workaround
|
|
244
|
-
|
|
245
|
-
Since Cursor doesn't have hooks, you MUST manually update documentation after every task.
|
|
246
|
-
|
|
247
|
-
**See the comprehensive guide in AGENTS.md** (section: "Documentation Updates - CRITICAL FOR NON-CLAUDE TOOLS")
|
|
248
|
-
|
|
249
|
-
**Quick checklist after completing any task**:
|
|
250
|
-
1. Update `.specweave/increments/{id}/tasks.md` (mark tasks complete)
|
|
251
|
-
2. Update `.specweave/docs/internal/architecture/` (HLD/LLD/ADRs)
|
|
252
|
-
3. Update `.specweave/docs/internal/strategy/` (PRDs if requirements changed)
|
|
253
|
-
4. Update `README.md` (user-facing changes)
|
|
254
|
-
5. Update `CHANGELOG.md` (version history)
|
|
255
|
-
|
|
256
|
-
## Tips & Tricks
|
|
257
|
-
|
|
258
|
-
### 1. Always Mention Context-Manifest
|
|
259
|
-
"Read context-manifest.yaml and load only files listed there"
|
|
260
|
-
|
|
261
|
-
### 2. Be Explicit About Roles
|
|
262
|
-
"Act as PM agent and create spec" (not just "create spec")
|
|
263
|
-
|
|
264
|
-
### 3. Use @ Shortcuts
|
|
265
|
-
Faster than typing full file paths
|
|
266
|
-
|
|
267
|
-
### 4. Use Composer for Multi-File Edits
|
|
268
|
-
Cmd+I → Edit multiple files at once
|
|
269
|
-
|
|
270
|
-
### 5. Reference .cursorrules
|
|
271
|
-
If Cursor forgets workflow: "Follow the workflow in .cursorrules"
|
|
272
|
-
|
|
273
|
-
## Related Documentation
|
|
274
|
-
|
|
275
|
-
- [SPECWEAVE.md](../../SPECWEAVE.md) - Complete development guide
|
|
276
|
-
- [.cursorrules](.cursorrules) - Cursor workflow instructions (READ THIS!)
|
|
277
|
-
- [Adapter Architecture](../README.md) - Multi-tool design philosophy
|
|
278
|
-
|
|
279
|
-
---
|
|
280
|
-
|
|
281
|
-
**Status**: Active (v0.2.0-beta.1+)
|
|
282
|
-
**Market Share**: ~30% (Cursor users)
|
|
283
|
-
**Priority**: P1 (high impact adapter)
|