@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
@@ -1,11 +1,11 @@
1
1
  # Local Task System
2
2
 
3
- The Trellis task system is stored entirely under `.trellis/tasks/` in the user project. Each task is a directory containing requirements, context, research, state, and relationship information.
3
+ The Trellis task system is stored entirely under `.cstl/tasks/` in the user project. Each task is a directory containing requirements, context, research, state, and relationship information.
4
4
 
5
5
  ## Task Directory Structure
6
6
 
7
7
  ```text
8
- .trellis/tasks/
8
+ .cstl/tasks/
9
9
  ├── 04-28-example-task/
10
10
  │ ├── task.json
11
11
  │ ├── prd.md
@@ -59,31 +59,31 @@ Use child tasks for deliverables that can move through planning, implementation,
59
59
  Create new children with:
60
60
 
61
61
  ```bash
62
- python3 ./.trellis/scripts/task.py create "<child title>" --slug <child-slug> --parent <parent-dir>
62
+ python3 ./.cstl/scripts/task.py create "<child title>" --slug <child-slug> --parent <parent-dir>
63
63
  ```
64
64
 
65
65
  Link or unlink existing tasks with:
66
66
 
67
67
  ```bash
68
- python3 ./.trellis/scripts/task.py add-subtask <parent-dir> <child-dir>
69
- python3 ./.trellis/scripts/task.py remove-subtask <parent-dir> <child-dir>
68
+ python3 ./.cstl/scripts/task.py add-subtask <parent-dir> <child-dir>
69
+ python3 ./.cstl/scripts/task.py remove-subtask <parent-dir> <child-dir>
70
70
  ```
71
71
 
72
72
  `children` on the parent is a historical list. When a child is archived, Trellis keeps that child name in the parent so progress like `[2/3 done]` remains meaningful after completed children move to `archive/`.
73
73
 
74
74
  The AI should not treat phase numbers as task status. Task progress is mainly determined by `status`, artifact presence (`prd.md`, optional `design.md` / `implement.md`), whether JSONL context is configured for sub-agent mode, and the phase descriptions in `workflow.md`.
75
75
 
76
- ## Selected Task
77
-
78
- The user sees a "selected task," and Trellis stores that selection per live session.
79
-
80
- ```text
81
- .trellis/.runtime/sessions/<context-key>.json
82
- ```
83
-
84
- `task.py select <task>` writes the task path into the runtime session file for the current session. `task.py selected --source` shows the selected task and where it came from. Different AI windows can point to different tasks without overwriting each other.
85
-
86
- If the platform or shell environment has no stable session identity, `task.py select` may be unable to set the selected task. The AI should read the error, inspect the platform hook/session environment, and not fall back to a shared global pointer.
76
+ ## Selected Task
77
+
78
+ The user sees a "selected task," and Trellis stores that selection per live session.
79
+
80
+ ```text
81
+ .cstl/.runtime/sessions/<context-key>.json
82
+ ```
83
+
84
+ `task.py select <task>` writes the task path into the runtime session file for the current session. `task.py selected --source` shows the selected task and where it came from. Different AI windows can point to different tasks without overwriting each other.
85
+
86
+ If the platform or shell environment has no stable session identity, `task.py select` may be unable to set the selected task. The AI should read the error, inspect the platform hook/session environment, and not fall back to a shared global pointer.
87
87
 
88
88
  ## JSONL Context
89
89
 
@@ -92,8 +92,8 @@ If the platform or shell environment has no stable session identity, `task.py se
92
92
  Format:
93
93
 
94
94
  ```jsonl
95
- {"file": ".trellis/spec/cli/backend/index.md", "reason": "Backend conventions"}
96
- {"file": ".trellis/tasks/04-28-example/research/api.md", "reason": "API research"}
95
+ {"file": ".cstl/spec/cli/backend/index.md", "reason": "Backend conventions"}
96
+ {"file": ".cstl/tasks/04-28-example/research/api.md", "reason": "API research"}
97
97
  ```
98
98
 
99
99
  Rules:
@@ -106,17 +106,17 @@ Rules:
106
106
  ## Common Commands
107
107
 
108
108
  ```bash
109
- python3 ./.trellis/scripts/task.py create "<title>" --slug <slug>
110
- python3 ./.trellis/scripts/task.py dashboard
111
- python3 ./.trellis/scripts/task.py select <task>
112
- python3 ./.trellis/scripts/task.py selected --source
113
- python3 ./.trellis/scripts/task.py start-execution <task> --check
114
- python3 ./.trellis/scripts/task.py start-execution <task> --approved
115
- python3 ./.trellis/scripts/task.py add-context <task> implement <file> <reason>
116
- python3 ./.trellis/scripts/task.py validate <task>
117
- python3 ./.trellis/scripts/task.py exit
118
- python3 ./.trellis/scripts/task.py archive <task>
119
- ```
109
+ python3 ./.cstl/scripts/task.py create "<title>" --slug <slug>
110
+ python3 ./.cstl/scripts/task.py dashboard
111
+ python3 ./.cstl/scripts/task.py select <task>
112
+ python3 ./.cstl/scripts/task.py selected --source
113
+ python3 ./.cstl/scripts/task.py start-execution <task> --check
114
+ python3 ./.cstl/scripts/task.py start-execution <task> --approved
115
+ python3 ./.cstl/scripts/task.py add-context <task> implement <file> <reason>
116
+ python3 ./.cstl/scripts/task.py validate <task>
117
+ python3 ./.cstl/scripts/task.py exit
118
+ python3 ./.cstl/scripts/task.py archive <task>
119
+ ```
120
120
 
121
121
  When modifying the task system, the AI should prefer script commands to maintain structure. Edit JSON/Markdown directly only when scripts do not cover the need.
122
122
 
@@ -124,10 +124,10 @@ When modifying the task system, the AI should prefer script commands to maintain
124
124
 
125
125
  | Need | Edit location |
126
126
  | --- | --- |
127
- | Change the default task template | `.trellis/scripts/common/task_store.py` and task creation instructions. |
128
- | Change status semantics | `.trellis/workflow.md`, workflow-state hook logic, and task usage conventions. |
129
- | Add task lifecycle actions | `hooks.after_*` in `.trellis/config.yaml`. |
130
- | Change context rules | Planning artifact guidance in `.trellis/workflow.md` and related platform agent/hook instructions. |
131
- | Change archive policy | `.trellis/scripts/common/task_store.py` / `task_utils.py`. |
127
+ | Change the default task template | `.cstl/scripts/common/task_store.py` and task creation instructions. |
128
+ | Change status semantics | `.cstl/workflow.md`, workflow-state hook logic, and task usage conventions. |
129
+ | Add task lifecycle actions | `hooks.after_*` in `.cstl/config.yaml`. |
130
+ | Change context rules | Planning artifact guidance in `.cstl/workflow.md` and related platform agent/hook instructions. |
131
+ | Change archive policy | `.cstl/scripts/common/task_store.py` / `task_utils.py`. |
132
132
 
133
133
  These are local files in the user project. Do not default to editing Trellis CLI source code unless the user wants to contribute upstream.
@@ -1,10 +1,10 @@
1
1
  # Local Workflow System
2
2
 
3
- `.trellis/workflow.md` is the Trellis workflow source of truth inside the user project. An AI does not need Trellis source code to understand how the current project should move tasks forward; this file is enough.
3
+ `.cstl/workflow.md` is the Trellis workflow source of truth inside the user project. An AI does not need Trellis source code to understand how the current project should move tasks forward; this file is enough.
4
4
 
5
5
  ## File Responsibilities
6
6
 
7
- `.trellis/workflow.md` has three responsibilities:
7
+ `.cstl/workflow.md` has three responsibilities:
8
8
 
9
9
  1. **Explain workflow phases**: Plan, Execute, Finish.
10
10
  2. **Define skill routing**: which skill or agent the AI should use when the user expresses a certain intent.
@@ -24,8 +24,8 @@ Each phase contains numbered steps, such as `1.3 Configure context`. These numbe
24
24
 
25
25
  `workflow.md` separates routing by platform capability:
26
26
 
27
- - Platforms with sub-agent support: dispatch `trellis-implement` by default for implementation and `trellis-check` for checking.
28
- - Platforms without sub-agent support: the main session reads skills such as `trellis-before-dev`, then executes directly.
27
+ - Platforms with sub-agent support: dispatch `cstl-implement` by default for implementation and `cstl-check` for checking.
28
+ - Platforms without sub-agent support: the main session reads skills such as `cstl-before-dev`, then executes directly.
29
29
 
30
30
  When changing local AI behavior, update the routing descriptions in `workflow.md` first, then check whether the corresponding platform skill, command, or agent files need to stay in sync.
31
31
 
@@ -39,11 +39,11 @@ The bottom of `workflow.md` can contain state blocks like this:
39
39
  [/workflow-state:no_task]
40
40
  ```
41
41
 
42
- Hooks choose the right block based on selected task status and inject it into the conversation. Common states include:
42
+ Hooks choose the right block based on selected task status and inject it into the conversation. Common states include:
43
43
 
44
44
  | State | Meaning |
45
45
  | --- | --- |
46
- | `no_task` | The current session has no selected task. |
46
+ | `no_task` | The current session has no selected task. |
47
47
  | `planning` | The task is still in requirements, research, or context configuration. |
48
48
  | `in_progress` | The task has entered implementation and checking. |
49
49
  | `completed` | The task is complete and waiting for wrap-up or archive. |
@@ -62,13 +62,13 @@ Common changes:
62
62
  | Change the wrap-up flow | Update Phase 3 and `finish-work` related descriptions. Note the current split: Phase 3.4 = AI-driven code commits (batched, user-confirmed), Phase 3.5 = `/finish-work` (archive + record session). `/finish-work` refuses to run if the working tree is dirty. |
63
63
  | Change platform differences | Update routing descriptions grouped by platform. |
64
64
 
65
- After editing, make the AI reread `.trellis/workflow.md`; do not assume the flow from the old conversation is still valid.
65
+ After editing, make the AI reread `.cstl/workflow.md`; do not assume the flow from the old conversation is still valid.
66
66
 
67
67
  ## Relationship To Platform Files
68
68
 
69
69
  `workflow.md` is the semantic center of the local workflow, but each platform can also have its own entry files:
70
70
 
71
- - skills, such as `trellis-brainstorm` and `trellis-check`.
71
+ - skills, such as `cstl-brainstorm` and `cstl-check`.
72
72
  - commands/prompts/workflows, such as continue and finish-work.
73
73
  - hooks, such as session-start or workflow-state injection.
74
74
 
@@ -1,11 +1,11 @@
1
1
  # Local Workspace Memory System
2
2
 
3
- `.trellis/workspace/` stores cross-session memory. Its purpose is to let AI and humans understand what happened before across different windows and different days.
3
+ `.cstl/workspace/` stores cross-session memory. Its purpose is to let AI and humans understand what happened before across different windows and different days.
4
4
 
5
5
  ## Directory Structure
6
6
 
7
7
  ```text
8
- .trellis/workspace/
8
+ .cstl/workspace/
9
9
  ├── index.md
10
10
  └── <developer>/
11
11
  ├── index.md
@@ -15,20 +15,20 @@
15
15
 
16
16
  | File | Purpose |
17
17
  | --- | --- |
18
- | `.trellis/.developer` | Current developer identity. |
19
- | `.trellis/workspace/index.md` | Global workspace overview. |
20
- | `.trellis/workspace/<developer>/index.md` | Session index for a developer. |
21
- | `.trellis/workspace/<developer>/journal-N.md` | Session journal. |
18
+ | `.cstl/.developer` | Current developer identity. |
19
+ | `.cstl/workspace/index.md` | Global workspace overview. |
20
+ | `.cstl/workspace/<developer>/index.md` | Session index for a developer. |
21
+ | `.cstl/workspace/<developer>/journal-N.md` | Session journal. |
22
22
 
23
23
  ## Developer Identity
24
24
 
25
25
  Run this the first time:
26
26
 
27
27
  ```bash
28
- python3 ./.trellis/scripts/init_developer.py <name>
28
+ python3 ./.cstl/scripts/init_developer.py <name>
29
29
  ```
30
30
 
31
- This creates `.trellis/.developer` and the corresponding workspace directory. The AI should not change developer identity casually; if the identity is wrong, first confirm who is using the current project.
31
+ This creates `.cstl/.developer` and the corresponding workspace directory. The AI should not change developer identity casually; if the identity is wrong, first confirm who is using the current project.
32
32
 
33
33
  ## Journal
34
34
 
@@ -37,7 +37,7 @@ This creates `.trellis/.developer` and the corresponding workspace directory. Th
37
37
  Common command for recording a session:
38
38
 
39
39
  ```bash
40
- python3 ./.trellis/scripts/add_session.py \
40
+ python3 ./.cstl/scripts/add_session.py \
41
41
  --title "Session title" \
42
42
  --summary "What changed" \
43
43
  --commit "abc1234"
@@ -49,23 +49,23 @@ Planning or review work without a commit can also be recorded by using `--no-com
49
49
 
50
50
  | System | What it stores |
51
51
  | --- | --- |
52
- | `.trellis/tasks/` | Requirements, design, research, and state for a specific task. |
53
- | `.trellis/workspace/` | Work records across tasks and sessions. |
54
- | `.trellis/spec/` | Engineering knowledge preserved as long-term conventions. |
52
+ | `.cstl/tasks/` | Requirements, design, research, and state for a specific task. |
53
+ | `.cstl/workspace/` | Work records across tasks and sessions. |
54
+ | `.cstl/spec/` | Engineering knowledge preserved as long-term conventions. |
55
55
 
56
- If information is only useful for the selected task, put it in the task directory.
57
- If information describes what happened in the current session, put it in the workspace journal.
56
+ If information is only useful for the selected task, put it in the task directory.
57
+ If information describes what happened in the current session, put it in the workspace journal.
58
58
  If information should be followed every time code is written in the future, put it in spec.
59
59
 
60
60
  ## Local Customization Points
61
61
 
62
62
  | Need | Edit location |
63
63
  | --- | --- |
64
- | Change maximum journal lines | `max_journal_lines` in `.trellis/config.yaml`. |
65
- | Change session auto-commit message | `session_commit_message` in `.trellis/config.yaml`. |
66
- | Change session content format | `.trellis/scripts/add_session.py`. |
67
- | Change how workspace is displayed in context | `.trellis/scripts/common/session_context.py`. |
64
+ | Change maximum journal lines | `max_journal_lines` in `.cstl/config.yaml`. |
65
+ | Change session auto-commit message | `session_commit_message` in `.cstl/config.yaml`. |
66
+ | Change session content format | `.cstl/scripts/add_session.py`. |
67
+ | Change how workspace is displayed in context | `.cstl/scripts/common/session_context.py`. |
68
68
 
69
69
  ## AI Usage Rules
70
70
 
71
- The AI should not treat workspace as the only source of truth. When resuming a task, read the selected task first, then use workspace for background. After a task is complete, record important process notes in workspace; if long-term rules emerged, update spec.
71
+ The AI should not treat workspace as the only source of truth. When resuming a task, read the selected task first, then use workspace for background. After a task is complete, record important process notes in workspace; if long-term rules emerged, update spec.
@@ -2,9 +2,9 @@
2
2
 
3
3
  Trellis agent files define specialized roles. Common Trellis agents in a user project are:
4
4
 
5
- - `trellis-research`
6
- - `trellis-implement`
7
- - `trellis-check`
5
+ - `cstl-research`
6
+ - `cstl-implement`
7
+ - `cstl-check`
8
8
 
9
9
  Responsibility boundaries should stay consistent regardless of file format.
10
10
 
@@ -14,9 +14,9 @@ Responsibility boundaries should stay consistent regardless of file format.
14
14
 
15
15
  | Agent | Responsibility |
16
16
  | --- | --- |
17
- | `trellis-research` | Investigate the question and write findings into the selected task's `research/`. |
18
- | `trellis-implement` | Implement against `prd.md`, optional `design.md` / `implement.md`, `implement.jsonl`, and related spec/research. |
19
- | `trellis-check` | Review changes, fix discovered issues, and run necessary checks. |
17
+ | `cstl-research` | Investigate the question and write findings into the selected task's `research/`. |
18
+ | `cstl-implement` | Implement against `prd.md`, optional `design.md` / `implement.md`, `implement.jsonl`, and related spec/research. |
19
+ | `cstl-check` | Review changes, fix discovered issues, and run necessary checks. |
20
20
 
21
21
  Agent files should not become generic chat prompts. They should define input sources, write boundaries, whether code may be changed, and how results are reported.
22
22
 
@@ -24,7 +24,7 @@ Agent files should not become generic chat prompts. They should define input sou
24
24
 
25
25
  | Platform | Agent path |
26
26
  | --- | --- |
27
- | Cursor | `.cursor/agents/trellis-*.md` |
27
+ | Cursor | `.cursor/agents/cstl-*.md` |
28
28
 
29
29
  Agent files are dispatched via the Cursor Task tool, opened as Agent sessions, or invoked inline as Skill forms depending on the entry point. See `cursor-subagent-policy.md.txt` for the full entry-point matrix and Method 1–2.6 model dispatch strategy.
30
30
 
@@ -38,7 +38,7 @@ The Cursor hook (`inject-subagent-context.py`, registered in `.cursor/hooks.json
38
38
 
39
39
  The agent file instructs the agent to read after startup:
40
40
 
41
- - `python3 ./.trellis/scripts/task.py selected --source`
41
+ - `python3 ./.cstl/scripts/task.py selected --source`
42
42
  - `implement.jsonl` or `check.jsonl`
43
43
  - spec/research files referenced by JSONL
44
44
  - selected task `prd.md`
@@ -51,9 +51,9 @@ This mode fits cases where the hook cannot reliably rewrite the sub-agent prompt
51
51
 
52
52
  | User need | Edit location |
53
53
  | --- | --- |
54
- | Implement agent must follow extra restrictions | `.cursor/agents/trellis-implement.md`. |
55
- | Check agent must run project-specific commands | `.cursor/agents/trellis-check.md`, and `.trellis/spec/` if needed. |
56
- | Research agent must output a fixed format | `.cursor/agents/trellis-research.md`. |
54
+ | Implement agent must follow extra restrictions | `.cursor/agents/cstl-implement.md`. |
55
+ | Check agent must run project-specific commands | `.cursor/agents/cstl-check.md`, and `.cstl/spec/` if needed. |
56
+ | Research agent must output a fixed format | `.cursor/agents/cstl-research.md`. |
57
57
  | Agent cannot read task context | Agent prelude in the agent file, or the `inject-subagent-context` hook registration in `.cursor/hooks.json`. |
58
58
  | Add a project-specific agent | `.cursor/agents/` + related skill/command entry point that invokes it. |
59
59
 
@@ -62,7 +62,7 @@ This mode fits cases where the hook cannot reliably rewrite the sub-agent prompt
62
62
  1. **Keep responsibilities single-purpose**. Do not mix research, implement, and check responsibilities into one agent.
63
63
  2. **Specify the read order**. Agents must know to start from the selected task, read jsonl/spec context, then read `prd.md`, `design.md` if present, and `implement.md` if present.
64
64
  3. **Specify write boundaries**. Research usually only writes `research/`; implement can write code; check can fix issues.
65
- 4. **Treat dogfood + published copies consistently**. `.cursor/agents/trellis-*.md` (dogfooded) and `packages/cli/src/templates/cursor/agents/trellis-*.md` (published template) must stay in sync — see `cross-layer-thinking-guide.md.txt` → Cross-Package Template Consistency.
65
+ 4. **Treat dogfood + published copies consistently**. `.cursor/agents/cstl-*.md` (dogfooded) and `packages/cli/src/templates/cursor/agents/cstl-*.md` (published template) must stay in sync — see `cross-layer-thinking-guide.md.txt` → Cross-Package Template Consistency.
66
66
 
67
67
  ## Do Not Default To Editing Upstream Templates
68
68
 
@@ -7,13 +7,13 @@ Hooks/settings are the entry layer that connects Cursor to Trellis. They decide
7
7
  `.cursor/hooks.json` registers:
8
8
 
9
9
  - session-start hook: injects a Trellis overview when a new session starts or context resets (note the Cursor `additional_context` bug #158452 — see `cursor-context-injection-guide.md.txt`).
10
- - workflow-state hook: parses `[workflow-state:STATUS]` blocks from `.trellis/workflow.md` and emits the body matching the selected task `status` on each user input. Parser-only; the script does not embed fallback content.
10
+ - workflow-state hook: parses `[workflow-state:STATUS]` blocks from `.cstl/workflow.md` and emits the body matching the selected task `status` on each user input. Parser-only; the script does not embed fallback content.
11
11
  - sub-agent context hook: injects task context when implementation/check/research agents start.
12
12
  - shell/session bridge: lets shell commands see the same Trellis session identity.
13
13
 
14
14
  > Trellis previously shipped settings/config files for many platforms (`.claude/settings.json`, `.codex/hooks.json`, `.gemini/settings.json`, etc.). The project has converged on **Cursor-only**. New Trellis features ship into `.cursor/hooks.json` + `.cursor/hooks/`.
15
15
 
16
- Whether legacy settings/config files exist in a project depends on which historical `trellis init --<platform>` flags the user previously ran; `trellis update` preserves them.
16
+ Whether legacy settings/config files exist in a project depends on which historical `cstl init --<platform>` flags the user previously ran; `cstl update` preserves them.
17
17
 
18
18
  | Platform | settings/config |
19
19
  | --- | --- |
@@ -24,7 +24,7 @@ Whether legacy settings/config files exist in a project depends on which histori
24
24
  | Script | Purpose |
25
25
  | --- | --- |
26
26
  | `session-start.py` | Generates session-start context. |
27
- | `inject-workflow-state.py` | Parses `[workflow-state:STATUS]` blocks in `.trellis/workflow.md` and emits the body matching the selected task status. Falls back to `Refer to workflow.md for current step.` when no matching block exists. |
27
+ | `inject-workflow-state.py` | Parses `[workflow-state:STATUS]` blocks in `.cstl/workflow.md` and emits the body matching the selected task status. Falls back to `Refer to workflow.md for current step.` when no matching block exists. |
28
28
  | `inject-subagent-context.py` | Injects PRD, JSONL context, and related spec/research into sub-agents. |
29
29
  | `inject-shell-session-context.py` | Lets shell commands inherit Trellis session identity. |
30
30
 
@@ -35,7 +35,7 @@ Cursor exposes sessionStart, preToolUse on Task/Subagent, beforeShellExecution,
35
35
  | User need | Edit location |
36
36
  | --- | --- |
37
37
  | AI should see more/less context in a new session | `.cursor/hooks.json` → `session-start` hook (or `.cursor/rules/*.mdc` for content the model must see every turn — see `cursor-context-injection-guide.md.txt`). |
38
- | Per-turn hint policy should change | `[workflow-state:STATUS]` block in `.trellis/workflow.md`. The hook parses workflow.md verbatim — no script edit required. |
38
+ | Per-turn hint policy should change | `[workflow-state:STATUS]` block in `.cstl/workflow.md`. The hook parses workflow.md verbatim — no script edit required. |
39
39
  | Sub-agent cannot read PRD/spec | `inject-subagent-context.py` hook or agent prelude in `.cursor/agents/*.md`. |
40
40
  | `task.py selected` in shell has no selected task | `inject-shell-session-context.py` hook or environment-variable configuration. |
41
41
  | Disable an automatic injection | The corresponding hook registration in `.cursor/hooks.json`. |
@@ -44,7 +44,7 @@ Cursor exposes sessionStart, preToolUse on Task/Subagent, beforeShellExecution,
44
44
 
45
45
  1. **Settings wire things up; hooks define behavior**. If only the hook changes, Cursor may never call it. If only settings change, behavior may not change.
46
46
  2. **Confirm Cursor event names first**. Cursor's hook event surface has changed between releases; what an older guide calls `UserPromptSubmit` may now be modeled by `beforeSubmitPrompt` instead.
47
- 3. **Hooks read local `.trellis/`, not upstream source**. `.trellis/scripts/` and `.trellis/workflow.md` in the user project are the default targets.
47
+ 3. **Hooks read local `.cstl/`, not upstream source**. `.cstl/scripts/` and `.cstl/workflow.md` in the user project are the default targets.
48
48
  4. **Errors must be visible**. Hook failures should tell the user what was not injected instead of silently leaving the AI without context.
49
49
 
50
50
  ## Troubleshooting Path
@@ -53,6 +53,6 @@ If the user says "AI did not read Trellis state":
53
53
 
54
54
  1. Check whether `.cursor/hooks.json` registers the hook.
55
55
  2. Check whether the hook file exists under `.cursor/hooks/`.
56
- 3. Manually run the `.trellis/scripts/get_context.py` or `task.py selected --source` command that the hook depends on.
57
- 4. Check whether selected task state exists in `.trellis/.runtime/sessions/`.
56
+ 3. Manually run the `.cstl/scripts/get_context.py` or `task.py selected --source` command that the hook depends on.
57
+ 4. Check whether selected task state exists in `.cstl/.runtime/sessions/`.
58
58
  5. Check whether the Cursor shell passes session identity.
@@ -1,15 +1,15 @@
1
1
  # Platform Files Overview
2
2
 
3
- Trellis connects the same local architecture to **Cursor**. `.trellis/` stores the shared runtime; `.cursor/` stores adapter files that define how Cursor enters Trellis.
3
+ Trellis connects the same local architecture to **Cursor**. `.cstl/` stores the shared runtime; `.cursor/` stores adapter files that define how Cursor enters Trellis.
4
4
 
5
5
  When a local AI modifies Trellis, it should distinguish two file categories first:
6
6
 
7
- - **Shared files**: `.trellis/workflow.md`, `.trellis/tasks/`, `.trellis/spec/`, `.trellis/scripts/`.
7
+ - **Shared files**: `.cstl/workflow.md`, `.cstl/tasks/`, `.cstl/spec/`, `.cstl/scripts/`.
8
8
  - **Platform files**: `.cursor/` (settings, hooks, agents, skills, commands, rules).
9
9
 
10
10
  Platform files do not store business state. They let Cursor read Trellis state, call Trellis scripts, and load Trellis skills/agents/hooks.
11
11
 
12
- > **Historical note**: Trellis previously shipped adapter directories for many AI tools (`.claude/`, `.codex/`, `.opencode/`, etc.). The project has converged on **Cursor-only**. Legacy adapter directories may still exist in upgraded projects (`trellis update` preserves user files), but new framework/runtime behavior targets Cursor exclusively.
12
+ > **Historical note**: Trellis previously shipped adapter directories for many AI tools (`.claude/`, `.codex/`, `.opencode/`, etc.). The project has converged on **Cursor-only**. Legacy adapter directories may still exist in upgraded projects (`cstl update` preserves user files), but new framework/runtime behavior targets Cursor exclusively.
13
13
 
14
14
  ## Platform File Categories (Cursor)
15
15
 
@@ -18,16 +18,16 @@ Platform files do not store business state. They let Cursor read Trellis state,
18
18
  | settings/config | `.cursor/hooks.json` | Register hooks and platform behavior. |
19
19
  | hooks | `.cursor/hooks/` | Inject context at session start, pre-tool-use on Task/Subagent, before-shell-execution, and stop events. |
20
20
  | rules | `.cursor/rules/*.mdc` (`alwaysApply: true`) | Per-turn policy prepended before every prompt (e.g. Request Triage, retrieval routing). See `cursor-context-injection-guide.md.txt` for the channel-reliability matrix. |
21
- | agents | `.cursor/agents/` | Define `trellis-research`, `trellis-implement`, and `trellis-check` for Task / Agent-session dispatch. |
21
+ | agents | `.cursor/agents/` | Define `cstl-research`, `cstl-implement`, and `cstl-check` for Task / Agent-session dispatch. |
22
22
  | skills | `.cursor/skills/` | Capability descriptions that auto-trigger or can be read on demand. |
23
- | commands | `.cursor/commands/` | User-invocable `/slash` entry points (e.g. `trellis-continue`, `record-session`). |
23
+ | commands | `.cursor/commands/` | User-invocable `/slash` entry points (e.g. `cstl-continue`, `record-session`). |
24
24
 
25
25
  ## Cursor Integration Mode
26
26
 
27
27
  Cursor combines three integration styles:
28
28
 
29
29
  1. **Hook / Extension Driven** — `.cursor/hooks.json` + `.cursor/hooks/` fire on sessionStart, pre-tool-use on Task/Subagent, beforeShellExecution, and stop. Common capabilities: session-start Task Dashboard + Phase Index injection (note the `additional_context` Cursor bug #158452 — use `.cursor/rules` or `AGENTS.md` for must-always-be-visible content), PRD/jsonl injection when sub-agents start, shell commands inheriting session identity.
30
- 2. **Agent Prelude / Pull-Based** — `.cursor/agents/*.md` instruct each custom Task subagent to read the selected task, PRD, and JSONL context after startup (the `<!-- trellis-hook-injected -->` marker confirms injected context).
30
+ 2. **Agent Prelude / Pull-Based** — `.cursor/agents/*.md` instruct each custom Task subagent to read the selected task, PRD, and JSONL context after startup (the `<!-- cstl-hook-injected -->` marker confirms injected context).
31
31
  3. **Main-Session Workflow** — `.cursor/commands/*.md` and `.cursor/skills/*.md` guide the main-session AI to read files, run scripts, and move tasks forward; `.cursor/rules/*.mdc` enforce per-turn policy.
32
32
 
33
33
  To change "when the AI knows what," inspect `.cursor/hooks.json` and `.cursor/rules/` first. To change how sub-agents load context, inspect `.cursor/agents/`. To change user-invocable entry points, inspect `.cursor/commands/` and `.cursor/skills/`.
@@ -36,10 +36,10 @@ To change "when the AI knows what," inspect `.cursor/hooks.json` and `.cursor/ru
36
36
 
37
37
  When the user asks to customize behavior:
38
38
 
39
- 1. Read `.trellis/workflow.md` to confirm the shared flow.
39
+ 1. Read `.cstl/workflow.md` to confirm the shared flow.
40
40
  2. Read `.cursor/hooks.json` to see which hooks are registered.
41
41
  3. Read the relevant `.cursor/agents/*.md`, `.cursor/skills/*/SKILL.md`, `.cursor/commands/*.md`, and `.cursor/rules/*.mdc`.
42
42
  4. Modify the local file closest to the user's need.
43
- 5. If the change affects the shared flow, synchronize `.trellis/workflow.md` or `.trellis/spec/`.
43
+ 5. If the change affects the shared flow, synchronize `.cstl/workflow.md` or `.cstl/spec/`.
44
44
 
45
- Do not modify only platform files and forget the shared workflow. Do not modify only `.trellis/workflow.md` and forget that platform entry points may still contain old descriptions.
45
+ Do not modify only platform files and forget the shared workflow. Do not modify only `.cstl/workflow.md` and forget that platform entry points may still contain old descriptions.
@@ -2,7 +2,7 @@
2
2
 
3
3
  This page lists Trellis file locations in a user project on **Cursor**.
4
4
 
5
- Trellis originally supported multiple AI platforms (Claude Code, Codex, OpenCode, Kilo, Kiro, Gemini, Antigravity, Windsurf, Qoder, CodeBuddy, GitHub Copilot, Factory Droid, Pi Agent). The project has since converged on **Cursor-only**. Legacy adapter directories may still exist in upgraded projects (`trellis update` preserves user files), but new framework/runtime behavior targets Cursor exclusively.
5
+ Trellis originally supported multiple AI platforms (Claude Code, Codex, OpenCode, Kilo, Kiro, Gemini, Antigravity, Windsurf, Qoder, CodeBuddy, GitHub Copilot, Factory Droid, Pi Agent). The project has since converged on **Cursor-only**. Legacy adapter directories may still exist in upgraded projects (`cstl update` preserves user files), but new framework/runtime behavior targets Cursor exclusively.
6
6
 
7
7
  ## Matrix
8
8
 
@@ -13,8 +13,8 @@ Trellis originally supported multiple AI platforms (Claude Code, Codex, OpenCode
13
13
  ## Capability Reference (Cursor)
14
14
 
15
15
  - **Skills** auto-trigger via the workflow matcher and can be read on demand. They live in `.cursor/skills/`.
16
- - **Agents** (`trellis-research`, `trellis-implement`, `trellis-check`) live in `.cursor/agents/` and are dispatched via the Task tool or opened as Agent sessions / Skill forms depending on the entry point (see `cursor-subagent-policy.md.txt`).
17
- - **Commands** (e.g. `record-session`, `trellis-continue`) live in `.cursor/commands/` and are user-invocable via `/slash`.
16
+ - **Agents** (`cstl-research`, `cstl-implement`, `cstl-check`) live in `.cursor/agents/` and are dispatched via the Task tool or opened as Agent sessions / Skill forms depending on the entry point (see `cursor-subagent-policy.md.txt`).
17
+ - **Commands** (e.g. `record-session`, `cstl-continue`) live in `.cursor/commands/` and are user-invocable via `/slash`.
18
18
  - **Hooks** (session start, pre-tool-use on Task/Subagent, before-shell-execution, stop) are registered in `.cursor/hooks.json` and their handler scripts live in `.cursor/hooks/`.
19
19
  - **Project rules** (always-applied policy) live in `.cursor/rules/*.mdc`.
20
20
 
@@ -22,9 +22,9 @@ Trellis originally supported multiple AI platforms (Claude Code, Codex, OpenCode
22
22
 
23
23
  1. User specified a platform other than Cursor: treat as a legacy adapter inspection — preserve existing files but do not extend new behavior there.
24
24
  2. User says "all platforms should do this": in Cursor-only world this is equivalent to "modify the Cursor path"; also mirror any dogfooded copy under `.cursor/` in `packages/cli/src/templates/cursor/` if applicable.
25
- 3. User only says "my AI": inspect which directories actually exist in the project; on a fresh `trellis init` only `.cursor/` and `.trellis/` are created.
26
- 4. User wants project rules: prefer `.trellis/spec/` or a project-local skill under `.cursor/skills/`.
27
- 5. User wants Trellis behavior: edit `.trellis/workflow.md` plus `.cursor/hooks.json` / `.cursor/agents/` / `.cursor/skills/` / `.cursor/commands/`.
25
+ 3. User only says "my AI": inspect which directories actually exist in the project; on a fresh `cstl init` only `.cursor/` and `.cstl/` are created.
26
+ 4. User wants project rules: prefer `.cstl/spec/` or a project-local skill under `.cursor/skills/`.
27
+ 5. User wants Trellis behavior: edit `.cstl/workflow.md` plus `.cursor/hooks.json` / `.cursor/agents/` / `.cursor/skills/` / `.cursor/commands/`.
28
28
 
29
29
  ## When Paths Differ
30
30
 
@@ -40,6 +40,6 @@ Do not delete a custom file just because it is not listed in this path table.
40
40
 
41
41
  If a user project still contains legacy platform directories (e.g. `.claude/`, `.codex/`, `.opencode/`):
42
42
 
43
- - `trellis update` preserves them; do not delete on sight.
43
+ - `cstl update` preserves them; do not delete on sight.
44
44
  - If the user asks to clean them up, suggest removing the unused platform directories after confirming they are not shared with another tool.
45
45
  - Do not register new hooks/agents/skills/commands under legacy platform directories. New Trellis features ship to `.cursor/` only.
@@ -16,19 +16,19 @@ Skills and commands are textual entry points for user interaction with Trellis.
16
16
  Trellis has two skill families:
17
17
 
18
18
  - Workflow skills: `brainstorm`, `before-dev`, `check`, `update-spec`, and `break-loop`.
19
- - Multi-file bundled skills include `trellis-meta`, `trellis-spec-bootstrap`, `trellis-skill-creator`, `smart-search-cli`, `trellis-micro-grill`, and `trellis-cursor2plus-setup`.
19
+ - Multi-file bundled skills include `cstl-meta`, `cstl-spec-bootstrap`, `cstl-skill-creator`, `smart-search-cli`, `cstl-micro-grill`, and `cstl-cursor2plus-setup`.
20
20
 
21
- Bundled skills are installed as directories and may include nested `agents/`, `examples/`, `references/`, or other lazy-loadable files. Do not describe bundled skills as a closed `trellis-*` list: `smart-search-cli` intentionally keeps its existing non-`trellis-` name.
21
+ Bundled skills are installed as directories and may include nested `agents/`, `examples/`, `references/`, or other lazy-loadable files. Do not describe bundled skills as a closed `cstl-*` list: `smart-search-cli` intentionally keeps its existing non-`cstl-` name.
22
22
 
23
23
  `smart-search-cli` is CLI-backed source retrieval. The Trellis package exposes the `smart-search` executable through its runtime wrapper; the skill documents how agents should use that CLI and cite retrieved sources.
24
24
 
25
- `trellis-spec-bootstrap` bootstraps project-specific `.trellis/spec/` guidance from the real repository.
25
+ `cstl-spec-bootstrap` bootstraps project-specific `.cstl/spec/` guidance from the real repository.
26
26
 
27
- `trellis-skill-creator` is the authoring and review guide for Trellis-compatible skills. Use it when creating or improving project-local skills under `.cursor/skills/`, the shared `.agents/skills/` directory (industry skill-sharing, kept but not extended by new Trellis behavior), or upstream bundled skills. Keep `trellis-meta` focused on architecture and routing.
27
+ `cstl-skill-creator` is the authoring and review guide for Trellis-compatible skills. Use it when creating or improving project-local skills under `.cursor/skills/`, the shared `.agents/skills/` directory (industry skill-sharing, kept but not extended by new Trellis behavior), or upstream bundled skills. Keep `cstl-meta` focused on architecture and routing.
28
28
 
29
- `trellis-micro-grill` is the Trellis clarification adapter. It asks one high-value question at a time and escalates to Lite, Full, or Parent/Child task modes only when durable artifacts or broader risk require it.
29
+ `cstl-micro-grill` is the Trellis clarification adapter. It asks one high-value question at a time and escalates to Lite, Full, or Parent/Child task modes only when durable artifacts or broader risk require it.
30
30
 
31
- `trellis-cursor2plus-setup` guides Cursor++ BYOK users through `trellis-task-models.json5` (primary/fallback per Task role), `patch_wpelc8.py`, and Reload Window. Use after `trellis init --cursor` or when `providers.json` changes.
31
+ `cstl-cursor2plus-setup` guides Cursor++ BYOK users through `trellis-task-models.json5` (primary/fallback per Task role), `patch_wpelc8.py`, and Reload Window. Use after `cstl init --cursor` or when `providers.json` changes.
32
32
 
33
33
  ## Common Paths (Cursor)
34
34
 
@@ -36,20 +36,20 @@ Bundled skills are installed as directories and may include nested `agents/`, `e
36
36
  | --- | --- |
37
37
  | Cursor | `.cursor/skills/` (preferred); `.cursor/commands/` is legacy compatibility-only |
38
38
 
39
- In a user project, use the files actually generated by init as authoritative. On current Cursor, Trellis prefers Agent Skills for manual entrypoints such as `trellis-continue` and `trellis-finish-work`; legacy `.cursor/commands/` files may exist in older projects but should be treated as an explicit compatibility surface rather than the default current-platform command surface.
39
+ In a user project, use the files actually generated by init as authoritative. On current Cursor, Trellis prefers Agent Skills for manual entrypoints such as `cstl-continue` and `cstl-finish-work`; legacy `.cursor/commands/` files may exist in older projects but should be treated as an explicit compatibility surface rather than the default current-platform command surface.
40
40
 
41
41
  ## Skill Structure
42
42
 
43
43
  A common skill is a directory:
44
44
 
45
45
  ```text
46
- trellis-meta/
46
+ cstl-meta/
47
47
  ├── SKILL.md
48
48
  └── references/
49
- trellis-spec-bootstrap/
49
+ cstl-spec-bootstrap/
50
50
  ├── SKILL.md
51
51
  └── references/
52
- trellis-skill-creator/
52
+ cstl-skill-creator/
53
53
  ├── SKILL.md
54
54
  └── references/
55
55
  smart-search-cli/
@@ -57,9 +57,9 @@ smart-search-cli/
57
57
  ├── agents/
58
58
  ├── examples/
59
59
  └── references/
60
- trellis-micro-grill/
60
+ cstl-micro-grill/
61
61
  └── SKILL.md
62
- trellis-cursor2plus-setup/
62
+ cstl-cursor2plus-setup/
63
63
  └── SKILL.md
64
64
  ```
65
65
 
@@ -76,11 +76,11 @@ References hold longer explanations so the entry file does not contain everythin
76
76
  Commands, prompts, and workflows are usually single files. Their content should include:
77
77
 
78
78
  - When to use it.
79
- - Which `.trellis/` files to read.
79
+ - Which `.cstl/` files to read.
80
80
  - Which scripts to run.
81
81
  - How to report after completion.
82
82
 
83
- They should not store task state; task state belongs in `.trellis/tasks/` and `.trellis/.runtime/`.
83
+ They should not store task state; task state belongs in `.cstl/tasks/` and `.cstl/.runtime/`.
84
84
 
85
85
  Task selection uses `selected_task`, not legacy current/active task commands. The current command chain is:
86
86
 
@@ -100,13 +100,13 @@ Do not reintroduce `task.py start`, `task.py current`, or `task.py finish` into
100
100
  | Change AI auto-trigger rules | The corresponding skill's frontmatter description. |
101
101
  | Change user command behavior | The corresponding command/prompt/workflow file. |
102
102
  | Add a project-local skill | `.cursor/skills/` (or `.agents/skills/` only when explicitly sharing with another non-Trellis tool that reads that path). |
103
- | Change finish/continue entry points | On current Cursor, prefer `.cursor/skills/trellis-continue` and `.cursor/skills/trellis-finish-work` over legacy `.cursor/commands/`. |
103
+ | Change finish/continue entry points | On current Cursor, prefer `.cursor/skills/cstl-continue` and `.cursor/skills/cstl-finish-work` over legacy `.cursor/commands/`. |
104
104
 
105
105
  ## Modification Principles
106
106
 
107
- 1. **Keep entry files short; references carry long content**. This matters especially for multi-file skills like `trellis-meta` and `trellis-skill-creator`.
107
+ 1. **Keep entry files short; references carry long content**. This matters especially for multi-file skills like `cstl-meta` and `cstl-skill-creator`.
108
108
  2. **Make trigger descriptions specific**. A description that is too broad can mis-trigger; one that is too narrow may not trigger.
109
- 3. **Keep behavior descriptions consistent with the shared `.trellis/` runtime**. Format may differ per file type, but semantics should match the shared workflow.
110
- 4. **Put project-specific capabilities in local skills**. Do not put team-private flows into public `trellis-meta`.
109
+ 3. **Keep behavior descriptions consistent with the shared `.cstl/` runtime**. Format may differ per file type, but semantics should match the shared workflow.
110
+ 4. **Put project-specific capabilities in local skills**. Do not put team-private flows into public `cstl-meta`.
111
111
 
112
- If the user only wants local AI to know one more project rule, usually create a project-local skill under `.cursor/skills/` or update `.trellis/spec/` instead of changing a Trellis built-in workflow skill.
112
+ If the user only wants local AI to know one more project rule, usually create a project-local skill under `.cursor/skills/` or update `.cstl/spec/` instead of changing a Trellis built-in workflow skill.