@blxzer/cursor-trellis 0.1.0 → 0.1.2

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 (285) hide show
  1. package/README.md +124 -5
  2. package/README.zh-CN.md +170 -0
  3. package/dist/cli/index.d.ts.map +1 -1
  4. package/dist/cli/index.js +1 -33
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/commands/init.d.ts +0 -13
  7. package/dist/commands/init.d.ts.map +1 -1
  8. package/dist/commands/init.js +7 -14
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/uninstall.d.ts.map +1 -1
  11. package/dist/commands/uninstall.js +3 -32
  12. package/dist/commands/uninstall.js.map +1 -1
  13. package/dist/commands/update.d.ts.map +1 -1
  14. package/dist/commands/update.js +7 -84
  15. package/dist/commands/update.js.map +1 -1
  16. package/dist/configurators/index.d.ts +7 -8
  17. package/dist/configurators/index.d.ts.map +1 -1
  18. package/dist/configurators/index.js +11 -236
  19. package/dist/configurators/index.js.map +1 -1
  20. package/dist/configurators/workflow.d.ts.map +1 -1
  21. package/dist/configurators/workflow.js +5 -1
  22. package/dist/configurators/workflow.js.map +1 -1
  23. package/dist/migrations/manifests/0.1.1.json +9 -0
  24. package/dist/migrations/manifests/0.1.2.json +9 -0
  25. package/dist/templates/common/bundled-skills/smart-search-cli/SKILL.md +3 -3
  26. package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +4 -2
  27. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +8 -15
  28. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-hooks.md +7 -7
  29. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +18 -21
  30. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +2 -2
  31. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +10 -7
  32. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/overview.md +4 -4
  33. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/agents.md +20 -31
  34. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/hooks-and-settings.md +20 -31
  35. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/overview.md +24 -40
  36. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/platform-map.md +28 -59
  37. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +12 -28
  38. package/dist/templates/common/bundled-skills/trellis-skill-creator/references/trellis-skill-locations.md +2 -2
  39. package/dist/templates/cursor/hooks.json +6 -0
  40. package/dist/templates/cursor/rules/retrieval-routing.mdc +57 -0
  41. package/dist/templates/extract.d.ts +0 -14
  42. package/dist/templates/extract.d.ts.map +1 -1
  43. package/dist/templates/extract.js +0 -34
  44. package/dist/templates/extract.js.map +1 -1
  45. package/dist/templates/markdown/agents.md +2 -6
  46. package/dist/templates/markdown/index.d.ts +1 -0
  47. package/dist/templates/markdown/index.d.ts.map +1 -1
  48. package/dist/templates/markdown/index.js +1 -0
  49. package/dist/templates/markdown/index.js.map +1 -1
  50. package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +41 -0
  51. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +14 -14
  52. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +8 -20
  53. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +15 -14
  54. package/dist/templates/markdown/spec/guides/cursor-context-injection-guide.md.txt +4 -2
  55. package/dist/templates/markdown/spec/guides/cursor-semantic-compliance.md.txt +49 -0
  56. package/dist/templates/markdown/spec/guides/cursor-subagent-policy.md.txt +18 -5
  57. package/dist/templates/markdown/spec/guides/retrieval-daily-guide.md.txt +68 -20
  58. package/dist/templates/shared-hooks/index.d.ts +1 -1
  59. package/dist/templates/shared-hooks/index.d.ts.map +1 -1
  60. package/dist/templates/shared-hooks/index.js +1 -0
  61. package/dist/templates/shared-hooks/index.js.map +1 -1
  62. package/dist/templates/shared-hooks/inject-retrieval-plan.py +163 -0
  63. package/dist/templates/shared-hooks/inject-subagent-context.py +31 -567
  64. package/dist/templates/shared-hooks/research-end-retrieval-pack.py +2 -11
  65. package/dist/templates/trellis/index.d.ts +12 -0
  66. package/dist/templates/trellis/index.d.ts.map +1 -1
  67. package/dist/templates/trellis/index.js +24 -0
  68. package/dist/templates/trellis/index.js.map +1 -1
  69. package/dist/templates/trellis/scripts/aggregate_retrieval_telemetry.py +342 -0
  70. package/dist/templates/trellis/scripts/batch_plan_envelope.py +105 -0
  71. package/dist/templates/trellis/scripts/codegraph_session_smoke.py +76 -0
  72. package/dist/templates/trellis/scripts/common/active_task.py +116 -147
  73. package/dist/templates/trellis/scripts/common/cli_adapter.py +34 -710
  74. package/dist/templates/trellis/scripts/common/codebase_retrieval_router.py +49 -106
  75. package/dist/templates/trellis/scripts/common/git_context.py +17 -2
  76. package/dist/templates/trellis/scripts/common/project_file_stats.py +91 -0
  77. package/dist/templates/trellis/scripts/common/retrieval_adapter_metadata.py +9 -11
  78. package/dist/templates/trellis/scripts/common/retrieval_agent_instructions.py +313 -0
  79. package/dist/templates/trellis/scripts/common/retrieval_pack.py +0 -6
  80. package/dist/templates/trellis/scripts/common/retrieval_pack_context.py +0 -4
  81. package/dist/templates/trellis/scripts/common/retrieval_plan_gate.py +76 -0
  82. package/dist/templates/trellis/scripts/common/retrieval_result_ranking.py +253 -0
  83. package/dist/templates/trellis/scripts/common/retrieval_tool_classification.py +157 -0
  84. package/dist/templates/trellis/scripts/common/semantic_plan_gate.py +52 -0
  85. package/dist/templates/trellis/scripts/common/subagent_dispatch.py +527 -0
  86. package/dist/templates/trellis/scripts/common/task_store.py +32 -0
  87. package/dist/templates/trellis/scripts/common/workflow_phase.py +3 -24
  88. package/dist/templates/trellis/scripts/rank_retrieval_candidates.py +80 -0
  89. package/dist/templates/trellis/scripts/route_codebase_retrieval.py +38 -11
  90. package/dist/templates/trellis/scripts/score_evidence.py +112 -0
  91. package/dist/templates/trellis/scripts/task.py +26 -0
  92. package/dist/templates/trellis/workflow.md +844 -960
  93. package/dist/types/ai-tools.d.ts +13 -16
  94. package/dist/types/ai-tools.d.ts.map +1 -1
  95. package/dist/types/ai-tools.js +5 -238
  96. package/dist/types/ai-tools.js.map +1 -1
  97. package/dist/utils/codebase-retrieval-router.d.ts +1 -8
  98. package/dist/utils/codebase-retrieval-router.d.ts.map +1 -1
  99. package/dist/utils/codebase-retrieval-router.js +39 -180
  100. package/dist/utils/codebase-retrieval-router.js.map +1 -1
  101. package/dist/utils/project-capabilities.d.ts.map +1 -1
  102. package/dist/utils/project-capabilities.js +10 -24
  103. package/dist/utils/project-capabilities.js.map +1 -1
  104. package/dist/utils/retrieval-agent-instructions.d.ts +14 -0
  105. package/dist/utils/retrieval-agent-instructions.d.ts.map +1 -0
  106. package/dist/utils/retrieval-agent-instructions.js +221 -0
  107. package/dist/utils/retrieval-agent-instructions.js.map +1 -0
  108. package/dist/utils/retrieval-execution-telemetry.d.ts +43 -85
  109. package/dist/utils/retrieval-execution-telemetry.d.ts.map +1 -1
  110. package/dist/utils/retrieval-execution-telemetry.js +289 -22
  111. package/dist/utils/retrieval-execution-telemetry.js.map +1 -1
  112. package/dist/utils/retrieval-result-ranking.js +1 -1
  113. package/dist/utils/retrieval-result-ranking.js.map +1 -1
  114. package/dist/utils/retrieval-tool-classification.d.ts +32 -0
  115. package/dist/utils/retrieval-tool-classification.d.ts.map +1 -0
  116. package/dist/utils/retrieval-tool-classification.js +113 -0
  117. package/dist/utils/retrieval-tool-classification.js.map +1 -0
  118. package/dist/utils/uninstall-scrubbers.d.ts +0 -36
  119. package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
  120. package/dist/utils/uninstall-scrubbers.js +0 -184
  121. package/dist/utils/uninstall-scrubbers.js.map +1 -1
  122. package/package.json +4 -2
  123. package/dist/commands/mem.d.ts +0 -30
  124. package/dist/commands/mem.d.ts.map +0 -1
  125. package/dist/commands/mem.js +0 -424
  126. package/dist/commands/mem.js.map +0 -1
  127. package/dist/configurators/antigravity.d.ts +0 -7
  128. package/dist/configurators/antigravity.d.ts.map +0 -1
  129. package/dist/configurators/antigravity.js +0 -19
  130. package/dist/configurators/antigravity.js.map +0 -1
  131. package/dist/configurators/claude.d.ts +0 -9
  132. package/dist/configurators/claude.d.ts.map +0 -1
  133. package/dist/configurators/claude.js +0 -72
  134. package/dist/configurators/claude.js.map +0 -1
  135. package/dist/configurators/codebuddy.d.ts +0 -10
  136. package/dist/configurators/codebuddy.d.ts.map +0 -1
  137. package/dist/configurators/codebuddy.js +0 -30
  138. package/dist/configurators/codebuddy.js.map +0 -1
  139. package/dist/configurators/codex.d.ts +0 -8
  140. package/dist/configurators/codex.d.ts.map +0 -1
  141. package/dist/configurators/codex.js +0 -87
  142. package/dist/configurators/codex.js.map +0 -1
  143. package/dist/configurators/copilot.d.ts +0 -10
  144. package/dist/configurators/copilot.d.ts.map +0 -1
  145. package/dist/configurators/copilot.js +0 -51
  146. package/dist/configurators/copilot.js.map +0 -1
  147. package/dist/configurators/droid.d.ts +0 -10
  148. package/dist/configurators/droid.d.ts.map +0 -1
  149. package/dist/configurators/droid.js +0 -30
  150. package/dist/configurators/droid.js.map +0 -1
  151. package/dist/configurators/gemini.d.ts +0 -16
  152. package/dist/configurators/gemini.d.ts.map +0 -1
  153. package/dist/configurators/gemini.js +0 -38
  154. package/dist/configurators/gemini.js.map +0 -1
  155. package/dist/configurators/kilo.d.ts +0 -7
  156. package/dist/configurators/kilo.d.ts.map +0 -1
  157. package/dist/configurators/kilo.js +0 -19
  158. package/dist/configurators/kilo.js.map +0 -1
  159. package/dist/configurators/kiro.d.ts +0 -8
  160. package/dist/configurators/kiro.d.ts.map +0 -1
  161. package/dist/configurators/kiro.js +0 -24
  162. package/dist/configurators/kiro.js.map +0 -1
  163. package/dist/configurators/opencode.d.ts +0 -14
  164. package/dist/configurators/opencode.d.ts.map +0 -1
  165. package/dist/configurators/opencode.js +0 -96
  166. package/dist/configurators/opencode.js.map +0 -1
  167. package/dist/configurators/pi.d.ts +0 -3
  168. package/dist/configurators/pi.d.ts.map +0 -1
  169. package/dist/configurators/pi.js +0 -45
  170. package/dist/configurators/pi.js.map +0 -1
  171. package/dist/configurators/qoder.d.ts +0 -11
  172. package/dist/configurators/qoder.d.ts.map +0 -1
  173. package/dist/configurators/qoder.js +0 -31
  174. package/dist/configurators/qoder.js.map +0 -1
  175. package/dist/configurators/windsurf.d.ts +0 -7
  176. package/dist/configurators/windsurf.d.ts.map +0 -1
  177. package/dist/configurators/windsurf.js +0 -19
  178. package/dist/configurators/windsurf.js.map +0 -1
  179. package/dist/templates/claude/agents/trellis-check.md +0 -124
  180. package/dist/templates/claude/agents/trellis-implement.md +0 -110
  181. package/dist/templates/claude/agents/trellis-research.md +0 -137
  182. package/dist/templates/claude/index.d.ts +0 -22
  183. package/dist/templates/claude/index.d.ts.map +0 -1
  184. package/dist/templates/claude/index.js +0 -46
  185. package/dist/templates/claude/index.js.map +0 -1
  186. package/dist/templates/claude/settings.json +0 -84
  187. package/dist/templates/codebuddy/agents/trellis-check.md +0 -115
  188. package/dist/templates/codebuddy/agents/trellis-implement.md +0 -110
  189. package/dist/templates/codebuddy/agents/trellis-research.md +0 -137
  190. package/dist/templates/codebuddy/index.d.ts +0 -15
  191. package/dist/templates/codebuddy/index.d.ts.map +0 -1
  192. package/dist/templates/codebuddy/index.js +0 -15
  193. package/dist/templates/codebuddy/index.js.map +0 -1
  194. package/dist/templates/codebuddy/settings.json +0 -70
  195. package/dist/templates/codex/agents/trellis-check.toml +0 -67
  196. package/dist/templates/codex/agents/trellis-implement.toml +0 -40
  197. package/dist/templates/codex/agents/trellis-research.toml +0 -73
  198. package/dist/templates/codex/config.toml +0 -28
  199. package/dist/templates/codex/hooks/session-start.py +0 -575
  200. package/dist/templates/codex/hooks.json +0 -15
  201. package/dist/templates/codex/index.d.ts +0 -39
  202. package/dist/templates/codex/index.d.ts.map +0 -1
  203. package/dist/templates/codex/index.js +0 -85
  204. package/dist/templates/codex/index.js.map +0 -1
  205. package/dist/templates/codex/skills/before-dev/SKILL.md +0 -40
  206. package/dist/templates/codex/skills/brainstorm/SKILL.md +0 -112
  207. package/dist/templates/codex/skills/break-loop/SKILL.md +0 -130
  208. package/dist/templates/codex/skills/check/SKILL.md +0 -98
  209. package/dist/templates/codex/skills/check-cross-layer/SKILL.md +0 -158
  210. package/dist/templates/codex/skills/create-command/SKILL.md +0 -101
  211. package/dist/templates/codex/skills/finish-work/SKILL.md +0 -90
  212. package/dist/templates/codex/skills/improve-ut/SKILL.md +0 -69
  213. package/dist/templates/codex/skills/integrate-skill/SKILL.md +0 -221
  214. package/dist/templates/codex/skills/onboard/SKILL.md +0 -363
  215. package/dist/templates/codex/skills/record-session/SKILL.md +0 -67
  216. package/dist/templates/codex/skills/start/SKILL.md +0 -66
  217. package/dist/templates/codex/skills/update-spec/SKILL.md +0 -335
  218. package/dist/templates/copilot/hooks/session-start.py +0 -557
  219. package/dist/templates/copilot/hooks.json +0 -19
  220. package/dist/templates/copilot/index.d.ts +0 -23
  221. package/dist/templates/copilot/index.d.ts.map +0 -1
  222. package/dist/templates/copilot/index.js +0 -54
  223. package/dist/templates/copilot/index.js.map +0 -1
  224. package/dist/templates/copilot/prompts/before-dev.prompt.md +0 -39
  225. package/dist/templates/copilot/prompts/brainstorm.prompt.md +0 -111
  226. package/dist/templates/copilot/prompts/break-loop.prompt.md +0 -129
  227. package/dist/templates/copilot/prompts/check-cross-layer.prompt.md +0 -157
  228. package/dist/templates/copilot/prompts/check.prompt.md +0 -97
  229. package/dist/templates/copilot/prompts/create-command.prompt.md +0 -116
  230. package/dist/templates/copilot/prompts/finish-work.prompt.md +0 -99
  231. package/dist/templates/copilot/prompts/integrate-skill.prompt.md +0 -223
  232. package/dist/templates/copilot/prompts/onboard.prompt.md +0 -362
  233. package/dist/templates/copilot/prompts/parallel.prompt.md +0 -204
  234. package/dist/templates/copilot/prompts/record-session.prompt.md +0 -66
  235. package/dist/templates/copilot/prompts/start.prompt.md +0 -63
  236. package/dist/templates/copilot/prompts/update-spec.prompt.md +0 -358
  237. package/dist/templates/droid/droids/trellis-check.md +0 -107
  238. package/dist/templates/droid/droids/trellis-implement.md +0 -102
  239. package/dist/templates/droid/droids/trellis-research.md +0 -137
  240. package/dist/templates/droid/index.d.ts +0 -15
  241. package/dist/templates/droid/index.d.ts.map +0 -1
  242. package/dist/templates/droid/index.js +0 -15
  243. package/dist/templates/droid/index.js.map +0 -1
  244. package/dist/templates/droid/settings.json +0 -70
  245. package/dist/templates/gemini/agents/trellis-check.md +0 -107
  246. package/dist/templates/gemini/agents/trellis-implement.md +0 -102
  247. package/dist/templates/gemini/agents/trellis-research.md +0 -136
  248. package/dist/templates/gemini/index.d.ts +0 -13
  249. package/dist/templates/gemini/index.d.ts.map +0 -1
  250. package/dist/templates/gemini/index.js +0 -13
  251. package/dist/templates/gemini/index.js.map +0 -1
  252. package/dist/templates/gemini/settings.json +0 -28
  253. package/dist/templates/kiro/agents/trellis-check.json +0 -26
  254. package/dist/templates/kiro/agents/trellis-implement.json +0 -26
  255. package/dist/templates/kiro/agents/trellis-research.json +0 -30
  256. package/dist/templates/kiro/index.d.ts +0 -18
  257. package/dist/templates/kiro/index.d.ts.map +0 -1
  258. package/dist/templates/kiro/index.js +0 -18
  259. package/dist/templates/kiro/index.js.map +0 -1
  260. package/dist/templates/opencode/agents/trellis-check.md +0 -122
  261. package/dist/templates/opencode/agents/trellis-implement.md +0 -118
  262. package/dist/templates/opencode/agents/trellis-research.md +0 -145
  263. package/dist/templates/opencode/lib/session-utils.js +0 -667
  264. package/dist/templates/opencode/lib/trellis-context.js +0 -336
  265. package/dist/templates/opencode/package.json +0 -5
  266. package/dist/templates/opencode/plugins/inject-subagent-context.js +0 -495
  267. package/dist/templates/opencode/plugins/inject-workflow-state.js +0 -159
  268. package/dist/templates/opencode/plugins/session-start.js +0 -101
  269. package/dist/templates/pi/agents/trellis-check.md +0 -37
  270. package/dist/templates/pi/agents/trellis-implement.md +0 -42
  271. package/dist/templates/pi/agents/trellis-research.md +0 -25
  272. package/dist/templates/pi/extensions/trellis/index.ts.txt +0 -1600
  273. package/dist/templates/pi/index.d.ts +0 -5
  274. package/dist/templates/pi/index.d.ts.map +0 -1
  275. package/dist/templates/pi/index.js +0 -12
  276. package/dist/templates/pi/index.js.map +0 -1
  277. package/dist/templates/pi/settings.json +0 -12
  278. package/dist/templates/qoder/agents/trellis-check.md +0 -108
  279. package/dist/templates/qoder/agents/trellis-implement.md +0 -103
  280. package/dist/templates/qoder/agents/trellis-research.md +0 -137
  281. package/dist/templates/qoder/index.d.ts +0 -15
  282. package/dist/templates/qoder/index.d.ts.map +0 -1
  283. package/dist/templates/qoder/index.js +0 -15
  284. package/dist/templates/qoder/index.js.map +0 -1
  285. package/dist/templates/qoder/settings.json +0 -47
@@ -1,7 +0,0 @@
1
- /**
2
- * Configure Windsurf:
3
- * - workflows/ — start + finish-work as slash commands
4
- * - skills/trellis-{name}/SKILL.md — other 5 as auto-triggered skills
5
- */
6
- export declare function configureWindsurf(cwd: string): Promise<void>;
7
- //# sourceMappingURL=windsurf.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"windsurf.d.ts","sourceRoot":"","sources":["../../src/configurators/windsurf.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBlE"}
@@ -1,19 +0,0 @@
1
- import path from "node:path";
2
- import { AI_TOOLS } from "../types/ai-tools.js";
3
- import { ensureDir, writeFile } from "../utils/file-writer.js";
4
- import { resolveBundledSkills, resolveCommands, resolveSkills, writeSkills, } from "./shared.js";
5
- /**
6
- * Configure Windsurf:
7
- * - workflows/ — start + finish-work as slash commands
8
- * - skills/trellis-{name}/SKILL.md — other 5 as auto-triggered skills
9
- */
10
- export async function configureWindsurf(cwd) {
11
- const ctx = AI_TOOLS.windsurf.templateContext;
12
- const workflowsDir = path.join(cwd, ".windsurf", "workflows");
13
- ensureDir(workflowsDir);
14
- for (const cmd of resolveCommands(ctx)) {
15
- await writeFile(path.join(workflowsDir, `trellis-${cmd.name}.md`), cmd.content);
16
- }
17
- await writeSkills(path.join(cwd, ".windsurf", "skills"), resolveSkills(ctx), resolveBundledSkills(ctx));
18
- }
19
- //# sourceMappingURL=windsurf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"windsurf.js","sourceRoot":"","sources":["../../src/configurators/windsurf.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IACjD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC;IAE9C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9D,SAAS,CAAC,YAAY,CAAC,CAAC;IACxB,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,CAAC,IAAI,KAAK,CAAC,EACjD,GAAG,CAAC,OAAO,CACZ,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,CACf,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,EACrC,aAAa,CAAC,GAAG,CAAC,EAClB,oBAAoB,CAAC,GAAG,CAAC,CAC1B,CAAC;AACJ,CAAC"}
@@ -1,124 +0,0 @@
1
- ---
2
- name: trellis-check
3
- description: |
4
- Code quality check expert. Reviews code changes against specs and self-fixes issues.
5
- tools: Read, Write, Edit, Bash, Glob, Grep, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa
6
- ---
7
- # Check Agent
8
-
9
- You are the Check Agent in the Trellis workflow.
10
-
11
- ## Recursion Guard
12
-
13
- You are already the `trellis-check` sub-agent that the main session dispatched. Do the review and fixes directly.
14
-
15
- - Do NOT spawn another `trellis-check` or `trellis-implement` sub-agent.
16
- - If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.
17
- - Only the main session may dispatch Trellis implement/check agents. If more implementation work is needed, report that recommendation instead of spawning.
18
-
19
- ## Trellis Context Loading Protocol
20
-
21
- Look for the `<!-- trellis-hook-injected -->` marker in your input above.
22
-
23
- - **If the marker is present**: task artifacts, spec, and research files have already been auto-loaded for you above. Proceed with the check work directly.
24
- - **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the selected task path from your dispatch prompt's first line `Selected task: <path>`, then Read `<task-path>/check.jsonl`, each listed file, `<task-path>/prd.md`, `<task-path>/design.md` if present, and `<task-path>/implement.md` if present before doing the work.
25
-
26
- ## Context
27
-
28
- Before checking, read:
29
- - `.trellis/spec/` - Development guidelines
30
- - Task `prd.md` - Requirements document
31
- - Task `design.md` - Technical design (if exists)
32
- - Task `implement.md` - Execution plan (if exists)
33
- - Pre-commit checklist for quality standards
34
-
35
- ## Core Responsibilities
36
-
37
- 1. **Get code changes** - Use git diff to get uncommitted code
38
- 2. **Review task artifacts** - Check changes against prd.md, design.md if present, and implement.md if present
39
- 3. **Check against specs** - Verify code follows guidelines
40
- 4. **Self-fix** - Fix issues yourself, not just report them
41
- 5. **Run verification** - typecheck and lint
42
-
43
- ## Quality Gate Adapter
44
-
45
- - Reviewer id: `claude-code`.
46
- - When `implement.md` quality_gates requires a reviewer gate for the current transition, write human-readable evidence in `verify.md` before recording the machine-checkable gate result. Parent/Child integration evidence may also belong in Parent `task-map.md`.
47
- - Record non-baseline gates with `python ./.trellis/scripts/task.py record-gate <task> --transition <transition> --gate <gate> --result PASS --reviewer claude-code --evidence verify.md`.
48
- - For FAIL, add `--root-cause implementation-defect|contract-changing-defect|validation-environment-blocker` and `--issue-fingerprint <short-stable-id>`. Route implementation defects back to Execution, contract-changing defects to Planning, and validation blockers to Verification / Review.
49
- - For SKIPPED, use only explicit user approval: `--skip-approved-by user --skip-reason <reason>`.
50
- - Never record `baseline-check`; the CLI owns it. Do not pass review bodies, logs, screenshots, or long issue lists through `record-gate` arguments.
51
-
52
- ## Important
53
-
54
- **Fix issues yourself**, don't just report them.
55
-
56
- You have write and edit tools, you can modify code directly.
57
-
58
- ---
59
-
60
- ## Workflow
61
-
62
- ### Step 1: Get Changes
63
-
64
- ```bash
65
- git diff --name-only # List changed files
66
- git diff # View specific changes
67
- ```
68
-
69
- ### Step 2: Check Against Specs and Task Artifacts
70
-
71
- Read the task's prd.md, design.md if present, and implement.md if present, then read relevant specs in `.trellis/spec/` to check code:
72
-
73
- - Does it satisfy the task requirements
74
- - Does it follow the technical design and implementation plan when present
75
- - Does it follow directory structure conventions
76
- - Does it follow naming conventions
77
- - Does it follow code patterns
78
- - Are there missing types
79
- - Are there potential bugs
80
-
81
- ### Step 3: Self-Fix
82
-
83
- After finding issues:
84
-
85
- 1. Fix the issue directly (use edit tool)
86
- 2. Record what was fixed
87
- 3. Continue checking other issues
88
-
89
- ### Step 4: Run Verification
90
-
91
- Run project's lint and typecheck commands to verify changes.
92
-
93
- If failed, fix issues and re-run.
94
-
95
- ---
96
-
97
- ## Report Format
98
-
99
- ```markdown
100
- ## Self-Check Complete
101
-
102
- ### Files Checked
103
-
104
- - src/components/Feature.tsx
105
- - src/hooks/useFeature.ts
106
-
107
- ### Issues Found and Fixed
108
-
109
- 1. `<file>:<line>` - <what was fixed>
110
- 2. `<file>:<line>` - <what was fixed>
111
-
112
- ### Issues Not Fixed
113
-
114
- (If there are issues that cannot be self-fixed, list them here with reasons)
115
-
116
- ### Verification Results
117
-
118
- - TypeCheck: Passed
119
- - Lint: Passed
120
-
121
- ### Summary
122
-
123
- Checked X files, found Y issues, all fixed.
124
- ```
@@ -1,110 +0,0 @@
1
- ---
2
- name: trellis-implement
3
- description: |
4
- Code implementation expert. Understands specs and requirements, then implements features. No git commit allowed.
5
- tools: Read, Write, Edit, Bash, Glob, Grep, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa
6
- ---
7
- # Implement Agent
8
-
9
- You are the Implement Agent in the Trellis workflow.
10
-
11
- ## Recursion Guard
12
-
13
- You are already the `trellis-implement` sub-agent that the main session dispatched. Do the implementation work directly.
14
-
15
- - Do NOT spawn another `trellis-implement` or `trellis-check` sub-agent.
16
- - If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.
17
- - Only the main session may dispatch Trellis implement/check agents. If more parallel work is needed, report that recommendation instead of spawning.
18
-
19
- ## Trellis Context Loading Protocol
20
-
21
- Look for the `<!-- trellis-hook-injected -->` marker in your input above.
22
-
23
- - **If the marker is present**: prd / spec / research files have already been auto-loaded for you above. Proceed with the implementation work directly.
24
- - **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the selected task path from your dispatch prompt's first line `Selected task: <path>`, then Read `<task-path>/implement.jsonl`, each listed file, `<task-path>/prd.md`, `<task-path>/design.md` if present, and `<task-path>/implement.md` if present before doing the work.
25
-
26
- ## Context
27
-
28
- Before implementing, read:
29
- - `.trellis/workflow.md` - Project workflow
30
- - `.trellis/spec/` - Development guidelines
31
- - Task `prd.md` - Requirements document
32
- - Task `design.md` - Technical design (if exists)
33
- - Task `implement.md` - Execution plan (if exists)
34
-
35
- ## Core Responsibilities
36
-
37
- 1. **Understand specs** - Read relevant spec files in `.trellis/spec/`
38
- 2. **Understand task artifacts** - Read prd.md, design.md if present, and implement.md if present
39
- 3. **Implement features** - Write code following specs and task artifacts
40
- 4. **Self-check** - Ensure code quality
41
- 5. **Report results** - Report completion status
42
-
43
- ## Forbidden Operations
44
-
45
- **Do NOT execute these git commands:**
46
-
47
- - `git commit`
48
- - `git push`
49
- - `git merge`
50
-
51
- ---
52
-
53
- ## Workflow
54
-
55
- ### 1. Understand Specs
56
-
57
- Read relevant specs based on task type:
58
-
59
- - Spec layers: `.trellis/spec/<package>/<layer>/`
60
- - Shared guides: `.trellis/spec/guides/`
61
-
62
- ### 2. Understand Requirements
63
-
64
- Read the task's prd.md, design.md if present, and implement.md if present:
65
-
66
- - What are the core requirements
67
- - Key points of technical design
68
- - Implementation order, validation commands, and rollback points
69
-
70
- ### 3. Implement Features
71
-
72
- - Write code following specs and task artifacts
73
- - Follow existing code patterns
74
- - Only do what's required, no over-engineering
75
-
76
- ### 4. Verify
77
-
78
- Run project's lint and typecheck commands to verify changes.
79
-
80
- ---
81
-
82
- ## Report Format
83
-
84
- ```markdown
85
- ## Implementation Complete
86
-
87
- ### Files Modified
88
-
89
- - `src/components/Feature.tsx` - New component
90
- - `src/hooks/useFeature.ts` - New hook
91
-
92
- ### Implementation Summary
93
-
94
- 1. Created Feature component...
95
- 2. Added useFeature hook...
96
-
97
- ### Verification Results
98
-
99
- - Lint: Passed
100
- - TypeCheck: Passed
101
- ```
102
-
103
- ---
104
-
105
- ## Code Standards
106
-
107
- - Follow existing code patterns
108
- - Don't add unnecessary abstractions
109
- - Only do what's required, no over-engineering
110
- - Keep code readable
@@ -1,137 +0,0 @@
1
- ---
2
- name: trellis-research
3
- description: |
4
- Code and tech search expert. Finds files, patterns, and tech solutions, and PERSISTS every finding to the selected task's research/ directory. No code modifications outside that directory.
5
- tools: Read, Write, Glob, Grep, Bash, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa, Skill, mcp__chrome-devtools__*
6
- ---
7
- # Research Agent
8
-
9
- You are the Research Agent in the Trellis workflow.
10
-
11
- ## Core Principle
12
-
13
- **You do one thing: find, explain, and PERSIST information.**
14
-
15
- Conversations get compacted; files don't. Every research output MUST end up as a file under `{TASK_DIR}/research/`. Returning findings only through the chat reply is a failure — the caller cannot read them next session.
16
-
17
- ---
18
-
19
- ## Core Responsibilities
20
-
21
- 1. **Internal Search** — locate files/components, understand code logic, discover patterns (Glob, Grep, Read)
22
- 2. **External Search** — library docs, API references, best practices (web search)
23
- 3. **Persist** — write each research topic to `{TASK_DIR}/research/<topic>.md`
24
- 4. **Report** — return file paths + one-line summaries to the main agent (not full content)
25
-
26
- ---
27
-
28
- ## Workflow
29
-
30
- ### Step 1: Resolve Selected Task
31
-
32
- Run `python3 ./.trellis/scripts/task.py selected --source` → selected task path. If no task is selected, ask the user where to write output; do NOT guess.
33
-
34
- Ensure `{TASK_DIR}/research/` exists:
35
-
36
- ```bash
37
- mkdir -p <TASK_DIR>/research
38
- ```
39
-
40
- ### Step 2: Understand Search Request
41
-
42
- Classify: internal / external / mixed. Determine scope (global / specific directory) and expected shape (file list / pattern notes / tech comparison).
43
-
44
- ### Step 3: Execute Search
45
-
46
- Run independent searches in parallel (Glob + Grep + web) for efficiency.
47
-
48
- ### Step 4: Persist Each Topic
49
-
50
- For each distinct research topic, Write a markdown file at `{TASK_DIR}/research/<topic-slug>.md`. Use the File Format below.
51
-
52
- ### Step 5: Report to Main Agent
53
-
54
- Reply with ONLY:
55
-
56
- - List of files written (paths relative to repo root)
57
- - One-line summary per file
58
- - Any critical caveats that the main agent needs to know right now
59
-
60
- Do NOT paste full research content into the reply. The files are the contract.
61
-
62
- ---
63
-
64
- ## Scope Limits (Strict)
65
-
66
- ### Write ALLOWED
67
-
68
- - `{TASK_DIR}/research/*.md` — your own output
69
- - Creating `{TASK_DIR}/research/` if it doesn't exist (via `mkdir -p`)
70
-
71
- ### Write FORBIDDEN
72
-
73
- - Code files (`src/`, `lib/`, …)
74
- - Spec files (`.trellis/spec/`) — main agent should use `update-spec` skill instead
75
- - `.trellis/scripts/`, `.trellis/workflow.md`, platform config (`.claude/`, `.cursor/`, etc.)
76
- - Other task directories
77
- - Any git operation (commit / push / branch / merge)
78
-
79
- If the user asks you to edit code, decline and suggest spawning `implement` instead.
80
-
81
- ---
82
-
83
- ## File Format
84
-
85
- Each `{TASK_DIR}/research/<topic>.md` should follow:
86
-
87
- ```markdown
88
- # Research: <topic>
89
-
90
- - **Query**: <original query>
91
- - **Scope**: <internal / external / mixed>
92
- - **Date**: <YYYY-MM-DD>
93
-
94
- ## Findings
95
-
96
- ### Files Found
97
-
98
- | File Path | Description |
99
- |---|---|
100
- | `src/services/xxx.ts` | Main implementation |
101
- | `src/types/xxx.ts` | Type definitions |
102
-
103
- ### Code Patterns
104
-
105
- <describe patterns, cite file:line>
106
-
107
- ### External References
108
-
109
- - [Library X docs](url) — <why relevant, version constraints>
110
-
111
- ### Related Specs
112
-
113
- - `.trellis/spec/xxx.md` — <description>
114
-
115
- ## Caveats / Not Found
116
-
117
- <anything incomplete or uncertain>
118
- ```
119
-
120
- ---
121
-
122
- ## Guidelines
123
-
124
- ### DO
125
-
126
- - Provide specific file paths and line numbers
127
- - Quote actual code snippets
128
- - Persist every topic to its own file
129
- - Return file paths in your reply, not the full content
130
- - Mark "not found" explicitly when searches come up empty
131
-
132
- ### DON'T
133
-
134
- - Don't write code or modify files outside `{TASK_DIR}/research/`
135
- - Don't guess uncertain info
136
- - Don't paste full research text into the reply (files are the deliverable)
137
- - Don't propose improvements or critique implementation (that's not your role)
@@ -1,22 +0,0 @@
1
- /**
2
- * Claude Code templates
3
- *
4
- * Directory structure:
5
- * claude/
6
- * ├── agents/ # Sub-agent definitions
7
- * └── settings.json # Settings configuration
8
- *
9
- * Hooks come from shared-hooks/ (unified with other platforms).
10
- */
11
- export declare const settingsTemplate: string;
12
- export interface AgentTemplate {
13
- name: string;
14
- content: string;
15
- }
16
- export interface SettingsTemplate {
17
- targetPath: string;
18
- content: string;
19
- }
20
- export declare function getAllAgents(): AgentTemplate[];
21
- export declare function getSettingsTemplate(): SettingsTemplate;
22
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/claude/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqBH,eAAO,MAAM,gBAAgB,QAAgC,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAa9C;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,CAKtD"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Claude Code templates
3
- *
4
- * Directory structure:
5
- * claude/
6
- * ├── agents/ # Sub-agent definitions
7
- * └── settings.json # Settings configuration
8
- *
9
- * Hooks come from shared-hooks/ (unified with other platforms).
10
- */
11
- import { readdirSync, readFileSync } from "node:fs";
12
- import { dirname, join } from "node:path";
13
- import { fileURLToPath } from "node:url";
14
- const __filename = fileURLToPath(import.meta.url);
15
- const __dirname = dirname(__filename);
16
- function readTemplate(relativePath) {
17
- return readFileSync(join(__dirname, relativePath), "utf-8");
18
- }
19
- function listFiles(dir) {
20
- try {
21
- return readdirSync(join(__dirname, dir));
22
- }
23
- catch {
24
- return [];
25
- }
26
- }
27
- export const settingsTemplate = readTemplate("settings.json");
28
- export function getAllAgents() {
29
- const agents = [];
30
- const files = listFiles("agents");
31
- for (const file of files) {
32
- if (file.endsWith(".md")) {
33
- const name = file.replace(".md", "");
34
- const content = readTemplate(`agents/${file}`);
35
- agents.push({ name, content });
36
- }
37
- }
38
- return agents;
39
- }
40
- export function getSettingsTemplate() {
41
- return {
42
- targetPath: "settings.json",
43
- content: settingsTemplate,
44
- };
45
- }
46
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/claude/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,SAAS,YAAY,CAAC,YAAoB;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAY9D,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,gBAAgB;KAC1B,CAAC;AACJ,CAAC"}
@@ -1,84 +0,0 @@
1
- {
2
- "env": {
3
- "CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR": "1"
4
- },
5
- "hooks": {
6
- "SessionStart": [
7
- {
8
- "matcher": "startup",
9
- "hooks": [
10
- {
11
- "type": "command",
12
- "command": "{{PYTHON_CMD}} .claude/hooks/session-start.py",
13
- "timeout": 30
14
- }
15
- ]
16
- },
17
- {
18
- "matcher": "clear",
19
- "hooks": [
20
- {
21
- "type": "command",
22
- "command": "{{PYTHON_CMD}} .claude/hooks/session-start.py",
23
- "timeout": 30
24
- }
25
- ]
26
- },
27
- {
28
- "matcher": "compact",
29
- "hooks": [
30
- {
31
- "type": "command",
32
- "command": "{{PYTHON_CMD}} .claude/hooks/session-start.py",
33
- "timeout": 30
34
- }
35
- ]
36
- }
37
- ],
38
- "PreToolUse": [
39
- {
40
- "matcher": "Task",
41
- "hooks": [
42
- {
43
- "type": "command",
44
- "command": "{{PYTHON_CMD}} .claude/hooks/inject-subagent-context.py",
45
- "timeout": 30
46
- }
47
- ]
48
- },
49
- {
50
- "matcher": "Agent",
51
- "hooks": [
52
- {
53
- "type": "command",
54
- "command": "{{PYTHON_CMD}} .claude/hooks/inject-subagent-context.py",
55
- "timeout": 30
56
- }
57
- ]
58
- }
59
- ],
60
- "UserPromptSubmit": [
61
- {
62
- "hooks": [
63
- {
64
- "type": "command",
65
- "command": "{{PYTHON_CMD}} .claude/hooks/inject-workflow-state.py",
66
- "timeout": 15
67
- }
68
- ]
69
- }
70
- ],
71
- "Stop": [
72
- {
73
- "hooks": [
74
- {
75
- "type": "command",
76
- "command": "{{PYTHON_CMD}} .claude/hooks/research-end-retrieval-pack.py",
77
- "timeout": 60
78
- }
79
- ]
80
- }
81
- ]
82
- },
83
- "enabledPlugins": {}
84
- }
@@ -1,115 +0,0 @@
1
- ---
2
- name: trellis-check
3
- description: |
4
- Code quality check expert. Reviews code changes against specs and self-fixes issues.
5
- tools: Read, Write, Edit, Bash, Glob, Grep, mcp__exa__web_search_exa, mcp__exa__get_code_context_exa
6
- ---
7
- # Check Agent
8
-
9
- You are the Check Agent in the Trellis workflow.
10
-
11
- ## Recursion Guard
12
-
13
- You are already the `trellis-check` sub-agent that the main session dispatched. Do the review and fixes directly.
14
-
15
- - Do NOT spawn another `trellis-check` or `trellis-implement` sub-agent.
16
- - If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.
17
- - Only the main session may dispatch Trellis implement/check agents. If more implementation work is needed, report that recommendation instead of spawning.
18
-
19
- ## Trellis Context Loading Protocol
20
-
21
- Look for the `<!-- trellis-hook-injected -->` marker in your input above.
22
-
23
- - **If the marker is present**: task artifacts, spec, and research files have already been auto-loaded for you above. Proceed with the check work directly.
24
- - **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the selected task path from your dispatch prompt's first line `Selected task: <path>`, then Read `<task-path>/check.jsonl`, each listed file, `<task-path>/prd.md`, `<task-path>/design.md` if present, and `<task-path>/implement.md` if present before doing the work.
25
-
26
- ## Context
27
-
28
- Before checking, read:
29
- - `.trellis/spec/` - Development guidelines
30
- - Task `prd.md` - Requirements document
31
- - Task `design.md` - Technical design (if exists)
32
- - Task `implement.md` - Execution plan (if exists)
33
- - Pre-commit checklist for quality standards
34
-
35
- ## Core Responsibilities
36
-
37
- 1. **Get code changes** - Use git diff to get uncommitted code
38
- 2. **Review task artifacts** - Check changes against prd.md, design.md if present, and implement.md if present
39
- 3. **Check against specs** - Verify code follows guidelines
40
- 4. **Self-fix** - Fix issues yourself, not just report them
41
- 5. **Run verification** - typecheck and lint
42
-
43
- ## Important
44
-
45
- **Fix issues yourself**, don't just report them.
46
-
47
- You have write and edit tools, you can modify code directly.
48
-
49
- ---
50
-
51
- ## Workflow
52
-
53
- ### Step 1: Get Changes
54
-
55
- ```bash
56
- git diff --name-only # List changed files
57
- git diff # View specific changes
58
- ```
59
-
60
- ### Step 2: Check Against Specs and Task Artifacts
61
-
62
- Read the task's prd.md, design.md if present, and implement.md if present, then read relevant specs in `.trellis/spec/` to check code:
63
-
64
- - Does it satisfy the task requirements
65
- - Does it follow the technical design and implementation plan when present
66
- - Does it follow directory structure conventions
67
- - Does it follow naming conventions
68
- - Does it follow code patterns
69
- - Are there missing types
70
- - Are there potential bugs
71
-
72
- ### Step 3: Self-Fix
73
-
74
- After finding issues:
75
-
76
- 1. Fix the issue directly (use edit tool)
77
- 2. Record what was fixed
78
- 3. Continue checking other issues
79
-
80
- ### Step 4: Run Verification
81
-
82
- Run project's lint and typecheck commands to verify changes.
83
-
84
- If failed, fix issues and re-run.
85
-
86
- ---
87
-
88
- ## Report Format
89
-
90
- ```markdown
91
- ## Self-Check Complete
92
-
93
- ### Files Checked
94
-
95
- - src/components/Feature.tsx
96
- - src/hooks/useFeature.ts
97
-
98
- ### Issues Found and Fixed
99
-
100
- 1. `<file>:<line>` - <what was fixed>
101
- 2. `<file>:<line>` - <what was fixed>
102
-
103
- ### Issues Not Fixed
104
-
105
- (If there are issues that cannot be self-fixed, list them here with reasons)
106
-
107
- ### Verification Results
108
-
109
- - TypeCheck: Passed
110
- - Lint: Passed
111
-
112
- ### Summary
113
-
114
- Checked X files, found Y issues, all fixed.
115
- ```