@blxzer/cursor-trellis 0.3.0 → 0.3.3

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 (196) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +51 -10
  3. package/README.zh-CN.md +21 -7
  4. package/bin/cstl.js +1 -1
  5. package/bin/smart-search.js +1 -1
  6. package/dist/cli/index.d.ts.map +1 -1
  7. package/dist/cli/index.js +17 -15
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/commands/capability-smoke.js +2 -2
  10. package/dist/commands/capability-smoke.js.map +1 -1
  11. package/dist/commands/channel/agent-loader.d.ts +1 -1
  12. package/dist/commands/channel/agent-loader.js +4 -4
  13. package/dist/commands/channel/agent-loader.js.map +1 -1
  14. package/dist/commands/channel/guard.d.ts +2 -2
  15. package/dist/commands/channel/guard.js +3 -3
  16. package/dist/commands/channel/guard.js.map +1 -1
  17. package/dist/commands/channel/index.js +3 -3
  18. package/dist/commands/channel/index.js.map +1 -1
  19. package/dist/commands/channel/list.d.ts +1 -1
  20. package/dist/commands/channel/list.js +1 -1
  21. package/dist/commands/channel/rm.d.ts +1 -1
  22. package/dist/commands/channel/rm.js +1 -1
  23. package/dist/commands/channel/store/lock.d.ts +1 -1
  24. package/dist/commands/channel/store/lock.js +1 -1
  25. package/dist/commands/channel/store/paths.js +1 -1
  26. package/dist/commands/channel/store/paths.js.map +1 -1
  27. package/dist/commands/init.d.ts.map +1 -1
  28. package/dist/commands/init.js +105 -59
  29. package/dist/commands/init.js.map +1 -1
  30. package/dist/commands/uninstall.d.ts +3 -3
  31. package/dist/commands/uninstall.d.ts.map +1 -1
  32. package/dist/commands/uninstall.js +69 -15
  33. package/dist/commands/uninstall.js.map +1 -1
  34. package/dist/commands/update.d.ts +6 -1
  35. package/dist/commands/update.d.ts.map +1 -1
  36. package/dist/commands/update.js +83 -28
  37. package/dist/commands/update.js.map +1 -1
  38. package/dist/commands/workflow.d.ts +4 -4
  39. package/dist/commands/workflow.d.ts.map +1 -1
  40. package/dist/commands/workflow.js +10 -9
  41. package/dist/commands/workflow.js.map +1 -1
  42. package/dist/configurators/index.d.ts.map +1 -1
  43. package/dist/configurators/index.js +1 -1
  44. package/dist/configurators/index.js.map +1 -1
  45. package/dist/configurators/shared.js +6 -6
  46. package/dist/configurators/shared.js.map +1 -1
  47. package/dist/configurators/workflow.d.ts +4 -4
  48. package/dist/configurators/workflow.js +1 -1
  49. package/dist/constants/paths.d.ts +24 -24
  50. package/dist/constants/paths.d.ts.map +1 -1
  51. package/dist/constants/paths.js +16 -16
  52. package/dist/constants/paths.js.map +1 -1
  53. package/dist/migrations/manifests/0.3.1.json +32 -0
  54. package/dist/templates/common/bundled-skills/cstl-cursor2plus-setup/SKILL.md +11 -11
  55. package/dist/templates/common/bundled-skills/cstl-meta/SKILL.md +15 -15
  56. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/add-project-local-conventions.md +12 -12
  57. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-agents.md +2 -2
  58. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-context-loading.md +21 -21
  59. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-hooks.md +9 -9
  60. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-skills-or-commands.md +7 -7
  61. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-spec-structure.md +15 -15
  62. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-task-lifecycle.md +27 -27
  63. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-workflow.md +7 -7
  64. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/overview.md +11 -11
  65. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/context-injection.md +12 -12
  66. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/generated-files.md +21 -21
  67. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/overview.md +14 -14
  68. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/spec-system.md +12 -12
  69. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/task-system.md +23 -23
  70. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/workflow.md +3 -3
  71. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/workspace-memory.md +16 -16
  72. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/agents.md +2 -2
  73. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/hooks-and-settings.md +6 -6
  74. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/overview.md +5 -5
  75. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/platform-map.md +3 -3
  76. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/skills-and-commands.md +5 -5
  77. package/dist/templates/common/bundled-skills/cstl-skill-creator/SKILL.md +2 -2
  78. package/dist/templates/common/bundled-skills/cstl-skill-creator/references/review-checklist.md +1 -1
  79. package/dist/templates/common/bundled-skills/cstl-spec-bootstrap/SKILL.md +5 -5
  80. package/dist/templates/common/bundled-skills/cstl-spec-bootstrap/references/repository-analysis.md +1 -1
  81. package/dist/templates/common/bundled-skills/cstl-spec-bootstrap/references/spec-task-planning.md +3 -3
  82. package/dist/templates/common/bundled-skills/cstl-spec-bootstrap/references/spec-writing.md +1 -1
  83. package/dist/templates/common/commands/continue.md +6 -6
  84. package/dist/templates/common/commands/finish-work.md +5 -5
  85. package/dist/templates/common/commands/start.md +8 -8
  86. package/dist/templates/common/skills/before-dev.md +4 -4
  87. package/dist/templates/common/skills/brainstorm.md +5 -5
  88. package/dist/templates/common/skills/break-loop.md +3 -3
  89. package/dist/templates/common/skills/check.md +5 -5
  90. package/dist/templates/common/skills/update-spec.md +4 -4
  91. package/dist/templates/cursor/agents/cstl-check.md +6 -6
  92. package/dist/templates/cursor/agents/cstl-implement.md +7 -7
  93. package/dist/templates/cursor/agents/cstl-research.md +9 -9
  94. package/dist/templates/cursor/commands/cursor2plus-setup.md +10 -10
  95. package/dist/templates/cursor/rules/cstl-subagent-dispatch.mdc +2 -2
  96. package/dist/templates/cursor/rules/cstl-triage.mdc +2 -2
  97. package/dist/templates/cursor/rules/retrieval-routing.mdc +4 -4
  98. package/dist/templates/extract.d.ts +1 -1
  99. package/dist/templates/extract.js +1 -1
  100. package/dist/templates/markdown/agents.md +11 -11
  101. package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +1 -1
  102. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +5 -5
  103. package/dist/templates/markdown/spec/guides/cursor-context-injection-guide.md.txt +3 -3
  104. package/dist/templates/markdown/spec/guides/cursor-semantic-compliance.md.txt +1 -1
  105. package/dist/templates/markdown/spec/guides/cursor-subagent-policy.md.txt +11 -11
  106. package/dist/templates/markdown/spec/guides/cursor-trellis-release-coexistence-guide.md.txt +166 -0
  107. package/dist/templates/markdown/spec/guides/durable-learning-decision-guide.md.txt +8 -8
  108. package/dist/templates/markdown/spec/guides/execution-strategy.md.txt +3 -3
  109. package/dist/templates/markdown/spec/guides/index.md.txt +1 -0
  110. package/dist/templates/markdown/spec/guides/retrieval-daily-guide.md.txt +10 -10
  111. package/dist/templates/markdown/workspace-index.md +3 -3
  112. package/dist/templates/markdown/worktree.yaml.txt +1 -1
  113. package/dist/templates/shared-hooks/index.d.ts +1 -1
  114. package/dist/templates/shared-hooks/index.js +1 -1
  115. package/dist/templates/shared-hooks/inject-retrieval-plan.py +3 -3
  116. package/dist/templates/shared-hooks/inject-shell-session-context.py +7 -7
  117. package/dist/templates/shared-hooks/inject-subagent-context.py +1 -1
  118. package/dist/templates/shared-hooks/inject-workflow-state.py +11 -11
  119. package/dist/templates/shared-hooks/research-end-retrieval-pack.py +1 -1
  120. package/dist/templates/shared-hooks/session-start.py +13 -13
  121. package/dist/templates/trellis/config.yaml +2 -22
  122. package/dist/templates/trellis/index.d.ts +2 -2
  123. package/dist/templates/trellis/index.js +2 -2
  124. package/dist/templates/trellis/local/README.md +3 -3
  125. package/dist/templates/trellis/local/patch_wpelc8.py +4 -4
  126. package/dist/templates/trellis/scripts/add_session.py +20 -20
  127. package/dist/templates/trellis/scripts/common/active_task.py +2 -2
  128. package/dist/templates/trellis/scripts/common/artifact_search.py +587 -587
  129. package/dist/templates/trellis/scripts/common/codebase_retrieval_router.py +6 -6
  130. package/dist/templates/trellis/scripts/common/config.py +3 -3
  131. package/dist/templates/trellis/scripts/common/developer.py +2 -2
  132. package/dist/templates/trellis/scripts/common/packages_context.py +23 -23
  133. package/dist/templates/trellis/scripts/common/parent_orchestration.py +16 -16
  134. package/dist/templates/trellis/scripts/common/paths.py +107 -107
  135. package/dist/templates/trellis/scripts/common/project_file_stats.py +1 -1
  136. package/dist/templates/trellis/scripts/common/retrieval_agent_instructions.py +1 -1
  137. package/dist/templates/trellis/scripts/common/safe_commit.py +31 -31
  138. package/dist/templates/trellis/scripts/common/session_memory.py +360 -360
  139. package/dist/templates/trellis/scripts/common/smart_search_evidence.py +514 -514
  140. package/dist/templates/trellis/scripts/common/smart_search_resolve.py +1 -1
  141. package/dist/templates/trellis/scripts/common/subagent_dispatch.py +2 -2
  142. package/dist/templates/trellis/scripts/common/task_context.py +1 -1
  143. package/dist/templates/trellis/scripts/common/task_dashboard.py +140 -140
  144. package/dist/templates/trellis/scripts/common/task_gates.py +23 -23
  145. package/dist/templates/trellis/scripts/common/task_store.py +5 -5
  146. package/dist/templates/trellis/scripts/common/task_utils.py +3 -3
  147. package/dist/templates/trellis/scripts/common/tasks.py +1 -1
  148. package/dist/templates/trellis/scripts/common/trellis_config.py +3 -3
  149. package/dist/templates/trellis/scripts/common/workflow_phase.py +1 -1
  150. package/dist/templates/trellis/scripts/cursor_retrieval_probe.py +3 -3
  151. package/dist/templates/trellis/scripts/cursor_retrieval_probe_prompt.md +11 -11
  152. package/dist/templates/trellis/scripts/hooks/linear_sync.py +8 -8
  153. package/dist/templates/trellis/scripts/init_developer.py +2 -2
  154. package/dist/templates/trellis/scripts/retrieval_probe_matrix_template.json +4 -4
  155. package/dist/templates/trellis/scripts/route_codebase_retrieval.py +1 -1
  156. package/dist/templates/trellis/scripts/task.py +918 -918
  157. package/dist/templates/trellis/tasks/templates/release-readiness/implement.md +2 -2
  158. package/dist/templates/trellis/workflow.md +64 -64
  159. package/dist/types/migration.d.ts +1 -1
  160. package/dist/types/migration.d.ts.map +1 -1
  161. package/dist/utils/agents-md.d.ts +47 -0
  162. package/dist/utils/agents-md.d.ts.map +1 -0
  163. package/dist/utils/agents-md.js +107 -0
  164. package/dist/utils/agents-md.js.map +1 -0
  165. package/dist/utils/codebase-retrieval-router.js +5 -5
  166. package/dist/utils/codebase-retrieval-router.js.map +1 -1
  167. package/dist/utils/manifest-prune.d.ts +2 -2
  168. package/dist/utils/manifest-prune.js +4 -4
  169. package/dist/utils/manifest-prune.js.map +1 -1
  170. package/dist/utils/mirror-check.d.ts +3 -1
  171. package/dist/utils/mirror-check.d.ts.map +1 -1
  172. package/dist/utils/mirror-check.js +22 -11
  173. package/dist/utils/mirror-check.js.map +1 -1
  174. package/dist/utils/project-capabilities.js +5 -5
  175. package/dist/utils/project-capabilities.js.map +1 -1
  176. package/dist/utils/retrieval-agent-instructions.js +1 -1
  177. package/dist/utils/retrieval-agent-instructions.js.map +1 -1
  178. package/dist/utils/retrieval-execution-telemetry.js +1 -1
  179. package/dist/utils/retrieval-execution-telemetry.js.map +1 -1
  180. package/dist/utils/template-fetcher.js +1 -1
  181. package/dist/utils/template-fetcher.js.map +1 -1
  182. package/dist/utils/template-hash.d.ts +2 -2
  183. package/dist/utils/template-hash.d.ts.map +1 -1
  184. package/dist/utils/template-hash.js +51 -18
  185. package/dist/utils/template-hash.js.map +1 -1
  186. package/dist/utils/workflow-dir.d.ts +13 -0
  187. package/dist/utils/workflow-dir.d.ts.map +1 -0
  188. package/dist/utils/workflow-dir.js +35 -0
  189. package/dist/utils/workflow-dir.js.map +1 -0
  190. package/dist/utils/workflow-ownership.d.ts +36 -0
  191. package/dist/utils/workflow-ownership.d.ts.map +1 -0
  192. package/dist/utils/workflow-ownership.js +137 -0
  193. package/dist/utils/workflow-ownership.js.map +1 -0
  194. package/dist/utils/workflow-resolver.d.ts +1 -1
  195. package/dist/utils/workflow-resolver.js +1 -1
  196. package/package.json +2 -2
@@ -1,13 +1,13 @@
1
1
  # Local Spec System
2
2
 
3
- `.trellis/spec/` is the user's project-specific engineering spec library. Trellis is not about making AI memorize conventions; it injects relevant specs or requires the AI to read them at the right time.
3
+ `.cstl/spec/` is the user's project-specific engineering spec library. Trellis is not about making AI memorize conventions; it injects relevant specs or requires the AI to read them at the right time.
4
4
 
5
5
  ## Directory Model
6
6
 
7
7
  A common single-repository structure:
8
8
 
9
9
  ```text
10
- .trellis/spec/
10
+ .cstl/spec/
11
11
  ├── backend/
12
12
  │ ├── index.md
13
13
  │ └── ...
@@ -22,7 +22,7 @@ A common single-repository structure:
22
22
  A common monorepo structure:
23
23
 
24
24
  ```text
25
- .trellis/spec/
25
+ .cstl/spec/
26
26
  ├── cli/
27
27
  │ ├── backend/
28
28
  │ │ ├── index.md
@@ -43,7 +43,7 @@ A common monorepo structure:
43
43
 
44
44
  ## Package Configuration
45
45
 
46
- `.trellis/config.yaml` can declare packages:
46
+ `.cstl/config.yaml` can declare packages:
47
47
 
48
48
  ```yaml
49
49
  packages:
@@ -58,7 +58,7 @@ default_package: cli
58
58
  The AI can run:
59
59
 
60
60
  ```bash
61
- python3 ./.trellis/scripts/get_context.py --mode packages
61
+ python3 ./.cstl/scripts/get_context.py --mode packages
62
62
  ```
63
63
 
64
64
  This command lists packages and spec layers for the current project. Use this output as the reference when configuring context JSONL.
@@ -68,8 +68,8 @@ This command lists packages and spec layers for the current project. Use this ou
68
68
  Before a task enters implementation, planning may write relevant specs into `implement.jsonl` / `check.jsonl` when the task needs spec or research context beyond the task artifacts:
69
69
 
70
70
  ```jsonl
71
- {"file": ".trellis/spec/cli/backend/index.md", "reason": "CLI backend conventions"}
72
- {"file": ".trellis/spec/cli/unit-test/conventions.md", "reason": "Test expectations"}
71
+ {"file": ".cstl/spec/cli/backend/index.md", "reason": "CLI backend conventions"}
72
+ {"file": ".cstl/spec/cli/unit-test/conventions.md", "reason": "Test expectations"}
73
73
  ```
74
74
 
75
75
  Sub-agents or platform preludes read these JSONL files and load the referenced specs. On platforms without sub-agent support, the AI should read the relevant specs directly according to the workflow.
@@ -85,18 +85,18 @@ Specs should contain executable engineering conventions for the project, not gen
85
85
  - Cases that require tests.
86
86
  - Project-specific pitfalls and how to avoid them.
87
87
 
88
- When the AI learns a new rule during implementation or debugging, it should update `.trellis/spec/` rather than only summarizing it in chat.
88
+ When the AI learns a new rule during implementation or debugging, it should update `.cstl/spec/` rather than only summarizing it in chat.
89
89
 
90
90
  ## Local Customization Points
91
91
 
92
92
  | Need | Edit location |
93
93
  | --- | --- |
94
- | Add a new spec layer | `.trellis/spec/<package>/<layer>/index.md` and corresponding guideline files. |
95
- | Change monorepo spec mapping | `packages` / `default_package` / `spec_scope` in `.trellis/config.yaml`. |
94
+ | Add a new spec layer | `.cstl/spec/<package>/<layer>/index.md` and corresponding guideline files. |
95
+ | Change monorepo spec mapping | `packages` / `default_package` / `spec_scope` in `.cstl/config.yaml`. |
96
96
  | Change which specs AI reads before implementation | The task's `implement.jsonl`. |
97
97
  | Change which specs AI reads during checking | The task's `check.jsonl`. |
98
- | Change when specs should be updated | Phase 3.3 in `.trellis/workflow.md` and the `cstl-update-spec` skill. |
98
+ | Change when specs should be updated | Phase 3.3 in `.cstl/workflow.md` and the `cstl-update-spec` skill. |
99
99
 
100
100
  ## Boundaries
101
101
 
102
- `.trellis/spec/` is the user's project specification, not a permanent copy of Trellis built-in templates. The AI should encourage the user to update it according to the actual project code instead of treating Trellis default templates as immutable documents.
102
+ `.cstl/spec/` is the user's project specification, not a permanent copy of Trellis built-in templates. The AI should encourage the user to update it according to the actual project code instead of treating Trellis default templates as immutable documents.
@@ -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,14 +59,14 @@ 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/`.
@@ -78,7 +78,7 @@ The AI should not treat phase numbers as task status. Task progress is mainly de
78
78
  The user sees a "selected task," and Trellis stores that selection per live session.
79
79
 
80
80
  ```text
81
- .trellis/.runtime/sessions/<context-key>.json
81
+ .cstl/.runtime/sessions/<context-key>.json
82
82
  ```
83
83
 
84
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.
@@ -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,16 +106,16 @@ 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>
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
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.
@@ -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.
@@ -62,7 +62,7 @@ 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
 
@@ -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,9 +49,9 @@ 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
56
  If information is only useful for the selected task, put it in the task directory.
57
57
  If information describes what happened in the current session, put it in the workspace journal.
@@ -61,10 +61,10 @@ If information should be followed every time code is written in the future, put
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
 
@@ -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`
@@ -52,7 +52,7 @@ This mode fits cases where the hook cannot reliably rewrite the sub-agent prompt
52
52
  | User need | Edit location |
53
53
  | --- | --- |
54
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 `.trellis/spec/` if needed. |
55
+ | Check agent must run project-specific commands | `.cursor/agents/cstl-check.md`, and `.cstl/spec/` if needed. |
56
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. |
@@ -7,7 +7,7 @@ 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
 
@@ -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,10 +1,10 @@
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.
@@ -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.
@@ -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 `cstl 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
 
@@ -22,7 +22,7 @@ Bundled skills are installed as directories and may include nested `agents/`, `e
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
- `cstl-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
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
 
@@ -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
 
@@ -106,7 +106,7 @@ Do not reintroduce `task.py start`, `task.py current`, or `task.py finish` into
106
106
 
107
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.
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
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.
@@ -7,7 +7,7 @@ description: "Create or improve Trellis-compatible agent skills. Use when the us
7
7
 
8
8
  Create high-quality skills for Trellis-managed projects and Trellis bundled templates.
9
9
 
10
- This skill is the authoring and review guide for skill files. It is not the local Trellis architecture map. Use `cstl-meta` first when the user needs to understand or customize `.trellis/`, hooks, settings, commands, prompts, workflows, agents, or platform directory layout.
10
+ This skill is the authoring and review guide for skill files. It is not the local Trellis architecture map. Use `cstl-meta` first when the user needs to understand or customize `.cstl/`, hooks, settings, commands, prompts, workflows, agents, or platform directory layout.
11
11
 
12
12
  ## Hard Constraints
13
13
 
@@ -39,6 +39,6 @@ This skill is the authoring and review guide for skill files. It is not the loca
39
39
  ## When NOT To Use
40
40
 
41
41
  - Do not use for general Trellis architecture discovery; use `cstl-meta`.
42
- - Do not use for project coding conventions that belong in `.trellis/spec/`.
42
+ - Do not use for project coding conventions that belong in `.cstl/spec/`.
43
43
  - Do not use for one-off commands or prompts unless the user wants a durable auto-triggered capability.
44
44
  - Do not use for non-Trellis global skill installation or platform configuration unless the user explicitly asks for that scope.
@@ -13,7 +13,7 @@ Use this checklist before handing off a new or modified skill.
13
13
 
14
14
  - [ ] The skill owns one coherent workflow.
15
15
  - [ ] `When NOT To Use` or equivalent boundary guidance is present when triggers may overlap.
16
- - [ ] Project-private rules are in `.trellis/spec/` or a project-local skill, not in a public bundled skill.
16
+ - [ ] Project-private rules are in `.cstl/spec/` or a project-local skill, not in a public bundled skill.
17
17
  - [ ] The skill distinguishes local project customization from upstream Trellis source changes.
18
18
 
19
19
  ## Entry File
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  name: cstl-spec-bootstrap
3
- description: "Bootstrap project-specific Trellis coding specs with a platform-neutral single-agent workflow. Use when creating or refreshing .trellis/spec guidelines, analyzing a codebase with GitNexus, ABCoder, or source inspection, decomposing package/layer spec work, and writing real codebase-backed spec docs without placeholder text."
3
+ description: "Bootstrap project-specific Trellis coding specs with a platform-neutral single-agent workflow. Use when creating or refreshing .cstl/spec guidelines, analyzing a codebase with GitNexus, ABCoder, or source inspection, decomposing package/layer spec work, and writing real codebase-backed spec docs without placeholder text."
4
4
  ---
5
5
 
6
6
  # Trellis Spec Bootstrap
7
7
 
8
- Use this skill to create or refresh `.trellis/spec/` guidelines from the real codebase. One capable agent owns the full loop: analyze the repository, choose the spec boundaries, write the docs, and verify the result. The workflow does not depend on a specific host, CLI, or agent brand.
8
+ Use this skill to create or refresh `.cstl/spec/` guidelines from the real codebase. One capable agent owns the full loop: analyze the repository, choose the spec boundaries, write the docs, and verify the result. The workflow does not depend on a specific host, CLI, or agent brand.
9
9
 
10
10
  ## Workflow
11
11
 
12
- 1. Confirm Trellis is initialized and inspect the current `.trellis/spec/` tree.
12
+ 1. Confirm Trellis is initialized and inspect the current `.cstl/spec/` tree.
13
13
  2. Analyze the repository architecture with the best available tools: GitNexus, ABCoder, language tooling, and direct source reads.
14
14
  3. Decompose the spec work by package and layer only when that reflects the actual codebase.
15
15
  4. Fill or reshape the spec files with concrete patterns, file paths, examples, and anti-patterns from the project.
@@ -30,11 +30,11 @@ Use this skill to create or refresh `.trellis/spec/` guidelines from the real co
30
30
  - Prefer source-backed rules over generic advice. Every important recommendation should point at a real file or repeated local pattern.
31
31
  - Keep execution single-owner by default. Optional helper agents are an implementation detail, not a requirement or user-visible dependency.
32
32
  - Do not write platform-specific instructions unless the target project already standardizes on that platform.
33
- - Do not leave placeholder text, empty headings, or copied boilerplate in `.trellis/spec/`.
33
+ - Do not leave placeholder text, empty headings, or copied boilerplate in `.cstl/spec/`.
34
34
 
35
35
  ## Done Criteria
36
36
 
37
- - `.trellis/spec/` describes the project as it exists now.
37
+ - `.cstl/spec/` describes the project as it exists now.
38
38
  - Each relevant package or layer has practical coding guidance with real examples.
39
39
  - Non-applicable template sections are removed.
40
40
  - `index.md` files match the final spec file set.
@@ -4,7 +4,7 @@ The goal is to discover the project's real architecture before writing rules. Do
4
4
 
5
5
  ## Analysis Order
6
6
 
7
- 1. Read the existing `.trellis/spec/` tree and note which files are templates, outdated, or already project-specific.
7
+ 1. Read the existing `.cstl/spec/` tree and note which files are templates, outdated, or already project-specific.
8
8
  2. Inspect package manifests, build scripts, workspace config, and top-level documentation to identify packages and runtime layers.
9
9
  3. Use GitNexus for execution flows, module clusters, dependency hubs, and impact-sensitive areas.
10
10
  4. Use ABCoder or language-native tooling for exact signatures, types, class boundaries, and implementation examples.
@@ -20,7 +20,7 @@ When a Trellis task is useful, write a concise PRD with these sections:
20
20
  # Fill <package-or-layer> Trellis Specs
21
21
 
22
22
  ## Goal
23
- Write project-specific `.trellis/spec/` guidance for <scope>.
23
+ Write project-specific `.cstl/spec/` guidance for <scope>.
24
24
 
25
25
  ## Scope
26
26
  - Spec directory:
@@ -32,8 +32,8 @@ Write project-specific `.trellis/spec/` guidance for <scope>.
32
32
  Summarize the concrete findings from repository analysis.
33
33
 
34
34
  ## Files To Create Or Update
35
- - `.trellis/spec/.../index.md`
36
- - `.trellis/spec/.../<topic>.md`
35
+ - `.cstl/spec/.../index.md`
36
+ - `.cstl/spec/.../<topic>.md`
37
37
 
38
38
  ## Rules
39
39
  - Adapt the spec file set to the real codebase.
@@ -64,7 +64,7 @@ Avoid passing raw `process.argv` or unvalidated config objects into shared helpe
64
64
  Before finishing:
65
65
 
66
66
  ```bash
67
- grep -R "To be filled\\|TODO: fill\\|placeholder" .trellis/spec
67
+ grep -R "To be filled\\|TODO: fill\\|placeholder" .cstl/spec
68
68
  ```
69
69
 
70
70
  Also check links, index files, and whether any spec still describes a template rather than this repository.
@@ -7,14 +7,14 @@ Resume work only when this live session already has a `selected_task`. If no tas
7
7
  ## Step 1: Load Framework Context
8
8
 
9
9
  ```bash
10
- {{PYTHON_CMD}} ./.trellis/scripts/get_context.py
10
+ {{PYTHON_CMD}} ./.cstl/scripts/get_context.py
11
11
  ```
12
12
 
13
13
  Confirms: selected task, Task Dashboard, git state, recent commits.
14
14
 
15
15
  If the output says `Selected task: none`, do not auto-resume a previous or unique task. Show the dashboard and ask the user to choose one route:
16
16
 
17
- - select a task with `{{PYTHON_CMD}} ./.trellis/scripts/task.py select <task>`
17
+ - select a task with `{{PYTHON_CMD}} ./.cstl/scripts/task.py select <task>`
18
18
  - create a task
19
19
  - inspect details
20
20
  - continue without a task for No Task / Micro-Grill work
@@ -22,7 +22,7 @@ If the output says `Selected task: none`, do not auto-resume a previous or uniqu
22
22
  ## Step 2: Load the Phase Index
23
23
 
24
24
  ```bash
25
- {{PYTHON_CMD}} ./.trellis/scripts/get_context.py --mode phase
25
+ {{PYTHON_CMD}} ./.cstl/scripts/get_context.py --mode phase
26
26
  ```
27
27
 
28
28
  Shows the Phase Index (Plan / Execute / Finish) with routing + skill mapping.
@@ -40,7 +40,7 @@ When a task is selected, `get_context.py` shows the selected task's `status` fie
40
40
  - `status=in_progress` + check passed → **3.1**
41
41
  - `status=completed` (rare; usually archived immediately) → archive flow
42
42
 
43
- Phase rules (full detail in `.trellis/workflow.md`):
43
+ Phase rules (full detail in `.cstl/workflow.md`):
44
44
 
45
45
  1. Run steps **in order** within a phase — `[required]` steps must not be skipped
46
46
  2. `[once]` steps are already done if the required output exists. `prd.md` alone can be enough only for lightweight tasks; complex tasks also need `design.md` and `implement.md`.
@@ -51,7 +51,7 @@ Phase rules (full detail in `.trellis/workflow.md`):
51
51
  Once you know which step to resume at:
52
52
 
53
53
  ```bash
54
- {{PYTHON_CMD}} ./.trellis/scripts/get_context.py --mode phase --step <X.X> --platform {{CLI_FLAG}}
54
+ {{PYTHON_CMD}} ./.cstl/scripts/get_context.py --mode phase --step <X.X> --platform {{CLI_FLAG}}
55
55
  ```
56
56
 
57
57
  Follow the loaded instructions. After each `[required]` step completes, move to the next.
@@ -60,4 +60,4 @@ Follow the loaded instructions. After each `[required]` step completes, move to
60
60
 
61
61
  ## Reference
62
62
 
63
- Full workflow and detailed phase steps live in `.trellis/workflow.md`. This command is only an entry point — the canonical guidance is there.
63
+ Full workflow and detailed phase steps live in `.cstl/workflow.md`. This command is only an entry point — the canonical guidance is there.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Wrap up the current session: archive the selected task (and any other completed-but-unarchived tasks the user wants to clean up) and record the session journal. Code commits are NOT done here — those happen in workflow Phase 3.4 before you invoke this command.
4
4
 
5
- Before archive, confirm `verify.md` includes Phase 3.3 **Learning decision** (`update-spec` | `no-update` | `unsure`) and gate-compatible evidence per `.trellis/spec/guides/durable-learning-decision-guide.md`. Run `task.py archive <task> --check` when unsure.
5
+ Before archive, confirm `verify.md` includes Phase 3.3 **Learning decision** (`update-spec` | `no-update` | `unsure`) and gate-compatible evidence per `.cstl/spec/guides/durable-learning-decision-guide.md`. Run `task.py archive <task> --check` when unsure.
6
6
 
7
7
  ## Evidence pack reference (optional — graceful skip)
8
8
 
@@ -19,7 +19,7 @@ Pack format: `version`, `source` (`retrieval-pack-orchestrator`), `contextPack.s
19
19
  ## Step 1: Survey current state
20
20
 
21
21
  ```bash
22
- {{PYTHON_CMD}} ./.trellis/scripts/get_context.py --mode record
22
+ {{PYTHON_CMD}} ./.cstl/scripts/get_context.py --mode record
23
23
  ```
24
24
 
25
25
  This prints:
@@ -38,7 +38,7 @@ Run:
38
38
  git status --porcelain
39
39
  ```
40
40
 
41
- Filter out paths under `.trellis/workspace/` and `.trellis/tasks/` — those are managed by `add_session.py` and `task.py archive` auto-commits and will appear dirty as part of this skill's own work.
41
+ Filter out paths under `.cstl/workspace/` and `.cstl/tasks/` — those are managed by `add_session.py` and `task.py archive` auto-commits and will appear dirty as part of this skill's own work.
42
42
 
43
43
  For each remaining dirty path, decide whether it belongs to **the selected task** or to **other parallel work** (e.g., another terminal window editing the same repo). Heuristics:
44
44
 
@@ -59,7 +59,7 @@ Then route:
59
59
  ## Step 3: Archive task(s)
60
60
 
61
61
  ```bash
62
- {{PYTHON_CMD}} ./.trellis/scripts/task.py archive <task-name>
62
+ {{PYTHON_CMD}} ./.cstl/scripts/task.py archive <task-name>
63
63
  ```
64
64
 
65
65
  At minimum: the selected task (if any). Plus any extra tasks the user confirmed in Step 1. Each archive produces a `chore(task): archive ...` commit via the script's auto-commit.
@@ -69,7 +69,7 @@ If there is no selected task and the user did not confirm any cleanup archives,
69
69
  ## Step 4: Record session journal
70
70
 
71
71
  ```bash
72
- {{PYTHON_CMD}} ./.trellis/scripts/add_session.py \
72
+ {{PYTHON_CMD}} ./.cstl/scripts/add_session.py \
73
73
  --title "Session Title" \
74
74
  --commit "hash1,hash2" \
75
75
  --summary "Brief summary"