@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
@@ -176,7 +176,7 @@ def resolve_task_dir(target_dir: str, repo_root: Path) -> Path:
176
176
 
177
177
  Supports:
178
178
  - Absolute path: /path/to/task
179
- - Relative path: .trellis/tasks/01-31-my-task
179
+ - Relative path: .cstl/tasks/01-31-my-task
180
180
  - Task name: my-task (uses find_task_by_name for lookup)
181
181
 
182
182
  Args:
@@ -198,7 +198,7 @@ def resolve_task_dir(target_dir: str, repo_root: Path) -> Path:
198
198
  return Path(target_dir)
199
199
 
200
200
  # Relative path (contains path separator or starts with .trellis)
201
- if "/" in normalized or normalized.startswith(".trellis"):
201
+ if "/" in normalized or normalized.startswith(".cstl"):
202
202
  return repo_root / Path(normalized)
203
203
 
204
204
  # Task name - try to find in tasks directory
@@ -270,5 +270,5 @@ if __name__ == "__main__":
270
270
  tasks = get_tasks_dir(repo)
271
271
 
272
272
  print(f"Tasks dir: {tasks}")
273
- print(f"is_safe_task_path('.trellis/tasks/test'): {is_safe_task_path('.trellis/tasks/test', repo)}")
273
+ print(f"is_safe_task_path('.cstl/tasks/test'): {is_safe_task_path('.cstl/tasks/test', repo)}")
274
274
  print(f"is_safe_task_path('../test'): {is_safe_task_path('../test', repo)}")
@@ -226,6 +226,6 @@ def parent_archive_child_followup_hint(
226
226
  return (
227
227
  f"Integrated child task dirs still active: {names}. "
228
228
  "Archive each child when ready: "
229
- f"python ./.trellis/scripts/task.py archive <child> "
229
+ f"python ./.cstl/scripts/task.py archive <child> "
230
230
  "(or parent archive with --archive-integrated-children after archive --check passes for each)."
231
231
  )
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env python3
2
2
  """
3
- Standalone reader for .trellis/config.yaml.
3
+ Standalone reader for .cstl/config.yaml.
4
4
 
5
5
  Mirrors a minimal subset of common.config so callers (hooks, workflow_phase)
6
6
  can read configuration without importing the full task/repo helpers. Returns
@@ -13,7 +13,7 @@ from pathlib import Path
13
13
  from typing import Optional
14
14
 
15
15
 
16
- CONFIG_REL_PATH = ".trellis/config.yaml"
16
+ CONFIG_REL_PATH = ".cstl/config.yaml"
17
17
 
18
18
 
19
19
  def _unquote(value: str) -> str:
@@ -117,7 +117,7 @@ def parse_simple_yaml(content: str) -> dict:
117
117
 
118
118
 
119
119
  def read_trellis_config(repo_root: Optional[Path] = None) -> dict:
120
- """Read .trellis/config.yaml. Returns {} on missing or malformed file."""
120
+ """Read .cstl/config.yaml. Returns {} on missing or malformed file."""
121
121
  root = repo_root or Path.cwd()
122
122
  config_file = root / CONFIG_REL_PATH
123
123
  try:
@@ -3,7 +3,7 @@
3
3
  """
4
4
  Workflow Phase Extraction.
5
5
 
6
- Extracts step-level content from .trellis/workflow.md and optionally filters
6
+ Extracts step-level content from .cstl/workflow.md and optionally filters
7
7
  platform-specific blocks.
8
8
 
9
9
  Platform marker syntax in workflow.md:
@@ -76,10 +76,10 @@ def _probe_grep(repo_root: Path) -> dict[str, object]:
76
76
  """P-01: Grep a known literal in a known file under the repo.
77
77
 
78
78
  Known answer: 'TRELLIS_B2_WPeLc8' must appear in
79
- .trellis/local/cursor2plus/patch_wpelc8.py (the MARKER constant).
79
+ .cstl/local/cursor2plus/patch_wpelc8.py (the MARKER constant).
80
80
  """
81
81
  marker = "TRELLIS_B2_WPeLc8"
82
- target = repo_root / ".trellis" / "local" / "cursor2plus" / "patch_wpelc8.py"
82
+ target = repo_root / ".cstl" / "local" / "cursor2plus" / "patch_wpelc8.py"
83
83
  ok_file = target.is_file()
84
84
  found = False
85
85
  matches: list[str] = []
@@ -172,7 +172,7 @@ def _probe_smart_search(repo_root: Path) -> dict[str, object]:
172
172
  argv without running a network search. A separate `doctor` invocation is
173
173
  attempted if the resolved entrypoint is the smart-search package CLI.
174
174
  """
175
- scripts_dir = repo_root / ".trellis" / "scripts"
175
+ scripts_dir = repo_root / ".cstl" / "scripts"
176
176
  if str(scripts_dir) not in sys.path:
177
177
  sys.path.insert(0, str(scripts_dir))
178
178
  resolved: list[str] | None = None
@@ -32,7 +32,7 @@ the **codegraph_search** MCP tool to answer.
32
32
 
33
33
  Task: Call `codegraph_search` with the query `patch_wpelc8` and report:
34
34
  1. The file path(s) returned (expected to contain `patch_wpelc8.py` under
35
- `.trellis/local/cursor2plus/`).
35
+ `.cstl/local/cursor2plus/`).
36
36
  2. The symbol kind (expected: `function`).
37
37
  3. The exact tool name you invoked (from your tool-use record).
38
38
 
@@ -57,7 +57,7 @@ the **codegraph_callers** MCP tool to answer.
57
57
  Task: Call `codegraph_callers` with the symbol `route_codebase_retrieval` and
58
58
  report:
59
59
  1. The list of caller sites returned (expected: at least one caller in
60
- `route_codebase_retrieval.py` under `.trellis/scripts/`).
60
+ `route_codebase_retrieval.py` under `.cstl/scripts/`).
61
61
  2. The count of callers.
62
62
  3. The exact tool name you invoked.
63
63
 
@@ -85,7 +85,7 @@ Task: Call the fast-context semantic search with the query:
85
85
  Report:
86
86
  1. Whether the tool returned any results.
87
87
  2. If so, the top file path (expected to contain something under
88
- `.trellis/local/cursor2plus/` or `.trellis/spec/guides/cursor-subagent-policy.md`).
88
+ `.cstl/local/cursor2plus/` or `.cstl/spec/guides/cursor-subagent-policy.md`).
89
89
  3. The exact tool name you invoked.
90
90
 
91
91
  Reply in this exact format:
@@ -111,7 +111,7 @@ concept recall** (not Grep on a known string). Do **not** invoke tools yet — l
111
111
  your **available tool table / MCP list** only.
112
112
 
113
113
  Also run locally (or ask the user to confirm):
114
- `python .\.trellis\scripts\cursor_retrieval_probe.py --json` and note `env.env`,
114
+ `python .\.cstl\scripts\cursor_retrieval_probe.py --json` and note `env.env`,
115
115
  `mcp_config.fast_context_configured`, and auto `D-01` status.
116
116
 
117
117
  Reply in this exact format:
@@ -153,10 +153,10 @@ Semantic question:
153
153
  > the official cloud?"
154
154
 
155
155
  Expected answer (for verification, do NOT reveal this to the solver path):
156
- the relevant logic lives in `.trellis/local/cursor2plus/patch_wpelc8.py` (the
156
+ the relevant logic lives in `.cstl/local/cursor2plus/patch_wpelc8.py` (the
157
157
  `WPeLc8` function patch) and is documented in
158
- `.trellis/spec/guides/cursor-subagent-policy.md` and
159
- `.trellis/spec/guides/cursor-subagent-reverse-engineering-report.md`.
158
+ `.cstl/spec/guides/cursor-subagent-policy.md` and
159
+ `.cstl/spec/guides/cursor-subagent-reverse-engineering-report.md`.
160
160
 
161
161
  Reply in this exact format:
162
162
 
@@ -192,8 +192,8 @@ Semantic question (same as P-08 — no literal file/symbol/path clues in your qu
192
192
  > the official cloud?"
193
193
 
194
194
  Expected (for verification only — do not paste paths into fast_context_search query):
195
- Top hits should include `.trellis/local/cursor2plus/patch_wpelc8.py` and/or
196
- `.trellis/spec/guides/cursor-subagent-policy.md`.
195
+ Top hits should include `.cstl/local/cursor2plus/patch_wpelc8.py` and/or
196
+ `.cstl/spec/guides/cursor-subagent-policy.md`.
197
197
 
198
198
  Reply in this exact format:
199
199
 
@@ -231,7 +231,7 @@ Semantic question (no literal clues):
231
231
  Expected (for verification only): the answer should weave together
232
232
  `.cursor/hooks/inject-retrieval-plan.py` (beforeSubmitPrompt injection),
233
233
  `.cursor/rules/retrieval-routing.mdc` (alwaysApply policy), and the
234
- `sessionStart` bug #158452 noted in `.trellis/spec/guides/cursor-context-injection-guide.md`.
234
+ `sessionStart` bug #158452 noted in `.cstl/spec/guides/cursor-context-injection-guide.md`.
235
235
 
236
236
  Reply in this exact format:
237
237
 
@@ -263,7 +263,7 @@ confirm line numbers after codegraph returns a definition.
263
263
 
264
264
  Task: Locate the **definition** of `route_codebase_retrieval` (Python function).
265
265
 
266
- Expected: definition in `.trellis/scripts/common/codebase_retrieval_router.py`
266
+ Expected: definition in `.cstl/scripts/common/codebase_retrieval_router.py`
267
267
  (`def route_codebase_retrieval(`).
268
268
 
269
269
  Reply in this exact format:
@@ -4,18 +4,18 @@
4
4
  Syncs task events to Linear via the `linearis` CLI.
5
5
 
6
6
  Usage (called automatically by task.py hooks):
7
- python3 .trellis/scripts/hooks/linear_sync.py create
8
- python3 .trellis/scripts/hooks/linear_sync.py start
9
- python3 .trellis/scripts/hooks/linear_sync.py archive
7
+ python3 .cstl/scripts/hooks/linear_sync.py create
8
+ python3 .cstl/scripts/hooks/linear_sync.py start
9
+ python3 .cstl/scripts/hooks/linear_sync.py archive
10
10
 
11
11
  Manual usage:
12
- TASK_JSON_PATH=.trellis/tasks/<name>/task.json python3 .trellis/scripts/hooks/linear_sync.py sync
12
+ TASK_JSON_PATH=.cstl/tasks/<name>/task.json python3 .cstl/scripts/hooks/linear_sync.py sync
13
13
 
14
14
  Environment:
15
15
  TASK_JSON_PATH - Absolute path to task.json (set by task.py)
16
16
 
17
17
  Configuration:
18
- .trellis/hooks.local.json - Local config (gitignored), example:
18
+ .cstl/hooks.local.json - Local config (gitignored), example:
19
19
  {
20
20
  "linear": {
21
21
  "team": "TEAM_KEY",
@@ -46,13 +46,13 @@ STATUS_DONE = "Done"
46
46
 
47
47
 
48
48
  def _load_config() -> dict:
49
- """Load local hook config from .trellis/hooks.local.json."""
49
+ """Load local hook config from .cstl/hooks.local.json."""
50
50
  task_json_path = os.environ.get("TASK_JSON_PATH", "")
51
51
  if task_json_path:
52
- # Walk up from task.json to find .trellis/
52
+ # Walk up from task.json to find .cstl/
53
53
  trellis_dir = Path(task_json_path).parent.parent.parent
54
54
  else:
55
- trellis_dir = Path(".trellis")
55
+ trellis_dir = Path(".cstl")
56
56
 
57
57
  config_path = trellis_dir / "hooks.local.json"
58
58
  try:
@@ -6,8 +6,8 @@ Usage:
6
6
  python3 init_developer.py <developer-name>
7
7
 
8
8
  This creates:
9
- - .trellis/.developer file with developer info
10
- - .trellis/workspace/<name>/ directory structure
9
+ - .cstl/.developer file with developer info
10
+ - .cstl/workspace/<name>/ directory structure
11
11
  """
12
12
 
13
13
  from __future__ import annotations
@@ -117,10 +117,10 @@
117
117
  "degraded_capabilities": ["P-08", "P-09"],
118
118
  "probed_at": "2026-06-23",
119
119
  "probe_evidence_files": [
120
- ".trellis/tasks/06-23-06-23-cursor-retrieval-byok-lsp-fastcontext/research/01-byok-retrieval-role-matrix.md",
121
- ".trellis/tasks/06-23-06-23-cursor-retrieval-byok-lsp-fastcontext/research/02-lsp-via-codegraph-decision.md",
122
- ".trellis/tasks/06-23-06-23-cursor-retrieval-byok-lsp-fastcontext/research/04-semantic-search-target-directories.md",
123
- ".trellis/tasks/06-23-experiment-d-byok-semanticsearch-drop/research/01-semanticsearch-drop-byok.md"
120
+ ".cstl/tasks/06-23-06-23-cursor-retrieval-byok-lsp-fastcontext/research/01-byok-retrieval-role-matrix.md",
121
+ ".cstl/tasks/06-23-06-23-cursor-retrieval-byok-lsp-fastcontext/research/02-lsp-via-codegraph-decision.md",
122
+ ".cstl/tasks/06-23-06-23-cursor-retrieval-byok-lsp-fastcontext/research/04-semantic-search-target-directories.md",
123
+ ".cstl/tasks/06-23-experiment-d-byok-semanticsearch-drop/research/01-semanticsearch-drop-byok.md"
124
124
  ]
125
125
  }
126
126
  }
@@ -34,7 +34,7 @@ def parse_args(argv: list[str] | None = None) -> argparse.Namespace:
34
34
  parser.add_argument("query", nargs="?", default="", help="Natural-language retrieval question.")
35
35
  parser.add_argument(
36
36
  "--capabilities",
37
- help="Path to .trellis/capabilities.json for optional adapter gating.",
37
+ help="Path to .cstl/capabilities.json for optional adapter gating.",
38
38
  )
39
39
  parser.add_argument(
40
40
  "--no-codebase-retrieval",