@mindfoldhq/trellis 0.4.0-beta.8 → 0.4.0-beta.9

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.
Files changed (92) hide show
  1. package/README.md +10 -5
  2. package/dist/cli/index.js +2 -0
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/init.d.ts +2 -0
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +33 -9
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/configurators/codex.d.ts.map +1 -1
  9. package/dist/configurators/codex.js +2 -1
  10. package/dist/configurators/codex.js.map +1 -1
  11. package/dist/configurators/copilot.d.ts +9 -0
  12. package/dist/configurators/copilot.d.ts.map +1 -0
  13. package/dist/configurators/copilot.js +34 -0
  14. package/dist/configurators/copilot.js.map +1 -0
  15. package/dist/configurators/index.d.ts.map +1 -1
  16. package/dist/configurators/index.js +32 -1
  17. package/dist/configurators/index.js.map +1 -1
  18. package/dist/configurators/windsurf.d.ts +8 -0
  19. package/dist/configurators/windsurf.d.ts.map +1 -0
  20. package/dist/configurators/windsurf.js +18 -0
  21. package/dist/configurators/windsurf.js.map +1 -0
  22. package/dist/migrations/manifests/0.4.0-beta.9.json +9 -0
  23. package/dist/templates/claude/hooks/inject-subagent-context.py +8 -1
  24. package/dist/templates/claude/hooks/ralph-loop.py +8 -1
  25. package/dist/templates/claude/hooks/session-start.py +31 -7
  26. package/dist/templates/claude/hooks/statusline.py +211 -0
  27. package/dist/templates/claude/settings.json +4 -0
  28. package/dist/templates/codex/hooks/session-start.py +31 -7
  29. package/dist/templates/codex/hooks.json +1 -1
  30. package/dist/templates/copilot/hooks/session-start.py +218 -0
  31. package/dist/templates/copilot/hooks.json +11 -0
  32. package/dist/templates/copilot/index.d.ts +23 -0
  33. package/dist/templates/copilot/index.d.ts.map +1 -0
  34. package/dist/templates/copilot/index.js +54 -0
  35. package/dist/templates/copilot/index.js.map +1 -0
  36. package/dist/templates/copilot/prompts/before-dev.prompt.md +33 -0
  37. package/dist/templates/copilot/prompts/brainstorm.prompt.md +491 -0
  38. package/dist/templates/copilot/prompts/break-loop.prompt.md +129 -0
  39. package/dist/templates/copilot/prompts/check-cross-layer.prompt.md +157 -0
  40. package/dist/templates/copilot/prompts/check.prompt.md +29 -0
  41. package/dist/templates/copilot/prompts/create-command.prompt.md +116 -0
  42. package/dist/templates/copilot/prompts/finish-work.prompt.md +157 -0
  43. package/dist/templates/copilot/prompts/integrate-skill.prompt.md +223 -0
  44. package/dist/templates/copilot/prompts/onboard.prompt.md +362 -0
  45. package/dist/templates/copilot/prompts/parallel.prompt.md +196 -0
  46. package/dist/templates/copilot/prompts/record-session.prompt.md +66 -0
  47. package/dist/templates/copilot/prompts/start.prompt.md +397 -0
  48. package/dist/templates/copilot/prompts/update-spec.prompt.md +358 -0
  49. package/dist/templates/extract.d.ts +18 -0
  50. package/dist/templates/extract.d.ts.map +1 -1
  51. package/dist/templates/extract.js +32 -0
  52. package/dist/templates/extract.js.map +1 -1
  53. package/dist/templates/iflow/hooks/inject-subagent-context.py +8 -1
  54. package/dist/templates/iflow/hooks/ralph-loop.py +8 -1
  55. package/dist/templates/iflow/hooks/session-start.py +31 -7
  56. package/dist/templates/markdown/spec/backend/directory-structure.md +1 -1
  57. package/dist/templates/opencode/agents/dispatch.md +20 -19
  58. package/dist/templates/opencode/lib/trellis-context.js +42 -2
  59. package/dist/templates/opencode/plugins/session-start.js +7 -27
  60. package/dist/templates/trellis/scripts/add_session.py +6 -1
  61. package/dist/templates/trellis/scripts/common/__init__.py +2 -0
  62. package/dist/templates/trellis/scripts/common/cli_adapter.py +87 -9
  63. package/dist/templates/trellis/scripts/common/paths.py +57 -6
  64. package/dist/templates/trellis/scripts/common/task_store.py +6 -4
  65. package/dist/templates/trellis/scripts/common/task_utils.py +14 -8
  66. package/dist/templates/trellis/scripts/multi_agent/start.py +9 -5
  67. package/dist/templates/trellis/scripts/task.py +1 -1
  68. package/dist/templates/windsurf/index.d.ts +21 -0
  69. package/dist/templates/windsurf/index.d.ts.map +1 -0
  70. package/dist/templates/windsurf/index.js +44 -0
  71. package/dist/templates/windsurf/index.js.map +1 -0
  72. package/dist/templates/windsurf/workflows/trellis-before-dev.md +31 -0
  73. package/dist/templates/windsurf/workflows/trellis-brainstorm.md +491 -0
  74. package/dist/templates/windsurf/workflows/trellis-break-loop.md +111 -0
  75. package/dist/templates/windsurf/workflows/trellis-check-cross-layer.md +157 -0
  76. package/dist/templates/windsurf/workflows/trellis-check.md +27 -0
  77. package/dist/templates/windsurf/workflows/trellis-create-command.md +154 -0
  78. package/dist/templates/windsurf/workflows/trellis-finish-work.md +147 -0
  79. package/dist/templates/windsurf/workflows/trellis-integrate-skill.md +220 -0
  80. package/dist/templates/windsurf/workflows/trellis-onboard.md +362 -0
  81. package/dist/templates/windsurf/workflows/trellis-record-session.md +66 -0
  82. package/dist/templates/windsurf/workflows/trellis-start.md +373 -0
  83. package/dist/templates/windsurf/workflows/trellis-update-spec.md +358 -0
  84. package/dist/types/ai-tools.d.ts +5 -3
  85. package/dist/types/ai-tools.d.ts.map +1 -1
  86. package/dist/types/ai-tools.js +21 -1
  87. package/dist/types/ai-tools.js.map +1 -1
  88. package/dist/utils/template-fetcher.d.ts +17 -4
  89. package/dist/utils/template-fetcher.d.ts.map +1 -1
  90. package/dist/utils/template-fetcher.js +94 -12
  91. package/dist/utils/template-fetcher.js.map +1 -1
  92. package/package.json +1 -1
@@ -0,0 +1,157 @@
1
+ ---
2
+ description: Verify that your changes accounted for cross-layer risks and dependencies.
3
+ ---
4
+
5
+ # Cross-Layer Check
6
+
7
+ Check if your changes considered all dimensions. Most bugs come from "didn't think of it", not lack of technical skill.
8
+
9
+ > **Note**: This is a **post-implementation** safety net. Ideally, read the [Pre-Implementation Checklist](.trellis/spec/guides/pre-implementation-checklist.md) **before** writing code.
10
+
11
+ ---
12
+
13
+ ## Related Documents
14
+
15
+ | Document | Purpose | Timing |
16
+ |----------|---------|--------|
17
+ | [Pre-Implementation Checklist](.trellis/spec/guides/pre-implementation-checklist.md) | Questions before coding | **Before** writing code |
18
+ | [Code Reuse Thinking Guide](.trellis/spec/guides/code-reuse-thinking-guide.md) | Pattern recognition | During implementation |
19
+ | **`/trellis-check-cross-layer`** (this) | Verification check | **After** implementation |
20
+
21
+ ---
22
+
23
+ ## Execution Steps
24
+
25
+ ### 1. Identify Change Scope
26
+
27
+ ```bash
28
+ git status
29
+ git diff --name-only
30
+ ```
31
+
32
+ ### 2. Select Applicable Check Dimensions
33
+
34
+ Based on your change type, execute relevant checks below:
35
+
36
+ ---
37
+
38
+ ## Dimension A: Cross-Layer Data Flow (Required when 3+ layers)
39
+
40
+ **Trigger**: Changes involve 3 or more layers
41
+
42
+ | Layer | Common Locations |
43
+ |-------|------------------|
44
+ | API/Routes | `routes/`, `api/`, `handlers/`, `controllers/` |
45
+ | Service/Business Logic | `services/`, `lib/`, `core/`, `domain/` |
46
+ | Database/Storage | `db/`, `models/`, `repositories/`, `schema/` |
47
+ | UI/Presentation | `components/`, `views/`, `templates/`, `pages/` |
48
+ | Utility | `utils/`, `helpers/`, `common/` |
49
+
50
+ **Checklist**:
51
+ - [ ] Read flow: Database -> Service -> API -> UI
52
+ - [ ] Write flow: UI -> API -> Service -> Database
53
+ - [ ] Types/schemas correctly passed between layers?
54
+ - [ ] Errors properly propagated to caller?
55
+ - [ ] Loading/pending states handled at each layer?
56
+
57
+ **Detailed Guide**: `.trellis/spec/guides/cross-layer-thinking-guide.md`
58
+
59
+ ---
60
+
61
+ ## Dimension B: Code Reuse (Required when modifying constants/config)
62
+
63
+ **Trigger**:
64
+ - Modifying UI constants (label, icon, color)
65
+ - Modifying any hardcoded value
66
+ - Seeing similar code in multiple places
67
+ - Creating a new utility/helper function
68
+ - Just finished batch modifications across files
69
+
70
+ **Checklist**:
71
+ - [ ] Search first: How many places define this value?
72
+ ```bash
73
+ # Search in source files (adjust extensions for your project)
74
+ grep -r "value-to-change" src/
75
+ ```
76
+ - [ ] If 2+ places define same value -> Should extract to shared constant
77
+ - [ ] After modification, all usage sites updated?
78
+ - [ ] If creating utility: Does similar utility already exist?
79
+
80
+ **Detailed Guide**: `.trellis/spec/guides/code-reuse-thinking-guide.md`
81
+
82
+ ---
83
+
84
+ ## Dimension B2: New Utility Functions
85
+
86
+ **Trigger**: About to create a new utility/helper function
87
+
88
+ **Checklist**:
89
+ - [ ] Search for existing similar utilities first
90
+ ```bash
91
+ grep -r "functionNamePattern" src/
92
+ ```
93
+ - [ ] If similar exists, can you extend it instead?
94
+ - [ ] If creating new, is it in the right location (shared vs domain-specific)?
95
+
96
+ ---
97
+
98
+ ## Dimension B3: After Batch Modifications
99
+
100
+ **Trigger**: Just modified similar patterns in multiple files
101
+
102
+ **Checklist**:
103
+ - [ ] Did you check ALL files with similar patterns?
104
+ ```bash
105
+ grep -r "patternYouChanged" src/
106
+ ```
107
+ - [ ] Any files missed that should also be updated?
108
+ - [ ] Should this pattern be abstracted to prevent future duplication?
109
+
110
+ ---
111
+
112
+ ## Dimension C: Import/Dependency Paths (Required when creating new files)
113
+
114
+ **Trigger**: Creating new source files
115
+
116
+ **Checklist**:
117
+ - [ ] Using correct import paths (relative vs absolute)?
118
+ - [ ] No circular dependencies?
119
+ - [ ] Consistent with project's module organization?
120
+
121
+ ---
122
+
123
+ ## Dimension D: Same-Layer Consistency
124
+
125
+ **Trigger**:
126
+ - Modifying display logic or formatting
127
+ - Same domain concept used in multiple places
128
+
129
+ **Checklist**:
130
+ - [ ] Search for other places using same concept
131
+ ```bash
132
+ grep -r "ConceptName" src/
133
+ ```
134
+ - [ ] Are these usages consistent?
135
+ - [ ] Should they share configuration/constants?
136
+
137
+ ---
138
+
139
+ ## Common Issues Quick Reference
140
+
141
+ | Issue | Root Cause | Prevention |
142
+ |-------|------------|------------|
143
+ | Changed one place, missed others | Didn't search impact scope | `grep` before changing |
144
+ | Data lost at some layer | Didn't check data flow | Trace data source to destination |
145
+ | Type/schema mismatch | Cross-layer types inconsistent | Use shared type definitions |
146
+ | UI/output inconsistent | Same concept in multiple places | Extract shared constants |
147
+ | Similar utility exists | Didn't search first | Search before creating |
148
+ | Batch fix incomplete | Didn't verify all occurrences | grep after fixing |
149
+
150
+ ---
151
+
152
+ ## Output
153
+
154
+ Report:
155
+ 1. Which dimensions your changes involve
156
+ 2. Check results for each dimension
157
+ 3. Issues found and fix suggestions
@@ -0,0 +1,27 @@
1
+ ---
2
+ description: Check whether the code you just wrote follows the development guidelines.
3
+ ---
4
+
5
+ Execute these steps:
6
+
7
+ 1. **Identify changed files**:
8
+ ```bash
9
+ git diff --name-only HEAD
10
+ ```
11
+
12
+ 2. **Determine which spec modules apply** based on the changed file paths:
13
+ ```bash
14
+ python3 ./.trellis/scripts/get_context.py --mode packages
15
+ ```
16
+
17
+ 3. **Read the spec index** for each relevant module:
18
+ ```bash
19
+ cat .trellis/spec/<package>/<layer>/index.md
20
+ ```
21
+ Follow the **"Quality Check"** section in the index.
22
+
23
+ 4. **Read the specific guideline files** referenced in the Quality Check section (e.g., `quality-guidelines.md`, `conventions.md`). The index is NOT the goal — it points you to the actual guideline files. Read those files and review your code against them.
24
+
25
+ 5. **Run lint and typecheck** for the affected package.
26
+
27
+ 6. **Report any violations** and fix them if found.
@@ -0,0 +1,154 @@
1
+ ---
2
+ description: Create a new Windsurf workflow in `.windsurf/workflows/trellis-<workflow-name>.md` based on user requirements.
3
+ ---
4
+
5
+ # Create New Workflow
6
+
7
+ ## Usage
8
+
9
+ ```
10
+ /trellis-create-command <workflow-name> <description>
11
+ ```
12
+
13
+ **Example**:
14
+ ```
15
+ /trellis-create-command review-pr Check PR code changes against project guidelines
16
+ ```
17
+
18
+ ## Execution Steps
19
+
20
+ ### 1. Parse Input
21
+
22
+ Extract from user input:
23
+ - **Workflow name**: Use kebab-case (e.g., `review-pr`)
24
+ - **Description**: What the workflow should accomplish
25
+
26
+ ### 2. Analyze Requirements
27
+
28
+ Determine workflow type based on description:
29
+ - **Initialization**: Read docs, establish context
30
+ - **Pre-development**: Read guidelines, check dependencies
31
+ - **Code check**: Validate code quality and guideline compliance
32
+ - **Recording**: Record progress, questions, structure changes
33
+ - **Generation**: Generate docs, code templates
34
+
35
+ ### 3. Generate Workflow Content
36
+
37
+ Based on workflow type, generate appropriate content:
38
+
39
+ **Simple workflow** (1-3 lines):
40
+ ```markdown
41
+ Concise instruction describing what to do
42
+ ```
43
+
44
+ **Complex workflow** (with steps):
45
+ ```markdown
46
+ # Workflow Title
47
+
48
+ Workflow description
49
+
50
+ ## Steps
51
+
52
+ ### 1. First Step
53
+ Specific action
54
+
55
+ ### 2. Second Step
56
+ Specific action
57
+
58
+ ## Output Format (if needed)
59
+
60
+ Template
61
+ ```
62
+
63
+ ### 4. Create Files
64
+
65
+ Create:
66
+ - `.windsurf/workflows/trellis-<workflow-name>.md`
67
+
68
+ ### 5. Confirm Creation
69
+
70
+ Output result:
71
+ ```
72
+ [OK] Created Workflow: /trellis-<workflow-name>
73
+
74
+ File paths:
75
+ - .windsurf/workflows/trellis-<workflow-name>.md
76
+
77
+ Usage:
78
+ /trellis-<workflow-name>
79
+
80
+ Description:
81
+ <description>
82
+ ```
83
+
84
+ ## Workflow Content Guidelines
85
+
86
+ ### [OK] Good workflow content
87
+
88
+ 1. **Clear and concise**: Immediately understandable
89
+ 2. **Executable**: AI can follow steps directly
90
+ 3. **Well-scoped**: Clear boundaries of what to do and not do
91
+ 4. **Has output**: Specifies expected output format (if needed)
92
+
93
+ ### [X] Avoid
94
+
95
+ 1. **Too vague**: e.g., "optimize code"
96
+ 2. **Too complex**: Single workflow should not exceed 100 lines
97
+ 3. **Duplicate functionality**: Check if similar workflow exists first
98
+
99
+ ## Naming Conventions
100
+
101
+ | Workflow Type | Prefix | Example |
102
+ |--------------|--------|---------|
103
+ | Session Start | `start` | `start` |
104
+ | Pre-development | `before-` | `before-dev` |
105
+ | Check | `check-` | `check` |
106
+ | Record | `record-` | `record-session` |
107
+ | Generate | `generate-` | `generate-api-doc` |
108
+ | Update | `update-` | `update-changelog` |
109
+ | Other | Verb-first | `review-code`, `sync-data` |
110
+
111
+ ## Example
112
+
113
+ ### Input
114
+ ```
115
+ /trellis-create-command review-pr Check PR code changes against project guidelines
116
+ ```
117
+
118
+ ### Generated Workflow Content
119
+ ```markdown
120
+ # PR Code Review
121
+
122
+ Check current PR code changes against project guidelines.
123
+
124
+ ## Steps
125
+
126
+ ### 1. Get Changed Files
127
+ ```bash
128
+ git diff main...HEAD --name-only
129
+ ```
130
+
131
+ ### 2. Categorized Review
132
+
133
+ **Frontend files** (`apps/web/`):
134
+ - Reference `.trellis/spec/frontend/index.md`
135
+
136
+ **Backend files** (`packages/api/`):
137
+ - Reference `.trellis/spec/backend/index.md`
138
+
139
+ ### 3. Output Review Report
140
+
141
+ Format:
142
+
143
+ ## PR Review Report
144
+
145
+ ### Changed Files
146
+ - [file list]
147
+
148
+ ### Check Results
149
+ - [OK] Passed items
150
+ - [X] Issues found
151
+
152
+ ### Suggestions
153
+ - [improvement suggestions]
154
+ ```
@@ -0,0 +1,147 @@
1
+ ---
2
+ description: Review work completeness before submitting or committing changes.
3
+ ---
4
+
5
+ # Finish Work - Pre-Commit Checklist
6
+
7
+ Before submitting or committing, use this checklist to ensure work completeness.
8
+
9
+ **Timing**: After code is written and tested, before commit
10
+
11
+ ---
12
+
13
+ ## Checklist
14
+
15
+ ### 1. Code Quality
16
+
17
+ ```bash
18
+ # Must pass
19
+ pnpm lint
20
+ pnpm type-check
21
+ pnpm test
22
+ ```
23
+
24
+ - [ ] `pnpm lint` passes with 0 errors?
25
+ - [ ] `pnpm type-check` passes with no type errors?
26
+ - [ ] Tests pass?
27
+ - [ ] No `console.log` statements (use logger)?
28
+ - [ ] No non-null assertions (the `x!` operator)?
29
+ - [ ] No `any` types?
30
+
31
+ ### 2. Code-Spec Sync
32
+
33
+ **Code-Spec Docs**:
34
+ - [ ] Does `.trellis/spec/backend/` need updates?
35
+ - New patterns, new modules, new conventions
36
+ - [ ] Does `.trellis/spec/frontend/` need updates?
37
+ - New components, new hooks, new patterns
38
+ - [ ] Does `.trellis/spec/guides/` need updates?
39
+ - New cross-layer flows, lessons from bugs
40
+
41
+ **Key Question**:
42
+ > "If I fixed a bug or discovered something non-obvious, should I document it so future me (or others) won't hit the same issue?"
43
+
44
+ If YES -> Update the relevant code-spec doc.
45
+
46
+ ### 2.5. Code-Spec Hard Block (Infra/Cross-Layer)
47
+
48
+ If this change touches infra or cross-layer contracts, this is a blocking checklist:
49
+
50
+ - [ ] Spec content is executable (real signatures/contracts), not principle-only text
51
+ - [ ] Includes file path + command/API name + payload field names
52
+ - [ ] Includes validation and error matrix
53
+ - [ ] Includes Good/Base/Bad cases
54
+ - [ ] Includes required tests and assertion points
55
+
56
+ **Block Rule**:
57
+ If infra/cross-layer changed but the related spec is still abstract, do NOT finish. Run `/trellis-update-spec` manually first.
58
+
59
+ ### 3. API Changes
60
+
61
+ If you modified API endpoints:
62
+
63
+ - [ ] Input schema updated?
64
+ - [ ] Output schema updated?
65
+ - [ ] API documentation updated?
66
+ - [ ] Client code updated to match?
67
+
68
+ ### 4. Database Changes
69
+
70
+ If you modified database schema:
71
+
72
+ - [ ] Migration file created?
73
+ - [ ] Schema file updated?
74
+ - [ ] Related queries updated?
75
+ - [ ] Seed data updated (if applicable)?
76
+
77
+ ### 5. Cross-Layer Verification
78
+
79
+ If the change spans multiple layers:
80
+
81
+ - [ ] Data flows correctly through all layers?
82
+ - [ ] Error handling works at each boundary?
83
+ - [ ] Types are consistent across layers?
84
+ - [ ] Loading states handled?
85
+
86
+ ### 6. Manual Testing
87
+
88
+ - [ ] Feature works in browser/app?
89
+ - [ ] Edge cases tested?
90
+ - [ ] Error states tested?
91
+ - [ ] Works after page refresh?
92
+
93
+ ---
94
+
95
+ ## Quick Check Flow
96
+
97
+ ```bash
98
+ # 1. Code checks
99
+ pnpm lint && pnpm type-check
100
+
101
+ # 2. View changes
102
+ git status
103
+ git diff --name-only
104
+
105
+ # 3. Based on changed files, check relevant items above
106
+ ```
107
+
108
+ ---
109
+
110
+ ## Common Oversights
111
+
112
+ | Oversight | Consequence | Check |
113
+ |-----------|-------------|-------|
114
+ | Code-spec docs not updated | Others don't know the change | Check .trellis/spec/ |
115
+ | Spec text is abstract only | Easy regressions in infra/cross-layer changes | Require signature/contract/matrix/cases/tests |
116
+ | Migration not created | Schema out of sync | Check db/migrations/ |
117
+ | Types not synced | Runtime errors | Check shared types |
118
+ | Tests not updated | False confidence | Run full test suite |
119
+ | Console.log left in | Noisy production logs | Search for console.log |
120
+
121
+ ---
122
+
123
+ ## Relationship to Other Commands
124
+
125
+ ```
126
+ Development Flow:
127
+ Write code -> Test -> /trellis-finish-work -> git commit -> /trellis-record-session
128
+ | |
129
+ Ensure completeness Record progress
130
+
131
+ Debug Flow:
132
+ Hit bug -> Fix -> /trellis-break-loop -> Knowledge capture
133
+ |
134
+ Deep analysis
135
+ ```
136
+
137
+ - `/trellis-finish-work` - Check work completeness (this workflow)
138
+ - `/trellis-record-session` - Record session and commits
139
+ - `/trellis-break-loop` - Deep analysis after debugging
140
+
141
+ ---
142
+
143
+ ## Core Principle
144
+
145
+ > **Delivery includes not just code, but also documentation, verification, and knowledge capture.**
146
+
147
+ Complete work = Code + Docs + Tests + Verification
@@ -0,0 +1,220 @@
1
+ ---
2
+ description: Adapt and integrate a reusable skill into your project's development guidelines.
3
+ ---
4
+
5
+ # Integrate Skill into Project Guidelines
6
+
7
+ ## Usage
8
+
9
+ ```
10
+ /trellis-integrate-skill <skill-name>
11
+ ```
12
+
13
+ **Examples**:
14
+ ```
15
+ /trellis-integrate-skill frontend-design
16
+ /trellis-integrate-skill mcp-builder
17
+ ```
18
+
19
+ ## Core Principle
20
+
21
+ > [!] **Important**: The goal of skill integration is to update **development guidelines**, not to generate project code directly.
22
+ >
23
+ > - Guidelines content -> Write to `.trellis/spec/{target}/doc.md`
24
+ > - Code examples -> Place in `.trellis/spec/{target}/examples/skills/<skill-name>/`
25
+ > - Example files -> Use `.template` suffix (e.g., `component.tsx.template`) to avoid IDE errors
26
+ >
27
+ > Where `{target}` is `frontend` or `backend`, determined by skill type.
28
+
29
+ ## Execution Steps
30
+
31
+ ### 1. Read Skill Content
32
+
33
+ Locate and read the skill instructions:
34
+
35
+ - Skill list in `AGENTS.md` (when available in current context)
36
+ - Local repository path to the skill
37
+ - Source repository or documentation link shared by the user
38
+
39
+ If the skill cannot be found, ask the user for the source path or repository.
40
+
41
+ ### 2. Determine Integration Target
42
+
43
+ Based on skill type, determine which guidelines to update:
44
+
45
+ | Skill Category | Integration Target |
46
+ |----------------|-------------------|
47
+ | UI/Frontend (`frontend-design`, `web-artifacts-builder`) | `.trellis/spec/frontend/` |
48
+ | Backend/API (`mcp-builder`) | `.trellis/spec/backend/` |
49
+ | Documentation (`doc-coauthoring`, `docx`, `pdf`) | `.trellis/` or create dedicated guidelines |
50
+ | Testing (`webapp-testing`) | `.trellis/spec/frontend/` (E2E) |
51
+
52
+ ### 3. Analyze Skill Content
53
+
54
+ Extract from the skill:
55
+ - **Core concepts**: How the skill works and key concepts
56
+ - **Best practices**: Recommended approaches
57
+ - **Code patterns**: Reusable code templates
58
+ - **Caveats**: Common issues and solutions
59
+
60
+ ### 4. Execute Integration
61
+
62
+ #### 4.1 Update Guidelines Document
63
+
64
+ Add a new section to the corresponding `doc.md`:
65
+
66
+ ```markdown
67
+ @@@section:skill-<skill-name>
68
+ ## # <Skill Name> Integration Guide
69
+
70
+ ### Overview
71
+ [Core functionality and use cases of the skill]
72
+
73
+ ### Project Adaptation
74
+ [How to use this skill in the current project]
75
+
76
+ ### Usage Steps
77
+ 1. [Step 1]
78
+ 2. [Step 2]
79
+
80
+ ### Caveats
81
+ - [Project-specific constraints]
82
+ - [Differences from default behavior]
83
+
84
+ ### Reference Examples
85
+ See `examples/skills/<skill-name>/`
86
+
87
+ @@@/section:skill-<skill-name>
88
+ ```
89
+
90
+ #### 4.2 Create Examples Directory (if code examples exist)
91
+
92
+ ```bash
93
+ # Directory structure ({target} = frontend or backend)
94
+ .trellis/spec/{target}/
95
+ |-- doc.md # Add skill-related section
96
+ |-- index.md # Update index
97
+ +-- examples/
98
+ +-- skills/
99
+ +-- <skill-name>/
100
+ |-- README.md # Example documentation
101
+ |-- example-1.ts.template # Code example (use .template suffix)
102
+ +-- example-2.tsx.template
103
+ ```
104
+
105
+ **File naming conventions**:
106
+ - Code files: `<name>.<ext>.template` (e.g., `component.tsx.template`)
107
+ - Config files: `<name>.config.template` (e.g., `tailwind.config.template`)
108
+ - Documentation: `README.md` (normal suffix)
109
+
110
+ #### 4.3 Update Index File
111
+
112
+ Add to the Quick Navigation table in `index.md`:
113
+
114
+ ```markdown
115
+ | <Skill-related task> | <Section name> | `skill-<skill-name>` |
116
+ ```
117
+
118
+ ### 5. Generate Integration Report
119
+
120
+ ---
121
+
122
+ ## Skill Integration Report: `<skill-name>`
123
+
124
+ ### # Overview
125
+ - **Skill description**: [Functionality description]
126
+ - **Integration target**: `.trellis/spec/{target}/`
127
+
128
+ ### # Tech Stack Compatibility
129
+
130
+ | Skill Requirement | Project Status | Compatibility |
131
+ |-------------------|----------------|---------------|
132
+ | [Tech 1] | [Project tech] | [OK]/[!]/[X] |
133
+
134
+ ### # Integration Locations
135
+
136
+ | Type | Path |
137
+ |------|------|
138
+ | Guidelines doc | `.trellis/spec/{target}/doc.md` (section: `skill-<name>`) |
139
+ | Code examples | `.trellis/spec/{target}/examples/skills/<name>/` |
140
+ | Index update | `.trellis/spec/{target}/index.md` |
141
+
142
+ > `{target}` = `frontend` or `backend`
143
+
144
+ ### # Dependencies (if needed)
145
+
146
+ ```bash
147
+ # Install required dependencies (adjust for your package manager)
148
+ npm install <package>
149
+ # or
150
+ pnpm add <package>
151
+ # or
152
+ yarn add <package>
153
+ ```
154
+
155
+ ### [OK] Completed Changes
156
+
157
+ - [ ] Added `@@@section:skill-<name>` section to `doc.md`
158
+ - [ ] Added index entry to `index.md`
159
+ - [ ] Created example files in `examples/skills/<name>/`
160
+ - [ ] Example files use `.template` suffix
161
+
162
+ ### # Related Guidelines
163
+
164
+ - [Existing related section IDs]
165
+
166
+ ---
167
+
168
+ ## 6. Optional: Create Shortcut Workflow
169
+
170
+ If this skill is frequently used, create a shortcut workflow:
171
+
172
+ ```bash
173
+ /trellis-create-command use-<skill-name> Use <skill-name> skill following project guidelines
174
+ ```
175
+
176
+ ## Common Skill Integration Reference
177
+
178
+ | Skill | Integration Target | Examples Directory |
179
+ |-------|-------------------|-------------------|
180
+ | `frontend-design` | `frontend` | `examples/skills/frontend-design/` |
181
+ | `mcp-builder` | `backend` | `examples/skills/mcp-builder/` |
182
+ | `webapp-testing` | `frontend` | `examples/skills/webapp-testing/` |
183
+ | `doc-coauthoring` | `.trellis/` | N/A (documentation workflow only) |
184
+
185
+ ## Example: Integrating `mcp-builder` Skill
186
+
187
+ ### Directory Structure
188
+
189
+ ```
190
+ .trellis/spec/backend/
191
+ |-- doc.md # Add MCP section
192
+ |-- index.md # Add index entry
193
+ +-- examples/
194
+ +-- skills/
195
+ +-- mcp-builder/
196
+ |-- README.md
197
+ |-- server.ts.template
198
+ |-- tools.ts.template
199
+ +-- types.ts.template
200
+ ```
201
+
202
+ ### New Section in doc.md
203
+
204
+ ```markdown
205
+ @@@section:skill-mcp-builder
206
+ ## # MCP Server Development Guide
207
+
208
+ ### Overview
209
+ Create LLM-callable tool services using MCP (Model Context Protocol).
210
+
211
+ ### Project Adaptation
212
+ - Place services in a dedicated directory
213
+ - Follow existing TypeScript and type definition conventions
214
+ - Use project's logging system
215
+
216
+ ### Reference Examples
217
+ See `examples/skills/mcp-builder/`
218
+
219
+ @@@/section:skill-mcp-builder
220
+ ```