@eskoubar95/spec 0.1.4 → 0.1.5
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/dist/lib/copy-template.js +6 -6
- package/dist/lib/copy-template.js.map +1 -1
- package/package.json +2 -2
- package/template/.cursor/MCP-SETUP.md +16 -0
- package/template/.cursor/agents/batch-runner.md +52 -0
- package/template/.cursor/agents/verifier.md +40 -0
- package/template/.cursor/commands/_shared/branch-detection.md +78 -0
- package/template/.cursor/commands/_shared/git-workflow.md +3 -1
- package/template/.cursor/commands/_shared/github-workflows.md +7 -5
- package/template/.cursor/commands/_shared/helper-metadata.md +20 -0
- package/template/.cursor/commands/_shared/linear-automation.md +14 -6
- package/template/.cursor/commands/_shared/linear-helpers.md +26 -14
- package/template/.cursor/commands/_shared/pr-description.md +11 -2
- package/template/.cursor/commands/spec/init.md +33 -0
- package/template/.cursor/commands/spec/plan.md +43 -9
- package/template/.cursor/commands/spec/refine.md +7 -0
- package/template/.cursor/commands/task/batch.md +112 -0
- package/template/.cursor/commands/task/start.md +28 -6
- package/template/.cursor/commands/task/validate.md +19 -15
- package/template/.cursor/scripts/{validate-helpers.js → validate-helpers.cjs} +30 -32
- package/template/.cursor/skills/sdd-commit-unit/SKILL.md +42 -0
- package/template/.cursor/skills/sdd-design-system-bootstrap/SKILL.md +35 -0
- package/template/.cursor/skills/sdd-git-default-branch/SKILL.md +49 -0
- package/template/.cursor/skills/sdd-pr-create-or-update/SKILL.md +41 -0
- package/template/.cursor/skills/sdd-task-preflight/SKILL.md +47 -0
- package/template/.cursor/skills/sdd-validation-suite/SKILL.md +47 -0
- package/template/spec/00-root-spec.md +9 -0
- package/template/spec/templates/02-architecture.md +64 -0
- package/template/spec/templates/06-acceptance.md +59 -0
- package/template/spec/templates/07-design-system.md +145 -0
- package/template/spec/templates/08-infrastructure.md +76 -0
- package/template/spec/templates/09-sitemap.md +50 -0
- package/template/work/backlog/tasks.local.md +6 -0
- package/template/work/linear/FALLBACK-STRATEGY.md +84 -0
- package/template/work/linear/LABEL-MAPPING-GUIDE.md +72 -0
- package/template/work/linear/SETUP.md +75 -0
- package/template/work/linear/sync-config.md +86 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Linear Setup Guide
|
|
2
|
+
|
|
3
|
+
This guide walks you through setting up Linear integration with the SDD workflow.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- A Linear workspace + team
|
|
8
|
+
- Linear MCP configured in Cursor
|
|
9
|
+
- Access to Linear Settings
|
|
10
|
+
|
|
11
|
+
## Hard stop (recommended)
|
|
12
|
+
|
|
13
|
+
If you enable Linear mode (`MODE=linear`), `/spec/plan` treats missing required status mappings as a **hard stop** for Linear sync:
|
|
14
|
+
|
|
15
|
+
- Required keys in `work/linear/sync-config.md`:
|
|
16
|
+
- `STATUS_BACKLOG`
|
|
17
|
+
- `STATUS_IN_PROGRESS`
|
|
18
|
+
- `STATUS_DONE`
|
|
19
|
+
- `STATUS_BLOCKED`
|
|
20
|
+
|
|
21
|
+
## Step 1: Create/choose a Linear team
|
|
22
|
+
|
|
23
|
+
1. Create a team (if needed)
|
|
24
|
+
2. Note the team ID for `work/linear/sync-config.md` (optional)
|
|
25
|
+
|
|
26
|
+
## Step 2: Ensure statuses exist
|
|
27
|
+
|
|
28
|
+
1. Go to Linear Settings → Statuses
|
|
29
|
+
2. Ensure you have statuses that match your desired mapping (defaults: Backlog, In Progress, Done, Blocked)
|
|
30
|
+
3. Use status **names** in `sync-config.md` (recommended), or IDs if you need fixed UUIDs
|
|
31
|
+
|
|
32
|
+
## Step 3: Ensure labels exist (optional)
|
|
33
|
+
|
|
34
|
+
Labels can be created automatically when missing, but you can also create them manually in Linear Settings → Labels.
|
|
35
|
+
|
|
36
|
+
## Step 4: Configure sync config
|
|
37
|
+
|
|
38
|
+
1. Create/update `work/linear/sync-config.md`
|
|
39
|
+
2. Set `MODE=linear`
|
|
40
|
+
3. Optionally set:
|
|
41
|
+
- `MCP_CONNECTION_NAME` (if you have multiple Linear MCP connections)
|
|
42
|
+
- `DEFAULT_TEAM_ID`
|
|
43
|
+
4. Set status mapping keys:
|
|
44
|
+
- `STATUS_BACKLOG`, `STATUS_IN_PROGRESS`, `STATUS_DONE`, `STATUS_BLOCKED`
|
|
45
|
+
5. Enable optional automation:
|
|
46
|
+
- `AUTO_ASSIGN_LABELS=true`
|
|
47
|
+
- `AUTO_CREATE_PROJECTS=true`
|
|
48
|
+
- `AUTO_CREATE_DOCUMENTS=true`
|
|
49
|
+
|
|
50
|
+
## Step 5: Tag-driven label mapping (recommended)
|
|
51
|
+
|
|
52
|
+
Use `**Tags:**` in `work/backlog/tasks.local.md` to drive labels:
|
|
53
|
+
- See `work/linear/LABEL-MAPPING-GUIDE.md`
|
|
54
|
+
|
|
55
|
+
## Step 6: Test
|
|
56
|
+
|
|
57
|
+
- Run `/spec/plan` (creates projects/issues/docs if enabled)
|
|
58
|
+
- Run `/task/start` and `/task/validate` on a Linear issue ID to verify status + comments
|
|
59
|
+
|
|
60
|
+
## Troubleshooting
|
|
61
|
+
|
|
62
|
+
- Fallback behavior: `work/linear/FALLBACK-STRATEGY.md`
|
|
63
|
+
|
|
64
|
+
## What SDD can do automatically (once configured)
|
|
65
|
+
|
|
66
|
+
- **/spec/plan**: create milestone projects (optional), create/update task issues, create/update spec documents (optional)
|
|
67
|
+
- **/task/start**: update status + add a structured “Started …” comment
|
|
68
|
+
- **/task/validate**: update status + add a structured “Validated …” comment
|
|
69
|
+
|
|
70
|
+
## What the user must do manually
|
|
71
|
+
|
|
72
|
+
- Configure the Linear MCP connection in Cursor (and provide `MCP_CONNECTION_NAME` if multiple)
|
|
73
|
+
- Ensure your desired statuses exist in Linear (or adjust mappings)
|
|
74
|
+
- Decide label taxonomy (recommended: `**Tags:**` in `work/backlog/tasks.local.md` → labels; see `LABEL-MAPPING-GUIDE.md`)
|
|
75
|
+
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Linear Sync Configuration
|
|
2
|
+
|
|
3
|
+
This file configures Linear MCP integration with the SDD workflow.
|
|
4
|
+
|
|
5
|
+
## Mode
|
|
6
|
+
|
|
7
|
+
Create this file and set:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
MODE=linear
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
If the file does not exist (or MODE is not `linear`), the system runs in local mode only.
|
|
14
|
+
|
|
15
|
+
## MCP Connection Configuration (optional)
|
|
16
|
+
|
|
17
|
+
If you have multiple Linear MCP connections in Cursor, specify which one to use:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
MCP_CONNECTION_NAME=linear
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Team Configuration (optional)
|
|
24
|
+
|
|
25
|
+
Assign projects/issues to a default team:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
DEFAULT_TEAM_ID=[team-id]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Status Mapping
|
|
32
|
+
|
|
33
|
+
Map SDD statuses to Linear statuses (names recommended):
|
|
34
|
+
|
|
35
|
+
**Required when `MODE=linear` (hard requirement for `/spec/plan` Linear sync):**
|
|
36
|
+
- `STATUS_BACKLOG`
|
|
37
|
+
- `STATUS_IN_PROGRESS`
|
|
38
|
+
- `STATUS_DONE`
|
|
39
|
+
- `STATUS_BLOCKED`
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
STATUS_BACKLOG=Backlog
|
|
43
|
+
STATUS_IN_PROGRESS=In Progress
|
|
44
|
+
STATUS_DONE=Done
|
|
45
|
+
STATUS_BLOCKED=Blocked
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Labels
|
|
49
|
+
|
|
50
|
+
Enable tag-driven label assignment:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
AUTO_ASSIGN_LABELS=true
|
|
54
|
+
LABEL_PREFIX=
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
See `work/linear/LABEL-MAPPING-GUIDE.md`.
|
|
58
|
+
|
|
59
|
+
## Projects
|
|
60
|
+
|
|
61
|
+
Enable milestone → Linear project automation:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
AUTO_CREATE_PROJECTS=true
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Documents
|
|
68
|
+
|
|
69
|
+
Enable spec → Linear document automation:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
AUTO_CREATE_DOCUMENTS=true
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Cycles (optional)
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
USE_CYCLES=false
|
|
79
|
+
ACTIVE_CYCLE_ID=[cycle-id]
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Fallbacks + troubleshooting
|
|
83
|
+
|
|
84
|
+
- `work/linear/FALLBACK-STRATEGY.md`
|
|
85
|
+
- `work/linear/SETUP.md`
|
|
86
|
+
|