@mindfoldhq/trellis 0.2.9 → 0.2.10
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/README.md +76 -74
- package/dist/commands/update.js +3 -3
- package/dist/commands/update.js.map +1 -1
- package/dist/migrations/manifests/0.3.0.json +175 -0
- package/dist/templates/claude/commands/{check-cross-layer.md → trellis/check-cross-layer.md} +1 -1
- package/dist/templates/{cursor/commands → claude/commands/trellis}/create-command.md +9 -9
- package/dist/templates/claude/commands/{finish-work.md → trellis/finish-work.md} +5 -5
- package/dist/templates/{cursor/commands → claude/commands/trellis}/integrate-skill.md +4 -4
- package/dist/templates/claude/commands/{onboard.md → trellis/onboard.md} +32 -32
- package/dist/templates/claude/commands/{parallel.md → trellis/parallel.md} +6 -6
- package/dist/templates/claude/commands/{start.md → trellis/start.md} +6 -6
- package/dist/templates/claude/commands/{update-spec.md → trellis/update-spec.md} +5 -5
- package/dist/templates/claude/hooks/inject-subagent-context.py +14 -18
- package/dist/templates/claude/hooks/session-start.py +3 -1
- package/dist/templates/claude/index.d.ts +2 -0
- package/dist/templates/claude/index.d.ts.map +1 -1
- package/dist/templates/claude/index.js +4 -2
- package/dist/templates/claude/index.js.map +1 -1
- package/dist/templates/cursor/commands/{check-cross-layer.md → trellis-check-cross-layer.md} +1 -1
- package/dist/templates/{claude/commands/create-command.md → cursor/commands/trellis-create-command.md} +9 -9
- package/dist/templates/cursor/commands/{finish-work.md → trellis-finish-work.md} +5 -5
- package/dist/templates/{claude/commands/integrate-skill.md → cursor/commands/trellis-integrate-skill.md} +4 -4
- package/dist/templates/cursor/commands/{onboard.md → trellis-onboard.md} +32 -32
- package/dist/templates/cursor/commands/{start.md → trellis-start.md} +11 -11
- package/dist/templates/cursor/commands/{update-spec.md → trellis-update-spec.md} +5 -5
- package/dist/templates/cursor/index.d.ts +2 -0
- package/dist/templates/cursor/index.d.ts.map +1 -1
- package/dist/templates/cursor/index.js +2 -0
- package/dist/templates/cursor/index.js.map +1 -1
- package/dist/templates/markdown/agents.md +1 -1
- package/dist/templates/trellis/scripts/create-bootstrap.sh +2 -2
- package/dist/templates/trellis/scripts/task.sh +5 -5
- package/dist/templates/trellis/workflow.md +7 -7
- package/package.json +1 -1
- /package/dist/templates/claude/commands/{before-backend-dev.md → trellis/before-backend-dev.md} +0 -0
- /package/dist/templates/claude/commands/{before-frontend-dev.md → trellis/before-frontend-dev.md} +0 -0
- /package/dist/templates/claude/commands/{break-loop.md → trellis/break-loop.md} +0 -0
- /package/dist/templates/claude/commands/{check-backend.md → trellis/check-backend.md} +0 -0
- /package/dist/templates/claude/commands/{check-frontend.md → trellis/check-frontend.md} +0 -0
- /package/dist/templates/claude/commands/{record-session.md → trellis/record-session.md} +0 -0
- /package/dist/templates/cursor/commands/{before-backend-dev.md → trellis-before-backend-dev.md} +0 -0
- /package/dist/templates/cursor/commands/{before-frontend-dev.md → trellis-before-frontend-dev.md} +0 -0
- /package/dist/templates/cursor/commands/{break-loop.md → trellis-break-loop.md} +0 -0
- /package/dist/templates/cursor/commands/{check-backend.md → trellis-check-backend.md} +0 -0
- /package/dist/templates/cursor/commands/{check-frontend.md → trellis-check-frontend.md} +0 -0
- /package/dist/templates/cursor/commands/{record-session.md → trellis-record-session.md} +0 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.3.0",
|
|
3
|
+
"description": "Command path namespace migration for brand recognition",
|
|
4
|
+
"migrations": [
|
|
5
|
+
{
|
|
6
|
+
"type": "rename",
|
|
7
|
+
"from": ".claude/commands/start.md",
|
|
8
|
+
"to": ".claude/commands/trellis/start.md",
|
|
9
|
+
"description": "Move Claude start command to trellis/ subdirectory"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"type": "rename",
|
|
13
|
+
"from": ".claude/commands/finish-work.md",
|
|
14
|
+
"to": ".claude/commands/trellis/finish-work.md",
|
|
15
|
+
"description": "Move Claude finish-work command to trellis/ subdirectory"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"type": "rename",
|
|
19
|
+
"from": ".claude/commands/before-frontend-dev.md",
|
|
20
|
+
"to": ".claude/commands/trellis/before-frontend-dev.md",
|
|
21
|
+
"description": "Move Claude before-frontend-dev command to trellis/ subdirectory"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"type": "rename",
|
|
25
|
+
"from": ".claude/commands/before-backend-dev.md",
|
|
26
|
+
"to": ".claude/commands/trellis/before-backend-dev.md",
|
|
27
|
+
"description": "Move Claude before-backend-dev command to trellis/ subdirectory"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "rename",
|
|
31
|
+
"from": ".claude/commands/check-frontend.md",
|
|
32
|
+
"to": ".claude/commands/trellis/check-frontend.md",
|
|
33
|
+
"description": "Move Claude check-frontend command to trellis/ subdirectory"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"type": "rename",
|
|
37
|
+
"from": ".claude/commands/check-backend.md",
|
|
38
|
+
"to": ".claude/commands/trellis/check-backend.md",
|
|
39
|
+
"description": "Move Claude check-backend command to trellis/ subdirectory"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"type": "rename",
|
|
43
|
+
"from": ".claude/commands/check-cross-layer.md",
|
|
44
|
+
"to": ".claude/commands/trellis/check-cross-layer.md",
|
|
45
|
+
"description": "Move Claude check-cross-layer command to trellis/ subdirectory"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"type": "rename",
|
|
49
|
+
"from": ".claude/commands/record-session.md",
|
|
50
|
+
"to": ".claude/commands/trellis/record-session.md",
|
|
51
|
+
"description": "Move Claude record-session command to trellis/ subdirectory"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"type": "rename",
|
|
55
|
+
"from": ".claude/commands/update-spec.md",
|
|
56
|
+
"to": ".claude/commands/trellis/update-spec.md",
|
|
57
|
+
"description": "Move Claude update-spec command to trellis/ subdirectory"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"type": "rename",
|
|
61
|
+
"from": ".claude/commands/onboard.md",
|
|
62
|
+
"to": ".claude/commands/trellis/onboard.md",
|
|
63
|
+
"description": "Move Claude onboard command to trellis/ subdirectory"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "rename",
|
|
67
|
+
"from": ".claude/commands/break-loop.md",
|
|
68
|
+
"to": ".claude/commands/trellis/break-loop.md",
|
|
69
|
+
"description": "Move Claude break-loop command to trellis/ subdirectory"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "rename",
|
|
73
|
+
"from": ".claude/commands/integrate-skill.md",
|
|
74
|
+
"to": ".claude/commands/trellis/integrate-skill.md",
|
|
75
|
+
"description": "Move Claude integrate-skill command to trellis/ subdirectory"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"type": "rename",
|
|
79
|
+
"from": ".claude/commands/create-command.md",
|
|
80
|
+
"to": ".claude/commands/trellis/create-command.md",
|
|
81
|
+
"description": "Move Claude create-command command to trellis/ subdirectory"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "rename",
|
|
85
|
+
"from": ".claude/commands/parallel.md",
|
|
86
|
+
"to": ".claude/commands/trellis/parallel.md",
|
|
87
|
+
"description": "Move Claude parallel command to trellis/ subdirectory"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"type": "rename",
|
|
91
|
+
"from": ".cursor/commands/start.md",
|
|
92
|
+
"to": ".cursor/commands/trellis-start.md",
|
|
93
|
+
"description": "Rename Cursor start command with trellis- prefix"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"type": "rename",
|
|
97
|
+
"from": ".cursor/commands/finish-work.md",
|
|
98
|
+
"to": ".cursor/commands/trellis-finish-work.md",
|
|
99
|
+
"description": "Rename Cursor finish-work command with trellis- prefix"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"type": "rename",
|
|
103
|
+
"from": ".cursor/commands/before-frontend-dev.md",
|
|
104
|
+
"to": ".cursor/commands/trellis-before-frontend-dev.md",
|
|
105
|
+
"description": "Rename Cursor before-frontend-dev command with trellis- prefix"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"type": "rename",
|
|
109
|
+
"from": ".cursor/commands/before-backend-dev.md",
|
|
110
|
+
"to": ".cursor/commands/trellis-before-backend-dev.md",
|
|
111
|
+
"description": "Rename Cursor before-backend-dev command with trellis- prefix"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"type": "rename",
|
|
115
|
+
"from": ".cursor/commands/check-frontend.md",
|
|
116
|
+
"to": ".cursor/commands/trellis-check-frontend.md",
|
|
117
|
+
"description": "Rename Cursor check-frontend command with trellis- prefix"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"type": "rename",
|
|
121
|
+
"from": ".cursor/commands/check-backend.md",
|
|
122
|
+
"to": ".cursor/commands/trellis-check-backend.md",
|
|
123
|
+
"description": "Rename Cursor check-backend command with trellis- prefix"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"type": "rename",
|
|
127
|
+
"from": ".cursor/commands/check-cross-layer.md",
|
|
128
|
+
"to": ".cursor/commands/trellis-check-cross-layer.md",
|
|
129
|
+
"description": "Rename Cursor check-cross-layer command with trellis- prefix"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"type": "rename",
|
|
133
|
+
"from": ".cursor/commands/record-session.md",
|
|
134
|
+
"to": ".cursor/commands/trellis-record-session.md",
|
|
135
|
+
"description": "Rename Cursor record-session command with trellis- prefix"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"type": "rename",
|
|
139
|
+
"from": ".cursor/commands/update-spec.md",
|
|
140
|
+
"to": ".cursor/commands/trellis-update-spec.md",
|
|
141
|
+
"description": "Rename Cursor update-spec command with trellis- prefix"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"type": "rename",
|
|
145
|
+
"from": ".cursor/commands/onboard.md",
|
|
146
|
+
"to": ".cursor/commands/trellis-onboard.md",
|
|
147
|
+
"description": "Rename Cursor onboard command with trellis- prefix"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"type": "rename",
|
|
151
|
+
"from": ".cursor/commands/break-loop.md",
|
|
152
|
+
"to": ".cursor/commands/trellis-break-loop.md",
|
|
153
|
+
"description": "Rename Cursor break-loop command with trellis- prefix"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"type": "rename",
|
|
157
|
+
"from": ".cursor/commands/integrate-skill.md",
|
|
158
|
+
"to": ".cursor/commands/trellis-integrate-skill.md",
|
|
159
|
+
"description": "Rename Cursor integrate-skill command with trellis- prefix"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"type": "rename",
|
|
163
|
+
"from": ".cursor/commands/create-command.md",
|
|
164
|
+
"to": ".cursor/commands/trellis-create-command.md",
|
|
165
|
+
"description": "Rename Cursor create-command command with trellis- prefix"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"type": "rename",
|
|
169
|
+
"from": ".cursor/commands/parallel.md",
|
|
170
|
+
"to": ".cursor/commands/trellis-parallel.md",
|
|
171
|
+
"description": "Rename Cursor parallel command with trellis- prefix"
|
|
172
|
+
}
|
|
173
|
+
],
|
|
174
|
+
"notes": "Claude Code uses subdirectory namespacing (.claude/commands/trellis/), Cursor uses filename prefix (.cursor/commands/trellis-*) since Cursor doesn't support nested command directories"
|
|
175
|
+
}
|
package/dist/templates/claude/commands/{check-cross-layer.md → trellis/check-cross-layer.md}
RENAMED
|
@@ -12,7 +12,7 @@ Check if your changes considered all dimensions. Most bugs come from "didn't thi
|
|
|
12
12
|
|----------|---------|--------|
|
|
13
13
|
| [Pre-Implementation Checklist](.trellis/spec/guides/pre-implementation-checklist.md) | Questions before coding | **Before** writing code |
|
|
14
14
|
| [Code Reuse Thinking Guide](.trellis/spec/guides/code-reuse-thinking-guide.md) | Pattern recognition | During implementation |
|
|
15
|
-
| **`/check-cross-layer`** (this) | Verification check | **After** implementation |
|
|
15
|
+
| **`/trellis:check-cross-layer`** (this) | Verification check | **After** implementation |
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
# Create New Slash Command
|
|
2
2
|
|
|
3
|
-
Create a new slash command in both `.cursor/commands/` and `.claude/commands/` directories based on user requirements.
|
|
3
|
+
Create a new slash command in both `.cursor/commands/` (with `trellis-` prefix) and `.claude/commands/trellis/` directories based on user requirements.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
7
|
```
|
|
8
|
-
/create-command <command-name> <description>
|
|
8
|
+
/trellis:create-command <command-name> <description>
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
**Example**:
|
|
12
12
|
```
|
|
13
|
-
/create-command review-pr Check PR code changes against project guidelines
|
|
13
|
+
/trellis:create-command review-pr Check PR code changes against project guidelines
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Execution Steps
|
|
@@ -61,8 +61,8 @@ Template
|
|
|
61
61
|
### 4. Create Files
|
|
62
62
|
|
|
63
63
|
Create in both directories:
|
|
64
|
-
- `.cursor/commands
|
|
65
|
-
- `.claude/commands/<command-name>.md`
|
|
64
|
+
- `.cursor/commands/trellis-<command-name>.md`
|
|
65
|
+
- `.claude/commands/trellis/<command-name>.md`
|
|
66
66
|
|
|
67
67
|
### 5. Confirm Creation
|
|
68
68
|
|
|
@@ -71,11 +71,11 @@ Output result:
|
|
|
71
71
|
[OK] Created Slash Command: /<command-name>
|
|
72
72
|
|
|
73
73
|
File paths:
|
|
74
|
-
- .cursor/commands
|
|
75
|
-
- .claude/commands/<command-name>.md
|
|
74
|
+
- .cursor/commands/trellis-<command-name>.md
|
|
75
|
+
- .claude/commands/trellis/<command-name>.md
|
|
76
76
|
|
|
77
77
|
Usage:
|
|
78
|
-
|
|
78
|
+
/trellis:<command-name>
|
|
79
79
|
|
|
80
80
|
Description:
|
|
81
81
|
<description>
|
|
@@ -112,7 +112,7 @@ Description:
|
|
|
112
112
|
|
|
113
113
|
### Input
|
|
114
114
|
```
|
|
115
|
-
/create-command review-pr Check PR code changes against project guidelines
|
|
115
|
+
/trellis:create-command review-pr Check PR code changes against project guidelines
|
|
116
116
|
```
|
|
117
117
|
|
|
118
118
|
### Generated Command Content
|
|
@@ -106,19 +106,19 @@ git diff --name-only
|
|
|
106
106
|
|
|
107
107
|
```
|
|
108
108
|
Development Flow:
|
|
109
|
-
Write code -> Test -> /finish-work -> git commit -> /record-session
|
|
109
|
+
Write code -> Test -> /trellis:finish-work -> git commit -> /trellis:record-session
|
|
110
110
|
| |
|
|
111
111
|
Ensure completeness Record progress
|
|
112
112
|
|
|
113
113
|
Debug Flow:
|
|
114
|
-
Hit bug -> Fix -> /break-loop -> Knowledge capture
|
|
114
|
+
Hit bug -> Fix -> /trellis:break-loop -> Knowledge capture
|
|
115
115
|
|
|
|
116
116
|
Deep analysis
|
|
117
117
|
```
|
|
118
118
|
|
|
119
|
-
- `/finish-work` - Check work completeness (this command)
|
|
120
|
-
- `/record-session` - Record session and commits
|
|
121
|
-
- `/break-loop` - Deep analysis after debugging
|
|
119
|
+
- `/trellis:finish-work` - Check work completeness (this command)
|
|
120
|
+
- `/trellis:record-session` - Record session and commits
|
|
121
|
+
- `/trellis:break-loop` - Deep analysis after debugging
|
|
122
122
|
|
|
123
123
|
---
|
|
124
124
|
|
|
@@ -5,13 +5,13 @@ Adapt and integrate a Claude global skill into your project's development guidel
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
7
|
```
|
|
8
|
-
/integrate-skill <skill-name>
|
|
8
|
+
/trellis:integrate-skill <skill-name>
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
**Examples**:
|
|
12
12
|
```
|
|
13
|
-
/integrate-skill frontend-design
|
|
14
|
-
/integrate-skill mcp-builder
|
|
13
|
+
/trellis:integrate-skill frontend-design
|
|
14
|
+
/trellis:integrate-skill mcp-builder
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
## Core Principle
|
|
@@ -169,7 +169,7 @@ yarn add <package>
|
|
|
169
169
|
If this skill is frequently used, create a shortcut command:
|
|
170
170
|
|
|
171
171
|
```bash
|
|
172
|
-
/create-command use-<skill-name> Use <skill-name> skill following project guidelines
|
|
172
|
+
/trellis:create-command use-<skill-name> Use <skill-name> skill following project guidelines
|
|
173
173
|
```
|
|
174
174
|
|
|
175
175
|
## Common Skill Integration Reference
|
|
@@ -41,7 +41,7 @@ Every AI session starts with a blank slate. Unlike human engineers who accumulat
|
|
|
41
41
|
|
|
42
42
|
**The Problem**: Without memory, AI asks the same questions repeatedly, makes the same mistakes, and can't build on previous work.
|
|
43
43
|
|
|
44
|
-
**The Solution**: The `.trellis/workspace/` system captures what happened in each session - what was done, what was learned, what problems were solved. The `/start` command reads this history at session start, giving AI "artificial memory."
|
|
44
|
+
**The Solution**: The `.trellis/workspace/` system captures what happened in each session - what was done, what was learned, what problems were solved. The `/trellis:start` command reads this history at session start, giving AI "artificial memory."
|
|
45
45
|
|
|
46
46
|
### Challenge 2: AI Has Generic Knowledge, Not Project-Specific Knowledge
|
|
47
47
|
|
|
@@ -57,7 +57,7 @@ Even after injecting guidelines, AI has limited context window. As conversation
|
|
|
57
57
|
|
|
58
58
|
**The Problem**: AI starts following guidelines, but as the session progresses and context fills up, it "forgets" the rules and reverts to generic patterns.
|
|
59
59
|
|
|
60
|
-
**The Solution**: The `/check-*` commands re-verify code against guidelines AFTER writing, catching drift that occurred during development. The `/finish-work` command does a final holistic review.
|
|
60
|
+
**The Solution**: The `/check-*` commands re-verify code against guidelines AFTER writing, catching drift that occurred during development. The `/trellis:finish-work` command does a final holistic review.
|
|
61
61
|
|
|
62
62
|
---
|
|
63
63
|
|
|
@@ -106,7 +106,7 @@ Even after injecting guidelines, AI has limited context window. As conversation
|
|
|
106
106
|
|
|
107
107
|
## COMMAND DEEP DIVE
|
|
108
108
|
|
|
109
|
-
### /start - Restore AI Memory
|
|
109
|
+
### /trellis:start - Restore AI Memory
|
|
110
110
|
|
|
111
111
|
**WHY IT EXISTS**:
|
|
112
112
|
When a human engineer joins a project, they spend days/weeks learning: What is this project? What's been built? What's in progress? What's the current state?
|
|
@@ -121,12 +121,12 @@ AI needs the same onboarding - but compressed into seconds at session start.
|
|
|
121
121
|
5. Understands current project state before making any changes
|
|
122
122
|
|
|
123
123
|
**WHY THIS MATTERS**:
|
|
124
|
-
- Without /start: AI is blind. It might work on wrong branch, conflict with others' work, or redo already-completed work.
|
|
125
|
-
- With /start: AI knows project context, can continue where previous session left off, avoids conflicts.
|
|
124
|
+
- Without /trellis:start: AI is blind. It might work on wrong branch, conflict with others' work, or redo already-completed work.
|
|
125
|
+
- With /trellis:start: AI knows project context, can continue where previous session left off, avoids conflicts.
|
|
126
126
|
|
|
127
127
|
---
|
|
128
128
|
|
|
129
|
-
### /before-frontend-dev and /before-backend-dev - Inject Specialized Knowledge
|
|
129
|
+
### /trellis:before-frontend-dev and /trellis:before-backend-dev - Inject Specialized Knowledge
|
|
130
130
|
|
|
131
131
|
**WHY IT EXISTS**:
|
|
132
132
|
AI models have "pre-trained knowledge" - general patterns from millions of codebases. But YOUR project has specific conventions that differ from generic patterns.
|
|
@@ -145,7 +145,7 @@ AI models have "pre-trained knowledge" - general patterns from millions of codeb
|
|
|
145
145
|
|
|
146
146
|
---
|
|
147
147
|
|
|
148
|
-
### /check-frontend and /check-backend - Combat Context Drift
|
|
148
|
+
### /trellis:check-frontend and /trellis:check-backend - Combat Context Drift
|
|
149
149
|
|
|
150
150
|
**WHY IT EXISTS**:
|
|
151
151
|
AI context window has limited capacity. As conversation progresses, guidelines injected at session start become less influential. This causes "context drift."
|
|
@@ -162,7 +162,7 @@ AI context window has limited capacity. As conversation progresses, guidelines i
|
|
|
162
162
|
|
|
163
163
|
---
|
|
164
164
|
|
|
165
|
-
### /check-cross-layer - Multi-Dimension Verification
|
|
165
|
+
### /trellis:check-cross-layer - Multi-Dimension Verification
|
|
166
166
|
|
|
167
167
|
**WHY IT EXISTS**:
|
|
168
168
|
Most bugs don't come from lack of technical skill - they come from "didn't think of it":
|
|
@@ -180,7 +180,7 @@ Most bugs don't come from lack of technical skill - they come from "didn't think
|
|
|
180
180
|
|
|
181
181
|
---
|
|
182
182
|
|
|
183
|
-
### /finish-work - Holistic Pre-Commit Review
|
|
183
|
+
### /trellis:finish-work - Holistic Pre-Commit Review
|
|
184
184
|
|
|
185
185
|
**WHY IT EXISTS**:
|
|
186
186
|
The `/check-*` commands focus on code quality within a single layer. But real changes often have cross-cutting concerns.
|
|
@@ -193,10 +193,10 @@ The `/check-*` commands focus on code quality within a single layer. But real ch
|
|
|
193
193
|
|
|
194
194
|
---
|
|
195
195
|
|
|
196
|
-
### /record-session - Persist Memory for Future
|
|
196
|
+
### /trellis:record-session - Persist Memory for Future
|
|
197
197
|
|
|
198
198
|
**WHY IT EXISTS**:
|
|
199
|
-
All the context AI built during this session will be lost when session ends. The next session's `/start` needs this information.
|
|
199
|
+
All the context AI built during this session will be lost when session ends. The next session's `/trellis:start` needs this information.
|
|
200
200
|
|
|
201
201
|
**WHAT IT ACTUALLY DOES**:
|
|
202
202
|
1. Records session summary to `workspace/{developer}/journal-N.md`
|
|
@@ -209,47 +209,47 @@ All the context AI built during this session will be lost when session ends. The
|
|
|
209
209
|
|
|
210
210
|
### Example 1: Bug Fix Session
|
|
211
211
|
|
|
212
|
-
**[1/8] /start** - AI needs project context before touching code
|
|
212
|
+
**[1/8] /trellis:start** - AI needs project context before touching code
|
|
213
213
|
**[2/8] ./.trellis/scripts/task.sh create "Fix bug" --slug fix-bug** - Track work for future reference
|
|
214
|
-
**[3/8] /before-frontend-dev** - Inject project-specific frontend knowledge
|
|
214
|
+
**[3/8] /trellis:before-frontend-dev** - Inject project-specific frontend knowledge
|
|
215
215
|
**[4/8] Investigate and fix the bug** - Actual development work
|
|
216
|
-
**[5/8] /check-frontend** - Re-verify code against guidelines
|
|
217
|
-
**[6/8] /finish-work** - Holistic cross-layer review
|
|
216
|
+
**[5/8] /trellis:check-frontend** - Re-verify code against guidelines
|
|
217
|
+
**[6/8] /trellis:finish-work** - Holistic cross-layer review
|
|
218
218
|
**[7/8] Human tests and commits** - Human validates before code enters repo
|
|
219
|
-
**[8/8] /record-session** - Persist memory for future sessions
|
|
219
|
+
**[8/8] /trellis:record-session** - Persist memory for future sessions
|
|
220
220
|
|
|
221
221
|
### Example 2: Planning Session (No Code)
|
|
222
222
|
|
|
223
|
-
**[1/4] /start** - Context needed even for non-coding work
|
|
223
|
+
**[1/4] /trellis:start** - Context needed even for non-coding work
|
|
224
224
|
**[2/4] ./.trellis/scripts/task.sh create "Planning task" --slug planning-task** - Planning is valuable work
|
|
225
225
|
**[3/4] Review docs, create subtask list** - Actual planning work
|
|
226
|
-
**[4/4] /record-session (with --summary)** - Planning decisions must be recorded
|
|
226
|
+
**[4/4] /trellis:record-session (with --summary)** - Planning decisions must be recorded
|
|
227
227
|
|
|
228
228
|
### Example 3: Code Review Fixes
|
|
229
229
|
|
|
230
|
-
**[1/6] /start** - Resume context from previous session
|
|
231
|
-
**[2/6] /before-backend-dev** - Re-inject guidelines before fixes
|
|
230
|
+
**[1/6] /trellis:start** - Resume context from previous session
|
|
231
|
+
**[2/6] /trellis:before-backend-dev** - Re-inject guidelines before fixes
|
|
232
232
|
**[3/6] Fix each CR issue** - Address feedback with guidelines in context
|
|
233
|
-
**[4/6] /check-backend** - Verify fixes didn't introduce new issues
|
|
234
|
-
**[5/6] /finish-work** - Document lessons from CR
|
|
235
|
-
**[6/6] Human commits, then /record-session** - Preserve CR lessons
|
|
233
|
+
**[4/6] /trellis:check-backend** - Verify fixes didn't introduce new issues
|
|
234
|
+
**[5/6] /trellis:finish-work** - Document lessons from CR
|
|
235
|
+
**[6/6] Human commits, then /trellis:record-session** - Preserve CR lessons
|
|
236
236
|
|
|
237
237
|
### Example 4: Large Refactoring
|
|
238
238
|
|
|
239
|
-
**[1/5] /start** - Clear baseline before major changes
|
|
239
|
+
**[1/5] /trellis:start** - Clear baseline before major changes
|
|
240
240
|
**[2/5] Plan phases** - Break into verifiable chunks
|
|
241
241
|
**[3/5] Execute phase by phase with /check-* after each** - Incremental verification
|
|
242
|
-
**[4/5] /finish-work** - Check if new patterns should be documented
|
|
242
|
+
**[4/5] /trellis:finish-work** - Check if new patterns should be documented
|
|
243
243
|
**[5/5] Record with multiple commit hashes** - Link all commits to one feature
|
|
244
244
|
|
|
245
245
|
### Example 5: Debug Session
|
|
246
246
|
|
|
247
|
-
**[1/6] /start** - See if this bug was investigated before
|
|
248
|
-
**[2/6] /before-backend-dev** - Guidelines might document known gotchas
|
|
247
|
+
**[1/6] /trellis:start** - See if this bug was investigated before
|
|
248
|
+
**[2/6] /trellis:before-backend-dev** - Guidelines might document known gotchas
|
|
249
249
|
**[3/6] Investigation** - Actual debugging work
|
|
250
|
-
**[4/6] /check-backend** - Verify debug changes don't break other things
|
|
251
|
-
**[5/6] /finish-work** - Debug findings might need documentation
|
|
252
|
-
**[6/6] Human commits, then /record-session** - Debug knowledge is valuable
|
|
250
|
+
**[4/6] /trellis:check-backend** - Verify debug changes don't break other things
|
|
251
|
+
**[5/6] /trellis:finish-work** - Debug findings might need documentation
|
|
252
|
+
**[6/6] Human commits, then /trellis:record-session** - Debug knowledge is valuable
|
|
253
253
|
|
|
254
254
|
---
|
|
255
255
|
|
|
@@ -258,7 +258,7 @@ All the context AI built during this session will be lost when session ends. The
|
|
|
258
258
|
1. **AI NEVER commits** - Human tests and approves. AI prepares, human validates.
|
|
259
259
|
2. **Guidelines before code** - /before-*-dev commands inject project knowledge.
|
|
260
260
|
3. **Check after code** - /check-* commands catch context drift.
|
|
261
|
-
4. **Record everything** - /record-session persists memory.
|
|
261
|
+
4. **Record everything** - /trellis:record-session persists memory.
|
|
262
262
|
|
|
263
263
|
---
|
|
264
264
|
|
|
@@ -351,7 +351,7 @@ After covering all three parts, summarize:
|
|
|
351
351
|
- Part 3: Guidelines status (empty templates need filling / already customized)
|
|
352
352
|
|
|
353
353
|
**Next steps** (tell user):
|
|
354
|
-
1. Run `/record-session` to record this onboard session
|
|
354
|
+
1. Run `/trellis:record-session` to record this onboard session
|
|
355
355
|
2. [If guidelines empty] Start filling in `.trellis/spec/` guidelines
|
|
356
356
|
3. [If guidelines ready] Start your first development task
|
|
357
357
|
|
|
@@ -84,7 +84,7 @@ Plan Agent will:
|
|
|
84
84
|
After plan.sh completes, start the worktree agent:
|
|
85
85
|
|
|
86
86
|
```bash
|
|
87
|
-
./.trellis/scripts/multi-agent/start.sh "$TASK_DIR"
|
|
87
|
+
./.trellis/scripts/multi-agent/trellis:start.sh "$TASK_DIR"
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
### Option B: Manual Configuration (For simple/clear features) `[AI]`
|
|
@@ -137,7 +137,7 @@ EOF
|
|
|
137
137
|
|
|
138
138
|
```bash
|
|
139
139
|
./.trellis/scripts/task.sh validate "$TASK_DIR"
|
|
140
|
-
./.trellis/scripts/multi-agent/start.sh "$TASK_DIR"
|
|
140
|
+
./.trellis/scripts/multi-agent/trellis:start.sh "$TASK_DIR"
|
|
141
141
|
```
|
|
142
142
|
|
|
143
143
|
---
|
|
@@ -154,10 +154,10 @@ The following slash commands are for users (not AI):
|
|
|
154
154
|
|
|
155
155
|
| Command | Description |
|
|
156
156
|
|---------|-------------|
|
|
157
|
-
| `/parallel` | Start Multi-Agent Pipeline (this command) |
|
|
158
|
-
| `/start` | Start normal development mode (single process) |
|
|
159
|
-
| `/record-session` | Record session progress |
|
|
160
|
-
| `/finish-work` | Pre-completion checklist |
|
|
157
|
+
| `/trellis:parallel` | Start Multi-Agent Pipeline (this command) |
|
|
158
|
+
| `/trellis:start` | Start normal development mode (single process) |
|
|
159
|
+
| `/trellis:record-session` | Record session progress |
|
|
160
|
+
| `/trellis:finish-work` | Pre-completion checklist |
|
|
161
161
|
|
|
162
162
|
---
|
|
163
163
|
|
|
@@ -75,7 +75,7 @@ When user describes a task, classify it:
|
|
|
75
75
|
For questions or trivial fixes, work directly:
|
|
76
76
|
|
|
77
77
|
1. Answer question or make the fix
|
|
78
|
-
2. If code was changed, remind user to run `/finish-work`
|
|
78
|
+
2. If code was changed, remind user to run `/trellis:finish-work`
|
|
79
79
|
|
|
80
80
|
---
|
|
81
81
|
|
|
@@ -222,7 +222,7 @@ Task(
|
|
|
222
222
|
3. Remind user to:
|
|
223
223
|
- Test the changes
|
|
224
224
|
- Commit when ready
|
|
225
|
-
- Run `/record-session` to record this session
|
|
225
|
+
- Run `/trellis:record-session` to record this session
|
|
226
226
|
|
|
227
227
|
---
|
|
228
228
|
|
|
@@ -244,10 +244,10 @@ If yes, resume from the appropriate step (usually Step 7 or 8).
|
|
|
244
244
|
|
|
245
245
|
| Command | When to Use |
|
|
246
246
|
|---------|-------------|
|
|
247
|
-
| `/start` | Begin a session (this command) |
|
|
248
|
-
| `/parallel` | Complex tasks needing isolated worktree |
|
|
249
|
-
| `/finish-work` | Before committing changes |
|
|
250
|
-
| `/record-session` | After completing a task |
|
|
247
|
+
| `/trellis:start` | Begin a session (this command) |
|
|
248
|
+
| `/trellis:parallel` | Complex tasks needing isolated worktree |
|
|
249
|
+
| `/trellis:finish-work` | Before committing changes |
|
|
250
|
+
| `/trellis:record-session` | After completing a task |
|
|
251
251
|
|
|
252
252
|
### AI Scripts `[AI]`
|
|
253
253
|
|
|
@@ -191,15 +191,15 @@ Before finishing your spec update:
|
|
|
191
191
|
|
|
192
192
|
```
|
|
193
193
|
Development Flow:
|
|
194
|
-
Learn something → /update-spec → Knowledge captured
|
|
194
|
+
Learn something → /trellis:update-spec → Knowledge captured
|
|
195
195
|
↑ ↓
|
|
196
|
-
/break-loop ←──────────────────── Future sessions benefit
|
|
196
|
+
/trellis:break-loop ←──────────────────── Future sessions benefit
|
|
197
197
|
(deep bug analysis)
|
|
198
198
|
```
|
|
199
199
|
|
|
200
|
-
- `/break-loop` - Analyzes bugs deeply, often reveals spec updates needed
|
|
201
|
-
- `/update-spec` - Actually makes the updates (this command)
|
|
202
|
-
- `/finish-work` - Reminds you to check if specs need updates
|
|
200
|
+
- `/trellis:break-loop` - Analyzes bugs deeply, often reveals spec updates needed
|
|
201
|
+
- `/trellis:update-spec` - Actually makes the updates (this command)
|
|
202
|
+
- `/trellis:finish-work` - Reminds you to check if specs need updates
|
|
203
203
|
|
|
204
204
|
---
|
|
205
205
|
|
|
@@ -292,9 +292,7 @@ def get_implement_context(repo_root: str, task_dir: str) -> str:
|
|
|
292
292
|
# 2. Requirements document
|
|
293
293
|
prd_content = read_file_content(repo_root, f"{task_dir}/prd.md")
|
|
294
294
|
if prd_content:
|
|
295
|
-
context_parts.append(
|
|
296
|
-
f"=== {task_dir}/prd.md (Requirements) ===\n{prd_content}"
|
|
297
|
-
)
|
|
295
|
+
context_parts.append(f"=== {task_dir}/prd.md (Requirements) ===\n{prd_content}")
|
|
298
296
|
|
|
299
297
|
# 3. Technical design
|
|
300
298
|
info_content = read_file_content(repo_root, f"{task_dir}/info.md")
|
|
@@ -325,10 +323,10 @@ def get_check_context(repo_root: str, task_dir: str) -> str:
|
|
|
325
323
|
else:
|
|
326
324
|
# Fallback: use hardcoded check files + spec.jsonl
|
|
327
325
|
check_files = [
|
|
328
|
-
(".claude/commands/finish-work.md", "Finish work checklist"),
|
|
329
|
-
(".claude/commands/check-cross-layer.md", "Cross-layer check spec"),
|
|
330
|
-
(".claude/commands/check-backend.md", "Backend check spec"),
|
|
331
|
-
(".claude/commands/check-frontend.md", "Frontend check spec"),
|
|
326
|
+
(".claude/commands/trellis/finish-work.md", "Finish work checklist"),
|
|
327
|
+
(".claude/commands/trellis/check-cross-layer.md", "Cross-layer check spec"),
|
|
328
|
+
(".claude/commands/trellis/check-backend.md", "Backend check spec"),
|
|
329
|
+
(".claude/commands/trellis/check-frontend.md", "Frontend check spec"),
|
|
332
330
|
]
|
|
333
331
|
for file_path, description in check_files:
|
|
334
332
|
content = read_file_content(repo_root, file_path)
|
|
@@ -369,10 +367,12 @@ def get_finish_context(repo_root: str, task_dir: str) -> str:
|
|
|
369
367
|
context_parts.append(f"=== {file_path} ===\n{content}")
|
|
370
368
|
else:
|
|
371
369
|
# Fallback: only finish-work.md (lightweight)
|
|
372
|
-
finish_work = read_file_content(
|
|
370
|
+
finish_work = read_file_content(
|
|
371
|
+
repo_root, ".claude/commands/trellis/finish-work.md"
|
|
372
|
+
)
|
|
373
373
|
if finish_work:
|
|
374
374
|
context_parts.append(
|
|
375
|
-
f"=== .claude/commands/finish-work.md (Finish checklist) ===\n{finish_work}"
|
|
375
|
+
f"=== .claude/commands/trellis/finish-work.md (Finish checklist) ===\n{finish_work}"
|
|
376
376
|
)
|
|
377
377
|
|
|
378
378
|
# 2. Requirements document (for verifying requirements are met)
|
|
@@ -408,9 +408,9 @@ def get_debug_context(repo_root: str, task_dir: str) -> str:
|
|
|
408
408
|
context_parts.append(f"=== {file_path} (Dev spec) ===\n{content}")
|
|
409
409
|
|
|
410
410
|
check_files = [
|
|
411
|
-
(".claude/commands/check-backend.md", "Backend check spec"),
|
|
412
|
-
(".claude/commands/check-frontend.md", "Frontend check spec"),
|
|
413
|
-
(".claude/commands/check-cross-layer.md", "Cross-layer check spec"),
|
|
411
|
+
(".claude/commands/trellis/check-backend.md", "Backend check spec"),
|
|
412
|
+
(".claude/commands/trellis/check-frontend.md", "Frontend check spec"),
|
|
413
|
+
(".claude/commands/trellis/check-cross-layer.md", "Cross-layer check spec"),
|
|
414
414
|
]
|
|
415
415
|
for file_path, description in check_files:
|
|
416
416
|
content = read_file_content(repo_root, file_path)
|
|
@@ -418,9 +418,7 @@ def get_debug_context(repo_root: str, task_dir: str) -> str:
|
|
|
418
418
|
context_parts.append(f"=== {file_path} ({description}) ===\n{content}")
|
|
419
419
|
|
|
420
420
|
# 2. Codex review output (if exists)
|
|
421
|
-
codex_output = read_file_content(
|
|
422
|
-
repo_root, f"{task_dir}/codex-review-output.txt"
|
|
423
|
-
)
|
|
421
|
+
codex_output = read_file_content(repo_root, f"{task_dir}/codex-review-output.txt")
|
|
424
422
|
if codex_output:
|
|
425
423
|
context_parts.append(
|
|
426
424
|
f"=== {task_dir}/codex-review-output.txt (Codex Review Results) ===\n{codex_output}"
|
|
@@ -600,9 +598,7 @@ def get_research_context(repo_root: str, task_dir: str | None) -> str:
|
|
|
600
598
|
|
|
601
599
|
# 2. If task directory exists, try reading research.jsonl (optional)
|
|
602
600
|
if task_dir:
|
|
603
|
-
research_entries = read_jsonl_entries(
|
|
604
|
-
repo_root, f"{task_dir}/research.jsonl"
|
|
605
|
-
)
|
|
601
|
+
research_entries = read_jsonl_entries(repo_root, f"{task_dir}/research.jsonl")
|
|
606
602
|
if research_entries:
|
|
607
603
|
context_parts.append(
|
|
608
604
|
"\n## Additional Search Context (from research.jsonl)\n"
|
|
@@ -109,7 +109,9 @@ Read and follow all instructions below carefully.
|
|
|
109
109
|
|
|
110
110
|
# 5. Session Instructions
|
|
111
111
|
print("<instructions>")
|
|
112
|
-
start_md = read_file(
|
|
112
|
+
start_md = read_file(
|
|
113
|
+
claude_dir / "commands" / "trellis" / "start.md", "No start.md found"
|
|
114
|
+
)
|
|
113
115
|
print(start_md)
|
|
114
116
|
print("</instructions>")
|
|
115
117
|
print()
|
|
@@ -35,6 +35,8 @@ export interface HookTemplate {
|
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
37
|
* Get all command templates
|
|
38
|
+
* Commands are stored in commands/trellis/ subdirectory
|
|
39
|
+
* This creates commands like /trellis:start, /trellis:finish-work, etc.
|
|
38
40
|
*/
|
|
39
41
|
export declare function getAllCommands(): CommandTemplate[];
|
|
40
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/claude/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAsBH,eAAO,MAAM,gBAAgB,QAAgC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/claude/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAsBH,eAAO,MAAM,gBAAgB,QAAgC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,eAAe,EAAE,CAalD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAa9C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,YAAY,EAAE,CAU5C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,CAKlD"}
|