@blxzer/cursor-trellis 0.2.9 → 0.3.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 (234) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/README.md +85 -19
  3. package/README.zh-CN.md +60 -21
  4. package/bin/smart-search.js +1 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +46 -18
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/commands/capability-smoke.d.ts +24 -0
  9. package/dist/commands/capability-smoke.d.ts.map +1 -0
  10. package/dist/commands/capability-smoke.js +83 -0
  11. package/dist/commands/capability-smoke.js.map +1 -0
  12. package/dist/commands/channel/agent-loader.d.ts +1 -1
  13. package/dist/commands/channel/agent-loader.js +4 -4
  14. package/dist/commands/channel/agent-loader.js.map +1 -1
  15. package/dist/commands/channel/guard.d.ts +2 -2
  16. package/dist/commands/channel/guard.js +3 -3
  17. package/dist/commands/channel/guard.js.map +1 -1
  18. package/dist/commands/channel/index.js +3 -3
  19. package/dist/commands/channel/index.js.map +1 -1
  20. package/dist/commands/channel/list.d.ts +1 -1
  21. package/dist/commands/channel/list.js +1 -1
  22. package/dist/commands/channel/rm.d.ts +1 -1
  23. package/dist/commands/channel/rm.js +1 -1
  24. package/dist/commands/channel/store/lock.d.ts +1 -1
  25. package/dist/commands/channel/store/lock.js +1 -1
  26. package/dist/commands/channel/store/paths.js +1 -1
  27. package/dist/commands/channel/store/paths.js.map +1 -1
  28. package/dist/commands/init.d.ts.map +1 -1
  29. package/dist/commands/init.js +197 -91
  30. package/dist/commands/init.js.map +1 -1
  31. package/dist/commands/uninstall.d.ts +4 -4
  32. package/dist/commands/uninstall.js +12 -12
  33. package/dist/commands/uninstall.js.map +1 -1
  34. package/dist/commands/update.d.ts +7 -2
  35. package/dist/commands/update.d.ts.map +1 -1
  36. package/dist/commands/update.js +161 -61
  37. package/dist/commands/update.js.map +1 -1
  38. package/dist/commands/upgrade.js +2 -2
  39. package/dist/commands/upgrade.js.map +1 -1
  40. package/dist/commands/workflow.d.ts +4 -4
  41. package/dist/commands/workflow.d.ts.map +1 -1
  42. package/dist/commands/workflow.js +10 -9
  43. package/dist/commands/workflow.js.map +1 -1
  44. package/dist/configurators/cursor.d.ts +2 -2
  45. package/dist/configurators/cursor.js +4 -4
  46. package/dist/configurators/cursor.js.map +1 -1
  47. package/dist/configurators/index.d.ts.map +1 -1
  48. package/dist/configurators/index.js +4 -4
  49. package/dist/configurators/index.js.map +1 -1
  50. package/dist/configurators/shared.d.ts +10 -10
  51. package/dist/configurators/shared.d.ts.map +1 -1
  52. package/dist/configurators/shared.js +32 -32
  53. package/dist/configurators/shared.js.map +1 -1
  54. package/dist/configurators/workflow.d.ts +6 -6
  55. package/dist/configurators/workflow.js +1 -1
  56. package/dist/constants/paths.d.ts +24 -24
  57. package/dist/constants/paths.d.ts.map +1 -1
  58. package/dist/constants/paths.js +16 -16
  59. package/dist/constants/paths.js.map +1 -1
  60. package/dist/migrations/manifests/0.2.10.json +374 -0
  61. package/dist/migrations/manifests/0.3.0.json +89 -0
  62. package/dist/migrations/manifests/0.3.1.json +32 -0
  63. package/dist/templates/common/bundled-skills/{trellis-cursor2plus-setup → cstl-cursor2plus-setup}/SKILL.md +15 -14
  64. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/SKILL.md +75 -75
  65. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/add-project-local-conventions.md +19 -19
  66. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-agents.md +8 -8
  67. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-context-loading.md +26 -26
  68. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-hooks.md +9 -9
  69. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-skills-or-commands.md +8 -8
  70. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-spec-structure.md +17 -17
  71. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-task-lifecycle.md +46 -46
  72. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/change-workflow.md +18 -18
  73. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/customize-local/overview.md +55 -55
  74. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/local-architecture/context-injection.md +20 -20
  75. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/generated-files.md +83 -0
  76. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/local-architecture/overview.md +15 -15
  77. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/local-architecture/spec-system.md +12 -12
  78. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/local-architecture/task-system.md +34 -34
  79. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/local-architecture/workflow.md +8 -8
  80. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/local-architecture/workspace-memory.md +19 -19
  81. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/platform-files/agents.md +12 -12
  82. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/platform-files/hooks-and-settings.md +7 -7
  83. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/platform-files/overview.md +9 -9
  84. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/platform-files/platform-map.md +7 -7
  85. package/dist/templates/common/bundled-skills/{trellis-meta → cstl-meta}/references/platform-files/skills-and-commands.md +19 -19
  86. package/dist/templates/common/bundled-skills/{trellis-micro-grill → cstl-micro-grill}/SKILL.md +62 -47
  87. package/dist/templates/common/bundled-skills/{trellis-skill-creator → cstl-skill-creator}/SKILL.md +44 -44
  88. package/dist/templates/common/bundled-skills/{trellis-skill-creator → cstl-skill-creator}/references/authoring-rules.md +97 -97
  89. package/dist/templates/common/bundled-skills/{trellis-skill-creator/references/trellis-skill-locations.md → cstl-skill-creator/references/cstl-skill-locations.md} +52 -52
  90. package/dist/templates/common/bundled-skills/{trellis-skill-creator → cstl-skill-creator}/references/review-checklist.md +47 -47
  91. package/dist/templates/common/bundled-skills/{trellis-spec-bootstrap → cstl-spec-bootstrap}/SKILL.md +6 -6
  92. package/dist/templates/common/bundled-skills/{trellis-spec-bootstrap → cstl-spec-bootstrap}/references/repository-analysis.md +1 -1
  93. package/dist/templates/common/bundled-skills/{trellis-spec-bootstrap → cstl-spec-bootstrap}/references/spec-task-planning.md +3 -3
  94. package/dist/templates/common/bundled-skills/{trellis-spec-bootstrap → cstl-spec-bootstrap}/references/spec-writing.md +1 -1
  95. package/dist/templates/common/commands/continue.md +24 -24
  96. package/dist/templates/common/commands/finish-work.md +5 -5
  97. package/dist/templates/common/commands/start.md +20 -20
  98. package/dist/templates/common/index.d.ts +1 -1
  99. package/dist/templates/common/index.d.ts.map +1 -1
  100. package/dist/templates/common/skills/before-dev.md +4 -4
  101. package/dist/templates/common/skills/brainstorm.md +188 -164
  102. package/dist/templates/common/skills/break-loop.md +3 -3
  103. package/dist/templates/common/skills/check.md +5 -5
  104. package/dist/templates/common/skills/update-spec.md +4 -4
  105. package/dist/templates/cursor/agents/{trellis-check.md → cstl-check.md} +14 -14
  106. package/dist/templates/cursor/agents/{trellis-implement.md → cstl-implement.md} +14 -14
  107. package/dist/templates/cursor/agents/{trellis-research.md → cstl-research.md} +11 -11
  108. package/dist/templates/cursor/commands/cursor2plus-setup.md +15 -15
  109. package/dist/templates/cursor/fixtures/expected-rules.d.ts +1 -1
  110. package/dist/templates/cursor/fixtures/expected-rules.d.ts.map +1 -1
  111. package/dist/templates/cursor/fixtures/expected-rules.js +2 -2
  112. package/dist/templates/cursor/fixtures/expected-rules.js.map +1 -1
  113. package/dist/templates/cursor/rules/{trellis-subagent-dispatch.mdc → cstl-subagent-dispatch.mdc} +4 -4
  114. package/dist/templates/cursor/rules/{trellis-triage.mdc → cstl-triage.mdc} +3 -3
  115. package/dist/templates/cursor/rules/retrieval-routing.mdc +4 -4
  116. package/dist/templates/extract.d.ts +1 -1
  117. package/dist/templates/extract.js +1 -1
  118. package/dist/templates/markdown/agents.md +13 -13
  119. package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +1 -1
  120. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +634 -634
  121. package/dist/templates/markdown/spec/guides/cursor-context-injection-guide.md.txt +5 -5
  122. package/dist/templates/markdown/spec/guides/cursor-semantic-compliance.md.txt +7 -1
  123. package/dist/templates/markdown/spec/guides/cursor-subagent-policy.md.txt +393 -391
  124. package/dist/templates/markdown/spec/guides/durable-learning-decision-guide.md.txt +14 -14
  125. package/dist/templates/markdown/spec/guides/execution-strategy.md.txt +5 -5
  126. package/dist/templates/markdown/spec/guides/index.md.txt +3 -2
  127. package/dist/templates/markdown/spec/guides/retrieval-daily-guide.md.txt +10 -10
  128. package/dist/templates/markdown/workspace-index.md +3 -3
  129. package/dist/templates/markdown/worktree.yaml.txt +1 -1
  130. package/dist/templates/shared-hooks/index.d.ts +2 -2
  131. package/dist/templates/shared-hooks/index.js +2 -2
  132. package/dist/templates/shared-hooks/inject-retrieval-plan.py +3 -3
  133. package/dist/templates/shared-hooks/inject-shell-session-context.py +7 -7
  134. package/dist/templates/shared-hooks/inject-subagent-context.py +4 -4
  135. package/dist/templates/shared-hooks/inject-workflow-state.py +37 -37
  136. package/dist/templates/shared-hooks/research-end-retrieval-pack.py +2 -2
  137. package/dist/templates/shared-hooks/session-start.py +16 -16
  138. package/dist/templates/trellis/config/execution-strategy-rules.json +1 -1
  139. package/dist/templates/trellis/config.yaml +5 -25
  140. package/dist/templates/trellis/index.d.ts +2 -2
  141. package/dist/templates/trellis/index.js +2 -2
  142. package/dist/templates/trellis/local/README.md +15 -13
  143. package/dist/templates/trellis/local/patch_wpelc8.py +7 -7
  144. package/dist/templates/trellis/local/subagent-models.json.example +1 -1
  145. package/dist/templates/trellis/local/trellis-task-models.json.example +3 -3
  146. package/dist/templates/trellis/local/trellis-task-models.json5.example +5 -5
  147. package/dist/templates/trellis/local/trellis_task_models_config.py +6 -6
  148. package/dist/templates/trellis/scripts/add_session.py +20 -20
  149. package/dist/templates/trellis/scripts/common/active_task.py +2 -2
  150. package/dist/templates/trellis/scripts/common/artifact_search.py +587 -587
  151. package/dist/templates/trellis/scripts/common/cli_adapter.py +3 -3
  152. package/dist/templates/trellis/scripts/common/codebase_retrieval_router.py +6 -6
  153. package/dist/templates/trellis/scripts/common/config.py +3 -3
  154. package/dist/templates/trellis/scripts/common/developer.py +2 -2
  155. package/dist/templates/trellis/scripts/common/execution_strategy.py +1 -1
  156. package/dist/templates/trellis/scripts/common/packages_context.py +23 -23
  157. package/dist/templates/trellis/scripts/common/parent_orchestration.py +702 -702
  158. package/dist/templates/trellis/scripts/common/paths.py +107 -107
  159. package/dist/templates/trellis/scripts/common/project_file_stats.py +1 -1
  160. package/dist/templates/trellis/scripts/common/retrieval_agent_instructions.py +1 -1
  161. package/dist/templates/trellis/scripts/common/safe_commit.py +31 -31
  162. package/dist/templates/trellis/scripts/common/session_context.py +1159 -1159
  163. package/dist/templates/trellis/scripts/common/session_memory.py +360 -360
  164. package/dist/templates/trellis/scripts/common/smart_search_evidence.py +514 -514
  165. package/dist/templates/trellis/scripts/common/smart_search_resolve.py +1 -1
  166. package/dist/templates/trellis/scripts/common/subagent_dispatch.py +7 -7
  167. package/dist/templates/trellis/scripts/common/task_context.py +1 -1
  168. package/dist/templates/trellis/scripts/common/task_dashboard.py +140 -140
  169. package/dist/templates/trellis/scripts/common/task_gates.py +2056 -2034
  170. package/dist/templates/trellis/scripts/common/task_store.py +1594 -1594
  171. package/dist/templates/trellis/scripts/common/task_utils.py +3 -3
  172. package/dist/templates/trellis/scripts/common/tasks.py +1 -1
  173. package/dist/templates/trellis/scripts/common/trellis_config.py +3 -3
  174. package/dist/templates/trellis/scripts/common/workflow_phase.py +1 -1
  175. package/dist/templates/trellis/scripts/cursor_retrieval_probe.py +3 -3
  176. package/dist/templates/trellis/scripts/cursor_retrieval_probe_prompt.md +11 -11
  177. package/dist/templates/trellis/scripts/hooks/linear_sync.py +8 -8
  178. package/dist/templates/trellis/scripts/init_developer.py +2 -2
  179. package/dist/templates/trellis/scripts/retrieval_probe_matrix_template.json +4 -4
  180. package/dist/templates/trellis/scripts/route_codebase_retrieval.py +1 -1
  181. package/dist/templates/trellis/scripts/task.py +918 -918
  182. package/dist/templates/trellis/tasks/templates/release-readiness/implement.md +2 -2
  183. package/dist/templates/trellis/workflow.md +805 -805
  184. package/dist/types/ai-tools.d.ts +1 -1
  185. package/dist/types/ai-tools.d.ts.map +1 -1
  186. package/dist/types/ai-tools.js +1 -1
  187. package/dist/types/ai-tools.js.map +1 -1
  188. package/dist/types/migration.d.ts +1 -1
  189. package/dist/types/migration.d.ts.map +1 -1
  190. package/dist/utils/agents-md.d.ts +37 -0
  191. package/dist/utils/agents-md.d.ts.map +1 -0
  192. package/dist/utils/agents-md.js +82 -0
  193. package/dist/utils/agents-md.js.map +1 -0
  194. package/dist/utils/codebase-retrieval-router.js +5 -5
  195. package/dist/utils/codebase-retrieval-router.js.map +1 -1
  196. package/dist/utils/manifest-prune.d.ts +2 -2
  197. package/dist/utils/manifest-prune.js +4 -4
  198. package/dist/utils/manifest-prune.js.map +1 -1
  199. package/dist/utils/mirror-check.d.ts +3 -1
  200. package/dist/utils/mirror-check.d.ts.map +1 -1
  201. package/dist/utils/mirror-check.js +22 -11
  202. package/dist/utils/mirror-check.js.map +1 -1
  203. package/dist/utils/project-capabilities.d.ts +14 -3
  204. package/dist/utils/project-capabilities.d.ts.map +1 -1
  205. package/dist/utils/project-capabilities.js +127 -17
  206. package/dist/utils/project-capabilities.js.map +1 -1
  207. package/dist/utils/readiness.d.ts +10 -0
  208. package/dist/utils/readiness.d.ts.map +1 -1
  209. package/dist/utils/readiness.js +6 -3
  210. package/dist/utils/readiness.js.map +1 -1
  211. package/dist/utils/retrieval-agent-instructions.js +1 -1
  212. package/dist/utils/retrieval-agent-instructions.js.map +1 -1
  213. package/dist/utils/retrieval-execution-telemetry.js +1 -1
  214. package/dist/utils/retrieval-execution-telemetry.js.map +1 -1
  215. package/dist/utils/template-fetcher.js +1 -1
  216. package/dist/utils/template-fetcher.js.map +1 -1
  217. package/dist/utils/template-hash.d.ts +2 -2
  218. package/dist/utils/template-hash.d.ts.map +1 -1
  219. package/dist/utils/template-hash.js +12 -10
  220. package/dist/utils/template-hash.js.map +1 -1
  221. package/dist/utils/workflow-dir.d.ts +13 -0
  222. package/dist/utils/workflow-dir.d.ts.map +1 -0
  223. package/dist/utils/workflow-dir.js +35 -0
  224. package/dist/utils/workflow-dir.js.map +1 -0
  225. package/dist/utils/workflow-ownership.d.ts +36 -0
  226. package/dist/utils/workflow-ownership.d.ts.map +1 -0
  227. package/dist/utils/workflow-ownership.js +137 -0
  228. package/dist/utils/workflow-ownership.js.map +1 -0
  229. package/dist/utils/workflow-resolver.d.ts +1 -1
  230. package/dist/utils/workflow-resolver.js +1 -1
  231. package/package.json +3 -4
  232. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +0 -83
  233. /package/bin/{trellis.js → cstl.js} +0 -0
  234. /package/dist/templates/common/bundled-skills/{trellis-spec-bootstrap → cstl-spec-bootstrap}/references/mcp-setup.md +0 -0
@@ -0,0 +1,374 @@
1
+ {
2
+ "version": "0.2.10",
3
+ "description": "v0.2.10 — Commands-only policy skill residue cleanup. Safe-file-delete migration removes stale .cursor/skills/ directories from projects initialized before the commands-only policy (v0.2.8).",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**@blxzer/cursor-trellis 0.2.10 / @blxzer/cursor-trellis-core 0.2.10**\n\n### Fixed\n- fix(cursor): commands-only policy residue cleanup — safe-file-delete migration removes stale .cursor/skills/ directories (11 skill trees, 44 files) from projects initialized before v0.2.8. Pristine copies auto-removed; user-modified files kept with warning.\n\nRun \trellis update in each project.",
7
+ "migrations": [
8
+ {
9
+ "type": "safe-file-delete",
10
+ "from": ".cursor/skills/smart-search-cli/SKILL.md",
11
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
12
+ "allowed_hashes": [
13
+ "165247f4c2f9d672ab3a2ae04d6a7abc85ec822f56f0089b471b8f2d92e9519b"
14
+ ]
15
+ },
16
+ {
17
+ "type": "safe-file-delete",
18
+ "from": ".cursor/skills/smart-search-cli/agents/openai.yaml",
19
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
20
+ "allowed_hashes": [
21
+ "e12d55b84111ecfbb0f49bf10ecc88fff4ddaebd63da1e9a176eb21e1a3fc7c1"
22
+ ]
23
+ },
24
+ {
25
+ "type": "safe-file-delete",
26
+ "from": ".cursor/skills/smart-search-cli/examples/batch-search.md",
27
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
28
+ "allowed_hashes": [
29
+ "6bfdb0ea8eabee67001a2061090ec726299e06bc897d2c014104bd7d946d1f44"
30
+ ]
31
+ },
32
+ {
33
+ "type": "safe-file-delete",
34
+ "from": ".cursor/skills/smart-search-cli/examples/evidence-gathering.md",
35
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
36
+ "allowed_hashes": [
37
+ "2f327f2726903e7d670d82822a1a779ace0c355c2d0d197ec4e838247234a5e5"
38
+ ]
39
+ },
40
+ {
41
+ "type": "safe-file-delete",
42
+ "from": ".cursor/skills/smart-search-cli/references/cli-contract.md",
43
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
44
+ "allowed_hashes": [
45
+ "8073087190b409ab0f2bf71f9950a44193d4565ca5599c5f83c138de5a52d957"
46
+ ]
47
+ },
48
+ {
49
+ "type": "safe-file-delete",
50
+ "from": ".cursor/skills/trellis-cursor2plus-setup/SKILL.md",
51
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
52
+ "allowed_hashes": [
53
+ "008314d02baa69cdf60091e380e4d0953bb5676966841e0da63ac9ade11c1c03"
54
+ ]
55
+ },
56
+ {
57
+ "type": "safe-file-delete",
58
+ "from": ".cursor/skills/trellis-meta/SKILL.md",
59
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
60
+ "allowed_hashes": [
61
+ "16380026539b840e2cc0bf33f4f7b030343b59ddd5ffe7bce0935fb2c7c09c69"
62
+ ]
63
+ },
64
+ {
65
+ "type": "safe-file-delete",
66
+ "from": ".cursor/skills/trellis-meta/references/customize-local/add-project-local-conventions.md",
67
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
68
+ "allowed_hashes": [
69
+ "cf3dabacc8692219544761acad97036f5b7627978a899b98d7a42bbeb05ede40",
70
+ "e078bc469b90819cf9eb4e574a701c7da8cfbe0a5aa727d80fa8fc0f53b80b86"
71
+ ]
72
+ },
73
+ {
74
+ "type": "safe-file-delete",
75
+ "from": ".cursor/skills/trellis-meta/references/customize-local/change-agents.md",
76
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
77
+ "allowed_hashes": [
78
+ "7f1b4561bbd61cfdb79b56ef3d94e5156aae5d1ec7d6e9779766d065e07e4c7f"
79
+ ]
80
+ },
81
+ {
82
+ "type": "safe-file-delete",
83
+ "from": ".cursor/skills/trellis-meta/references/customize-local/change-context-loading.md",
84
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
85
+ "allowed_hashes": [
86
+ "1a5810ab42d24df1e6355ed3b4d6421e303abe2664b63cc6b1d024411c45e153",
87
+ "bd4dbcb1e0fbd5277995cce66a07206b826f0bd869e1b6586365a55d0a532ddf"
88
+ ]
89
+ },
90
+ {
91
+ "type": "safe-file-delete",
92
+ "from": ".cursor/skills/trellis-meta/references/customize-local/change-hooks.md",
93
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
94
+ "allowed_hashes": [
95
+ "67570b7f3e8185a2051e02459c15699784b4391d4af878585f1531e5fdbb5711",
96
+ "309d130fdcf510fc3da860960bd836daf893fdb3dcc586cba3c602984c420759"
97
+ ]
98
+ },
99
+ {
100
+ "type": "safe-file-delete",
101
+ "from": ".cursor/skills/trellis-meta/references/customize-local/change-skills-or-commands.md",
102
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
103
+ "allowed_hashes": [
104
+ "3b924a033355642452ecf0011749f66cb729b6897ca1386fad1b046dbb5d9ec2"
105
+ ]
106
+ },
107
+ {
108
+ "type": "safe-file-delete",
109
+ "from": ".cursor/skills/trellis-meta/references/customize-local/change-spec-structure.md",
110
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
111
+ "allowed_hashes": [
112
+ "a18b86c7e8788f604f4b925e44617d062ae9ff10cc586205d1de6d32a4f073c5",
113
+ "b64c1570023a90b97c8c1384d2a9f2c689dd986d3e41e4d8123a2ab63631eb72"
114
+ ]
115
+ },
116
+ {
117
+ "type": "safe-file-delete",
118
+ "from": ".cursor/skills/trellis-meta/references/customize-local/change-task-lifecycle.md",
119
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
120
+ "allowed_hashes": [
121
+ "f118e072fcf956c8e83747da0ce682f273c79ecbae5a8f179ea418bc5f7add6f",
122
+ "5b62db27631bddebcb22b74c6b6fdd5714e9d22d5d881a59e33d37608d2614e6"
123
+ ]
124
+ },
125
+ {
126
+ "type": "safe-file-delete",
127
+ "from": ".cursor/skills/trellis-meta/references/customize-local/change-workflow.md",
128
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
129
+ "allowed_hashes": [
130
+ "3471e9de0649d60cd74bbead4bda69b9b5493ba5ba281023efdf0f3302bda048"
131
+ ]
132
+ },
133
+ {
134
+ "type": "safe-file-delete",
135
+ "from": ".cursor/skills/trellis-meta/references/customize-local/overview.md",
136
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
137
+ "allowed_hashes": [
138
+ "cf72a13fd3928f0f753dd2ba382dfff108262446677eb22a308994c28a07934a",
139
+ "de371fd66c0188c8b1419424421071d69bbc764106849aea57b8eb8da055ec0a"
140
+ ]
141
+ },
142
+ {
143
+ "type": "safe-file-delete",
144
+ "from": ".cursor/skills/trellis-meta/references/local-architecture/context-injection.md",
145
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
146
+ "allowed_hashes": [
147
+ "b3c9c6326d1ae13990cbc2abb01444304dfbe81cc84bc42fb0d4608b88460bc7"
148
+ ]
149
+ },
150
+ {
151
+ "type": "safe-file-delete",
152
+ "from": ".cursor/skills/trellis-meta/references/local-architecture/generated-files.md",
153
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
154
+ "allowed_hashes": [
155
+ "427038022103b9a957f125914b57bd1bc3b3856adcd715155bc8efc2195e9c51"
156
+ ]
157
+ },
158
+ {
159
+ "type": "safe-file-delete",
160
+ "from": ".cursor/skills/trellis-meta/references/local-architecture/overview.md",
161
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
162
+ "allowed_hashes": [
163
+ "1ca874f97251774bde70898c1520ee3788fd75ea17955c874071fa43d9f6c2e3"
164
+ ]
165
+ },
166
+ {
167
+ "type": "safe-file-delete",
168
+ "from": ".cursor/skills/trellis-meta/references/local-architecture/spec-system.md",
169
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
170
+ "allowed_hashes": [
171
+ "55f3c95033a3cbed6c06e225187071502d7dcf3f153f4becbec6aa79acc782f5",
172
+ "b8d8a6a0888b44a232c8f50161b9e20e903cf621ad7be4021715ab6fab226f47"
173
+ ]
174
+ },
175
+ {
176
+ "type": "safe-file-delete",
177
+ "from": ".cursor/skills/trellis-meta/references/local-architecture/task-system.md",
178
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
179
+ "allowed_hashes": [
180
+ "99ee49d0869e6c8c5ea3d957ef5cff3c6792e3591812df211d5a68f48bf43aa7",
181
+ "c9265a12eebd3dd4f429a208d7413e3d7302f4a42b0feb784a93aed445a2d705"
182
+ ]
183
+ },
184
+ {
185
+ "type": "safe-file-delete",
186
+ "from": ".cursor/skills/trellis-meta/references/local-architecture/workflow.md",
187
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
188
+ "allowed_hashes": [
189
+ "2bee24b09e71af28ba48bb63fcbb22cb359416809892797d8667ec37afbb73d8"
190
+ ]
191
+ },
192
+ {
193
+ "type": "safe-file-delete",
194
+ "from": ".cursor/skills/trellis-meta/references/local-architecture/workspace-memory.md",
195
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
196
+ "allowed_hashes": [
197
+ "38c83e5374a6d7dad2ea31df92d3c55162ec5b66221d5e5fd8668049ae4f6ba8",
198
+ "e6deecd689aff58a3c6d691abd07d6808c007e6de86c37178706339799145b7d"
199
+ ]
200
+ },
201
+ {
202
+ "type": "safe-file-delete",
203
+ "from": ".cursor/skills/trellis-meta/references/platform-files/agents.md",
204
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
205
+ "allowed_hashes": [
206
+ "ea509a98e3934d15ffb5a6a70b2779ecac24634ec7a4735b3e92a602876cd959",
207
+ "2d4e79a6aacbfb03353b4b6a447a6cd4762ab579c134b6fcc52df20c188753eb"
208
+ ]
209
+ },
210
+ {
211
+ "type": "safe-file-delete",
212
+ "from": ".cursor/skills/trellis-meta/references/platform-files/hooks-and-settings.md",
213
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
214
+ "allowed_hashes": [
215
+ "32b5d4c7e07f735cc795a553f05d3db9efcd9bd370cf3fece42c34397f0616d6"
216
+ ]
217
+ },
218
+ {
219
+ "type": "safe-file-delete",
220
+ "from": ".cursor/skills/trellis-meta/references/platform-files/overview.md",
221
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
222
+ "allowed_hashes": [
223
+ "644dcb54d321411fd4a96d1d075c1d28b76cd4240b827548a65368e3b62f49bf"
224
+ ]
225
+ },
226
+ {
227
+ "type": "safe-file-delete",
228
+ "from": ".cursor/skills/trellis-meta/references/platform-files/platform-map.md",
229
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
230
+ "allowed_hashes": [
231
+ "41f7bb07653c16fb56d0fa3779bb0f794b429943070bb1df4d3abccc6cd2299a"
232
+ ]
233
+ },
234
+ {
235
+ "type": "safe-file-delete",
236
+ "from": ".cursor/skills/trellis-meta/references/platform-files/skills-and-commands.md",
237
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
238
+ "allowed_hashes": [
239
+ "8fe7c5e9bc69ec2daa9afb1af7b8c5e9e7b3eb1f8eac7517cf50aef0ee79822c"
240
+ ]
241
+ },
242
+ {
243
+ "type": "safe-file-delete",
244
+ "from": ".cursor/skills/trellis-micro-grill/SKILL.md",
245
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
246
+ "allowed_hashes": [
247
+ "4b5537ac101e1dbba97da6b6bdc779fc5f9fb7cde9df0d81c34a8944e9aceb0f"
248
+ ]
249
+ },
250
+ {
251
+ "type": "safe-file-delete",
252
+ "from": ".cursor/skills/trellis-skill-creator/SKILL.md",
253
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
254
+ "allowed_hashes": [
255
+ "3390947b96733efff7629ac11cc020d10bfbded379a5adab12eb59c108e75cb4"
256
+ ]
257
+ },
258
+ {
259
+ "type": "safe-file-delete",
260
+ "from": ".cursor/skills/trellis-skill-creator/references/authoring-rules.md",
261
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
262
+ "allowed_hashes": [
263
+ "3a964698d56b34234061f50cb42e5537033f6b9c8d0196981c446f286d112152"
264
+ ]
265
+ },
266
+ {
267
+ "type": "safe-file-delete",
268
+ "from": ".cursor/skills/trellis-skill-creator/references/review-checklist.md",
269
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
270
+ "allowed_hashes": [
271
+ "f44355ff5abe41e251951f2c2adf91989fdb1ed636e24902e0677ef45ef67ded"
272
+ ]
273
+ },
274
+ {
275
+ "type": "safe-file-delete",
276
+ "from": ".cursor/skills/trellis-skill-creator/references/trellis-skill-locations.md",
277
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
278
+ "allowed_hashes": [
279
+ "c53869d29aa96fc00f6ff9a4b0d39e827c40d4ade813d64afc502637063d092e"
280
+ ]
281
+ },
282
+ {
283
+ "type": "safe-file-delete",
284
+ "from": ".cursor/skills/trellis-spec-bootstrap/SKILL.md",
285
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
286
+ "allowed_hashes": [
287
+ "97bfa68c06cebb558eb4464bc1b81f7d2d56040d75baa8de1ee5ad90cca0196a"
288
+ ]
289
+ },
290
+ {
291
+ "type": "safe-file-delete",
292
+ "from": ".cursor/skills/trellis-spec-bootstrap/references/mcp-setup.md",
293
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
294
+ "allowed_hashes": [
295
+ "df542fc8f279edd38046d26a7c8151804b708f57b24d4aa2733cea587a88c65e"
296
+ ]
297
+ },
298
+ {
299
+ "type": "safe-file-delete",
300
+ "from": ".cursor/skills/trellis-spec-bootstrap/references/repository-analysis.md",
301
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
302
+ "allowed_hashes": [
303
+ "0dae98d774f6e34559b9f3442888ac43e3a8af110c37cbefc49ce256986858b6"
304
+ ]
305
+ },
306
+ {
307
+ "type": "safe-file-delete",
308
+ "from": ".cursor/skills/trellis-spec-bootstrap/references/spec-task-planning.md",
309
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
310
+ "allowed_hashes": [
311
+ "ef493d028c3b0807a8a534bb71fb92a68129f273db763ad27ceb464a522e799d"
312
+ ]
313
+ },
314
+ {
315
+ "type": "safe-file-delete",
316
+ "from": ".cursor/skills/trellis-spec-bootstrap/references/spec-writing.md",
317
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
318
+ "allowed_hashes": [
319
+ "e9800fe9ed4a4cd87062ea1829cf2caa8d170ec15e141678a6a30e74c497f47d"
320
+ ]
321
+ },
322
+ {
323
+ "type": "safe-file-delete",
324
+ "from": ".cursor/skills/trellis-before-dev/SKILL.md",
325
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
326
+ "allowed_hashes": [
327
+ "bdead304ba21dbd65387312613f37108f2326eb9c872fbcaa5ff3db6bf45a311",
328
+ "65c37b2c8637b905ebfe607f6b1c45d728741164b3aded8d004f8d98f8792a63"
329
+ ]
330
+ },
331
+ {
332
+ "type": "safe-file-delete",
333
+ "from": ".cursor/skills/trellis-brainstorm/SKILL.md",
334
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
335
+ "allowed_hashes": [
336
+ "9081813d6366a574048d94f70ee8dacf659ddb7deadd78b06f5bd2a15f9b8e52"
337
+ ]
338
+ },
339
+ {
340
+ "type": "safe-file-delete",
341
+ "from": ".cursor/skills/trellis-break-loop/SKILL.md",
342
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
343
+ "allowed_hashes": [
344
+ "b28b4d759b94ea0f38ef4b0bdba2263b72bd18e2ed754cd286aab06d157945c7"
345
+ ]
346
+ },
347
+ {
348
+ "type": "safe-file-delete",
349
+ "from": ".cursor/skills/trellis-check/SKILL.md",
350
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
351
+ "allowed_hashes": [
352
+ "3d7d75a86e4bfd1d1326a394352446b652666050799c7a5f13b6db4c2587c2f3"
353
+ ]
354
+ },
355
+ {
356
+ "type": "safe-file-delete",
357
+ "from": ".cursor/skills/trellis-update-spec/SKILL.md",
358
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
359
+ "allowed_hashes": [
360
+ "1cecff6ec5518e44512daa3ef68aa012dc1fef2447980a9e92d285b913dece8c"
361
+ ]
362
+ },
363
+ {
364
+ "type": "safe-file-delete",
365
+ "from": ".cursor/skills/trellis-finish-work/SKILL.md",
366
+ "description": "Commands-only policy residue cleanup (v0.2.10)",
367
+ "allowed_hashes": [
368
+ "54b3ebec0b0e90b0dec57fffac5833f350fafb43e9d044d9a855fa96de0db947",
369
+ "45ca4f4075bc99f35892ace80d9a7a5413694a8fc0e5f7458088dd9c5db4f8f6"
370
+ ]
371
+ }
372
+ ],
373
+ "notes": "Hash source: templates at commit acd41a92^ (pre-commands-only). Platform-variant hashes cover win32 (python) and linux (python3) where python3 appears in template content. .agents/skills/ (shared layer) is NOT touched — only .cursor/skills/ residue."
374
+ }
@@ -0,0 +1,89 @@
1
+ {
2
+ "version": "0.3.0",
3
+ "description": "v0.3.0 — Rename CLI command from trellis/tl to cstl. Breaking: trellis/tl bin aliases removed; all skill/command/agent/rule names renamed trellis-* -> cstl-*.",
4
+ "breaking": true,
5
+ "recommendMigrate": true,
6
+ "changelog": "**@blxzer/cursor-trellis 0.3.0 / @blxzer/cursor-trellis-core 0.3.0**\n\n### Breaking\n- feat(cli): rename CLI command from `trellis`/`tl` to `cstl`. The `trellis` and `tl` bin aliases are **removed**. Update any aliases, CI scripts, or shell history that reference `trellis` or `tl`.\n- feat(templates): all skill, command, agent, and rule names renamed `trellis-*` -> `cstl-*` (hard cut, no compatibility aliases).\n - `.cursor/commands/trellis-continue.md` -> `cstl-continue.md`\n - `.cursor/commands/trellis-finish-work.md` -> `cstl-finish-work.md`\n - `.cursor/commands/trellis-cursor2plus-setup.md` -> `cstl-cursor2plus-setup.md`\n - `.cursor/rules/trellis-triage.mdc` -> `cstl-triage.mdc`\n - `.cursor/rules/trellis-subagent-dispatch.mdc` -> `cstl-subagent-dispatch.mdc`\n - `.cursor/agents/trellis-research.md` -> `cstl-research.md`\n - `.cursor/agents/trellis-implement.md` -> `cstl-implement.md`\n - `.cursor/agents/trellis-check.md` -> `cstl-check.md`\n - `.cursor/skills/trellis-meta/` -> `cstl-meta/` (and 4 other bundled skill dirs)\n- fix(hooks): `<!-- trellis-hook-injected -->` marker -> `<!-- cstl-hook-injected -->`\n- fix(subagents): `subagent_type` identifiers `trellis-research/implement/check` -> `cstl-research/implement/check` (affects Cursor++ BYOK `trellis-task-models.json5` keys)\n\n### Upgrade\n\n**Manual npm install required** — the old `trellis upgrade` command no longer exists after install.\n\n```bash\nnpm install -g @blxzer/cursor-trellis@latest\ncstl update --migrate\n```\n\nThe `--migrate` flag is REQUIRED to trigger the file renames in your project. Renames are hash-verified; locally modified files are preserved with a warning.",
7
+ "aiInstructions": "When helping a user migrate from 0.2.x to 0.3.0:\n1. **Manual npm install required** — the old `trellis upgrade` command no longer exists after install. Run: `npm install -g @blxzer/cursor-trellis@latest`\n2. **Run `cstl update --migrate`** in each project — the `--migrate` flag is REQUIRED to trigger the rename of `.cursor/commands/trellis-*.md` -> `cstl-*.md`, `.cursor/rules/trellis-*.mdc` -> `cstl-*.mdc`, `.cursor/agents/trellis-*.md` -> `cstl-*.md`, and `.cursor/skills/trellis-*` -> `cstl-*` directories.\n3. Renames are hash-verified; locally modified files are preserved with a warning. The user can manually rename modified files or accept the new template and re-apply their customizations.\n4. Update any personal aliases, CI scripts, or shell history that reference `trellis` or `tl` to use `cstl`.\n5. If the user uses Cursor++ BYOK (`.trellis/local/cursor2plus/`), the `trellis-task-models.json5` keys must be updated from `trellis-research/implement/check` to `cstl-research/implement/check`. Run the `cstl-cursor2plus-setup` skill or edit `~/.ccursor/trellis-task-models.json5` manually then re-run `patch_wpelc8.py --apply`.\n6. The `.trellis/` directory name is UNCHANGED — only the CLI command and skill/command/agent/rule name prefixes changed.",
8
+ "migrations": [
9
+ {
10
+ "type": "rename",
11
+ "from": ".cursor/commands/trellis-continue.md",
12
+ "to": ".cursor/commands/cstl-continue.md",
13
+ "description": "v0.3.0 rename: trellis-continue command -> cstl-continue"
14
+ },
15
+ {
16
+ "type": "rename",
17
+ "from": ".cursor/commands/trellis-finish-work.md",
18
+ "to": ".cursor/commands/cstl-finish-work.md",
19
+ "description": "v0.3.0 rename: trellis-finish-work command -> cstl-finish-work"
20
+ },
21
+ {
22
+ "type": "rename",
23
+ "from": ".cursor/commands/trellis-cursor2plus-setup.md",
24
+ "to": ".cursor/commands/cstl-cursor2plus-setup.md",
25
+ "description": "v0.3.0 rename: trellis-cursor2plus-setup command -> cstl-cursor2plus-setup"
26
+ },
27
+ {
28
+ "type": "rename",
29
+ "from": ".cursor/rules/trellis-triage.mdc",
30
+ "to": ".cursor/rules/cstl-triage.mdc",
31
+ "description": "v0.3.0 rename: trellis-triage rule -> cstl-triage"
32
+ },
33
+ {
34
+ "type": "rename",
35
+ "from": ".cursor/rules/trellis-subagent-dispatch.mdc",
36
+ "to": ".cursor/rules/cstl-subagent-dispatch.mdc",
37
+ "description": "v0.3.0 rename: trellis-subagent-dispatch rule -> cstl-subagent-dispatch"
38
+ },
39
+ {
40
+ "type": "rename",
41
+ "from": ".cursor/agents/trellis-research.md",
42
+ "to": ".cursor/agents/cstl-research.md",
43
+ "description": "v0.3.0 rename: trellis-research agent -> cstl-research"
44
+ },
45
+ {
46
+ "type": "rename",
47
+ "from": ".cursor/agents/trellis-implement.md",
48
+ "to": ".cursor/agents/cstl-implement.md",
49
+ "description": "v0.3.0 rename: trellis-implement agent -> cstl-implement"
50
+ },
51
+ {
52
+ "type": "rename",
53
+ "from": ".cursor/agents/trellis-check.md",
54
+ "to": ".cursor/agents/cstl-check.md",
55
+ "description": "v0.3.0 rename: trellis-check agent -> cstl-check"
56
+ },
57
+ {
58
+ "type": "rename-dir",
59
+ "from": ".cursor/skills/trellis-meta",
60
+ "to": ".cursor/skills/cstl-meta",
61
+ "description": "v0.3.0 rename: trellis-meta skill dir -> cstl-meta"
62
+ },
63
+ {
64
+ "type": "rename-dir",
65
+ "from": ".cursor/skills/trellis-micro-grill",
66
+ "to": ".cursor/skills/cstl-micro-grill",
67
+ "description": "v0.3.0 rename: trellis-micro-grill skill dir -> cstl-micro-grill"
68
+ },
69
+ {
70
+ "type": "rename-dir",
71
+ "from": ".cursor/skills/trellis-skill-creator",
72
+ "to": ".cursor/skills/cstl-skill-creator",
73
+ "description": "v0.3.0 rename: trellis-skill-creator skill dir -> cstl-skill-creator"
74
+ },
75
+ {
76
+ "type": "rename-dir",
77
+ "from": ".cursor/skills/trellis-spec-bootstrap",
78
+ "to": ".cursor/skills/cstl-spec-bootstrap",
79
+ "description": "v0.3.0 rename: trellis-spec-bootstrap skill dir -> cstl-spec-bootstrap"
80
+ },
81
+ {
82
+ "type": "rename-dir",
83
+ "from": ".cursor/skills/trellis-cursor2plus-setup",
84
+ "to": ".cursor/skills/cstl-cursor2plus-setup",
85
+ "description": "v0.3.0 rename: trellis-cursor2plus-setup skill dir -> cstl-cursor2plus-setup"
86
+ }
87
+ ],
88
+ "notes": "Breaking rename: trellis/tl bin aliases removed. Projects initialized before v0.3.0 must run `cstl update --migrate` to rename .cursor/ files. Pre-0.2.8 projects that still have .cursor/skills/trellis-* directories (commands-only policy) will find them missing — those directories were already safe-file-deleted by v0.2.10; the rename-dir migration silently skips missing sources. User-modified files at legacy paths are preserved with a warning; the user must manually rename or re-apply customizations to the new cstl-* paths."
89
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+
3
+ "version": "0.3.1",
4
+
5
+ "description": "v0.3.1 — Isolate cursor-trellis runtime directory: .trellis/ -> .cstl/ for coexistence with upstream Trellis in the same repo.",
6
+
7
+ "breaking": true,
8
+
9
+ "recommendMigrate": true,
10
+
11
+ "changelog": "**@blxzer/cursor-trellis 0.3.1**\n\n### Breaking\n- feat(runtime): cursor-trellis project runtime moves from `.trellis/` to **`.cstl/`** so upstream [mindfold-ai/Trellis](https://github.com/mindfold-ai/Trellis) can keep `.trellis/` in the same repository.\n- feat(agents): AGENTS.md managed block uses `<!-- CSTL:START -->` markers (legacy `TRELLIS:START` upgraded on migrate).\n- chore(channel): `cstl channel` multi-agent CLI is **not registered** (Cursor-only product scope).\n\n### Upgrade\n\n```bash\nnpm install -g @blxzer/cursor-trellis@0.3.1\ncd /path/to/project\ncstl update --migrate\n```\n\n`--migrate` is **required**. History (tasks/archive, workspace, spec, local/cursor2plus) is preserved via directory rename, not delete-recreate.",
12
+
13
+ "aiInstructions": "When helping migrate to 0.3.1:\n1. Run `npm install -g @blxzer/cursor-trellis@0.3.1` then `cstl update --migrate` in each cursor-trellis project.\n2. The migration renames `.trellis/` -> `.cstl/` when cursor-trellis ownership is detected; aborts if upstream-only Trellis is detected without cstl fingerprints.\n3. Update script paths: `python ./.cstl/scripts/...` (not `./.trellis/scripts/`).\n4. AGENTS.md: user content preserved; managed block becomes `CSTL:START/END`.\n5. Upstream `.trellis/` in the same repo (other agents) is left untouched when only adding `.cstl/` via fresh init; rename migrate only applies to cursor-trellis-owned trees.",
14
+
15
+ "migrations": [
16
+
17
+ {
18
+
19
+ "type": "rename-dir",
20
+
21
+ "from": ".trellis",
22
+
23
+ "to": ".cstl",
24
+
25
+ "description": "v0.3.1: cursor-trellis runtime dir isolation (.trellis -> .cstl)"
26
+
27
+ }
28
+
29
+ ]
30
+
31
+ }
32
+
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: trellis-cursor2plus-setup
3
- description: "Guides Cursor++ BYOK users through trellis-task-models.json5 setup at init or on demand. User picks models per Trellis/Cursor Task role; the agent lists providers, writes commented JSON5 with primary/fallback, runs patch_wpelc8.py. Use when trellis init just finished with Cursor selected, user asks to configure subagent models, or providers.json changed."
2
+ name: cstl-cursor2plus-setup
3
+ description: "Guides Cursor++ BYOK users through trellis-task-models.json5 setup at init or on demand. User picks models per Trellis/Cursor Task role; the agent lists providers, writes commented JSON5 with primary/fallback, runs patch_wpelc8.py. Use when cstl init just finished with Cursor selected, user asks to configure subagent models, or providers.json changed."
4
4
  ---
5
5
 
6
6
  # Trellis Cursor++ subagent model setup (agent-led)
@@ -16,31 +16,32 @@ Do **not** ask the user to hand-edit slugs (`model-xxxxx`) unless they prefer it
16
16
 
17
17
  ## When to run
18
18
 
19
- - Right after **`trellis init`** when **Cursor** was selected (CLI prints a follow-up hint).
19
+ - Right after **`cstl init`** when **Cursor** was selected (CLI prints a follow-up hint).
20
20
  - User says they use **Cursor++ BYOK** and want per–subagent-type models.
21
21
  - After Cursor++ **providers** change: re-list, adjust fallbacks, re-patch.
22
+ - After **Cursor or Cursor++ upgrade**: run `python ./.cstl/local/cursor2plus/patch_wpelc8.py --check-compat` before `--apply --approve`; revert first if compat fails.
22
23
 
23
- Native **Cursor API** (no Cursor++): **stop** — frontmatter `model:` works; this skill does not apply. Tell the user: **`.trellis/local/cursor2plus/` is safe to ignore or delete** unless they use Cursor++ BYOK.
24
+ Native **Cursor API** (no Cursor++): **stop** — frontmatter `model:` works; this skill does not apply. Tell the user: **`.cstl/local/cursor2plus/` is safe to ignore or delete** unless they use Cursor++ BYOK.
24
25
 
25
26
  ## Workflow
26
27
 
27
- 1. Confirm Cursor++ data dir exists (`~/.ccursor/providers.json` or user path in `.trellis/local/cursor2plus/config.local.json`).
28
+ 1. Confirm Cursor++ data dir exists (`~/.ccursor/providers.json` or user path in `.cstl/local/cursor2plus/config.local.json`).
28
29
  2. From repo root:
29
30
  ```bash
30
- python ./.trellis/local/cursor2plus/patch_wpelc8.py --list-models
31
- python ./.trellis/local/cursor2plus/patch_wpelc8.py --explain
31
+ python ./.cstl/local/cursor2plus/patch_wpelc8.py --list-models
32
+ python ./.cstl/local/cursor2plus/patch_wpelc8.py --explain
32
33
  ```
33
34
  3. Ask the user **one role at a time** (or one message with a table) which **apiModel/displayName** they want for:
34
- - `trellis-research`, `trellis-implement`, `trellis-check`
35
+ - `cstl-research`, `cstl-implement`, `cstl-check`
35
36
  - optional: `generalPurpose`, `shell`, `best-of-n-runner`
36
37
  For each, ask **fallback** if they care (recommend a second choice from `--list-models`).
37
- 4. Write **`%USERPROFILE%\.ccursor\trellis-task-models.json5`** (or `~/.ccursor/`) using structure from `.trellis/local/trellis-task-models.json5.example`:
38
+ 4. Write **`%USERPROFILE%\.ccursor\trellis-task-models.json5`** (or `~/.ccursor/`) using structure from `.cstl/local/trellis-task-models.json5.example`:
38
39
  - JSON5 with `//` comments above each key explaining the Trellis/Cursor role
39
40
  - `"models": { "<subagent_type>": { "primary": "...", "fallback": "..." } }`
40
41
  5. Run:
41
42
  ```bash
42
- python ./.trellis/local/cursor2plus/patch_wpelc8.py --print-map
43
- python ./.trellis/local/cursor2plus/patch_wpelc8.py --apply --approve
43
+ python ./.cstl/local/cursor2plus/patch_wpelc8.py --print-map
44
+ python ./.cstl/local/cursor2plus/patch_wpelc8.py --apply --approve
44
45
  ```
45
46
  6. Tell user: **Developer: Reload Window** in Cursor (once per patch).
46
47
  7. If stderr shows `WARN ... using fallback`, explain that primary was missing from current `providers.json` and fallback was used — suggest updating primary/fallback names, not panicking.
@@ -56,7 +57,7 @@ Native **Cursor API** (no Cursor++): **stop** — frontmatter `model:` works; th
56
57
 
57
58
  - User catalog: `~/.ccursor/providers.json`
58
59
  - User routing doc: `~/.ccursor/trellis-task-models.json5` (gitignored on machine)
59
- - Project override (optional): `.trellis/local/subagent-models.json5` — same shape, wins on same key
60
- - Patch bundle: `.trellis/local/cursor2plus/`
60
+ - Project override (optional): `.cstl/local/subagent-models.json5` — same shape, wins on same key
61
+ - Patch bundle: `.cstl/local/cursor2plus/`
61
62
 
62
- Policy: `.trellis/spec/guides/cursor-subagent-policy.md` (Method 2.5 / 2.6).
63
+ Policy: `.cstl/spec/guides/cursor-subagent-policy.md` (Method 2.5 / 2.6).