@blxzer/cursor-trellis 0.3.0 → 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 (193) hide show
  1. package/CHANGELOG.md +30 -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.js +10 -10
  32. package/dist/commands/uninstall.js.map +1 -1
  33. package/dist/commands/update.d.ts +6 -1
  34. package/dist/commands/update.d.ts.map +1 -1
  35. package/dist/commands/update.js +83 -28
  36. package/dist/commands/update.js.map +1 -1
  37. package/dist/commands/workflow.d.ts +4 -4
  38. package/dist/commands/workflow.d.ts.map +1 -1
  39. package/dist/commands/workflow.js +10 -9
  40. package/dist/commands/workflow.js.map +1 -1
  41. package/dist/configurators/index.d.ts.map +1 -1
  42. package/dist/configurators/index.js +1 -1
  43. package/dist/configurators/index.js.map +1 -1
  44. package/dist/configurators/shared.js +6 -6
  45. package/dist/configurators/shared.js.map +1 -1
  46. package/dist/configurators/workflow.d.ts +4 -4
  47. package/dist/configurators/workflow.js +1 -1
  48. package/dist/constants/paths.d.ts +24 -24
  49. package/dist/constants/paths.d.ts.map +1 -1
  50. package/dist/constants/paths.js +16 -16
  51. package/dist/constants/paths.js.map +1 -1
  52. package/dist/migrations/manifests/0.3.1.json +32 -0
  53. package/dist/templates/common/bundled-skills/cstl-cursor2plus-setup/SKILL.md +11 -11
  54. package/dist/templates/common/bundled-skills/cstl-meta/SKILL.md +15 -15
  55. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/add-project-local-conventions.md +12 -12
  56. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-agents.md +2 -2
  57. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-context-loading.md +21 -21
  58. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-hooks.md +9 -9
  59. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-skills-or-commands.md +7 -7
  60. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-spec-structure.md +15 -15
  61. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-task-lifecycle.md +27 -27
  62. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/change-workflow.md +7 -7
  63. package/dist/templates/common/bundled-skills/cstl-meta/references/customize-local/overview.md +11 -11
  64. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/context-injection.md +12 -12
  65. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/generated-files.md +21 -21
  66. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/overview.md +14 -14
  67. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/spec-system.md +12 -12
  68. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/task-system.md +23 -23
  69. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/workflow.md +3 -3
  70. package/dist/templates/common/bundled-skills/cstl-meta/references/local-architecture/workspace-memory.md +16 -16
  71. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/agents.md +2 -2
  72. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/hooks-and-settings.md +6 -6
  73. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/overview.md +5 -5
  74. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/platform-map.md +3 -3
  75. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/skills-and-commands.md +5 -5
  76. package/dist/templates/common/bundled-skills/cstl-skill-creator/SKILL.md +2 -2
  77. package/dist/templates/common/bundled-skills/cstl-skill-creator/references/review-checklist.md +1 -1
  78. package/dist/templates/common/bundled-skills/cstl-spec-bootstrap/SKILL.md +5 -5
  79. package/dist/templates/common/bundled-skills/cstl-spec-bootstrap/references/repository-analysis.md +1 -1
  80. package/dist/templates/common/bundled-skills/cstl-spec-bootstrap/references/spec-task-planning.md +3 -3
  81. package/dist/templates/common/bundled-skills/cstl-spec-bootstrap/references/spec-writing.md +1 -1
  82. package/dist/templates/common/commands/continue.md +6 -6
  83. package/dist/templates/common/commands/finish-work.md +5 -5
  84. package/dist/templates/common/commands/start.md +8 -8
  85. package/dist/templates/common/skills/before-dev.md +4 -4
  86. package/dist/templates/common/skills/brainstorm.md +5 -5
  87. package/dist/templates/common/skills/break-loop.md +3 -3
  88. package/dist/templates/common/skills/check.md +5 -5
  89. package/dist/templates/common/skills/update-spec.md +4 -4
  90. package/dist/templates/cursor/agents/cstl-check.md +6 -6
  91. package/dist/templates/cursor/agents/cstl-implement.md +7 -7
  92. package/dist/templates/cursor/agents/cstl-research.md +9 -9
  93. package/dist/templates/cursor/commands/cursor2plus-setup.md +10 -10
  94. package/dist/templates/cursor/rules/cstl-subagent-dispatch.mdc +2 -2
  95. package/dist/templates/cursor/rules/cstl-triage.mdc +2 -2
  96. package/dist/templates/cursor/rules/retrieval-routing.mdc +4 -4
  97. package/dist/templates/extract.d.ts +1 -1
  98. package/dist/templates/extract.js +1 -1
  99. package/dist/templates/markdown/agents.md +11 -11
  100. package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +1 -1
  101. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +5 -5
  102. package/dist/templates/markdown/spec/guides/cursor-context-injection-guide.md.txt +3 -3
  103. package/dist/templates/markdown/spec/guides/cursor-semantic-compliance.md.txt +1 -1
  104. package/dist/templates/markdown/spec/guides/cursor-subagent-policy.md.txt +11 -11
  105. package/dist/templates/markdown/spec/guides/durable-learning-decision-guide.md.txt +8 -8
  106. package/dist/templates/markdown/spec/guides/execution-strategy.md.txt +3 -3
  107. package/dist/templates/markdown/spec/guides/retrieval-daily-guide.md.txt +10 -10
  108. package/dist/templates/markdown/workspace-index.md +3 -3
  109. package/dist/templates/markdown/worktree.yaml.txt +1 -1
  110. package/dist/templates/shared-hooks/index.d.ts +1 -1
  111. package/dist/templates/shared-hooks/index.js +1 -1
  112. package/dist/templates/shared-hooks/inject-retrieval-plan.py +3 -3
  113. package/dist/templates/shared-hooks/inject-shell-session-context.py +7 -7
  114. package/dist/templates/shared-hooks/inject-subagent-context.py +1 -1
  115. package/dist/templates/shared-hooks/inject-workflow-state.py +11 -11
  116. package/dist/templates/shared-hooks/research-end-retrieval-pack.py +1 -1
  117. package/dist/templates/shared-hooks/session-start.py +13 -13
  118. package/dist/templates/trellis/config.yaml +2 -22
  119. package/dist/templates/trellis/index.d.ts +2 -2
  120. package/dist/templates/trellis/index.js +2 -2
  121. package/dist/templates/trellis/local/README.md +3 -3
  122. package/dist/templates/trellis/local/patch_wpelc8.py +4 -4
  123. package/dist/templates/trellis/scripts/add_session.py +20 -20
  124. package/dist/templates/trellis/scripts/common/active_task.py +2 -2
  125. package/dist/templates/trellis/scripts/common/artifact_search.py +587 -587
  126. package/dist/templates/trellis/scripts/common/codebase_retrieval_router.py +6 -6
  127. package/dist/templates/trellis/scripts/common/config.py +3 -3
  128. package/dist/templates/trellis/scripts/common/developer.py +2 -2
  129. package/dist/templates/trellis/scripts/common/packages_context.py +23 -23
  130. package/dist/templates/trellis/scripts/common/parent_orchestration.py +16 -16
  131. package/dist/templates/trellis/scripts/common/paths.py +107 -107
  132. package/dist/templates/trellis/scripts/common/project_file_stats.py +1 -1
  133. package/dist/templates/trellis/scripts/common/retrieval_agent_instructions.py +1 -1
  134. package/dist/templates/trellis/scripts/common/safe_commit.py +31 -31
  135. package/dist/templates/trellis/scripts/common/session_memory.py +360 -360
  136. package/dist/templates/trellis/scripts/common/smart_search_evidence.py +514 -514
  137. package/dist/templates/trellis/scripts/common/smart_search_resolve.py +1 -1
  138. package/dist/templates/trellis/scripts/common/subagent_dispatch.py +2 -2
  139. package/dist/templates/trellis/scripts/common/task_context.py +1 -1
  140. package/dist/templates/trellis/scripts/common/task_dashboard.py +140 -140
  141. package/dist/templates/trellis/scripts/common/task_gates.py +23 -23
  142. package/dist/templates/trellis/scripts/common/task_store.py +5 -5
  143. package/dist/templates/trellis/scripts/common/task_utils.py +3 -3
  144. package/dist/templates/trellis/scripts/common/tasks.py +1 -1
  145. package/dist/templates/trellis/scripts/common/trellis_config.py +3 -3
  146. package/dist/templates/trellis/scripts/common/workflow_phase.py +1 -1
  147. package/dist/templates/trellis/scripts/cursor_retrieval_probe.py +3 -3
  148. package/dist/templates/trellis/scripts/cursor_retrieval_probe_prompt.md +11 -11
  149. package/dist/templates/trellis/scripts/hooks/linear_sync.py +8 -8
  150. package/dist/templates/trellis/scripts/init_developer.py +2 -2
  151. package/dist/templates/trellis/scripts/retrieval_probe_matrix_template.json +4 -4
  152. package/dist/templates/trellis/scripts/route_codebase_retrieval.py +1 -1
  153. package/dist/templates/trellis/scripts/task.py +918 -918
  154. package/dist/templates/trellis/tasks/templates/release-readiness/implement.md +2 -2
  155. package/dist/templates/trellis/workflow.md +64 -64
  156. package/dist/types/migration.d.ts +1 -1
  157. package/dist/types/migration.d.ts.map +1 -1
  158. package/dist/utils/agents-md.d.ts +37 -0
  159. package/dist/utils/agents-md.d.ts.map +1 -0
  160. package/dist/utils/agents-md.js +82 -0
  161. package/dist/utils/agents-md.js.map +1 -0
  162. package/dist/utils/codebase-retrieval-router.js +5 -5
  163. package/dist/utils/codebase-retrieval-router.js.map +1 -1
  164. package/dist/utils/manifest-prune.d.ts +2 -2
  165. package/dist/utils/manifest-prune.js +4 -4
  166. package/dist/utils/manifest-prune.js.map +1 -1
  167. package/dist/utils/mirror-check.d.ts +3 -1
  168. package/dist/utils/mirror-check.d.ts.map +1 -1
  169. package/dist/utils/mirror-check.js +22 -11
  170. package/dist/utils/mirror-check.js.map +1 -1
  171. package/dist/utils/project-capabilities.js +5 -5
  172. package/dist/utils/project-capabilities.js.map +1 -1
  173. package/dist/utils/retrieval-agent-instructions.js +1 -1
  174. package/dist/utils/retrieval-agent-instructions.js.map +1 -1
  175. package/dist/utils/retrieval-execution-telemetry.js +1 -1
  176. package/dist/utils/retrieval-execution-telemetry.js.map +1 -1
  177. package/dist/utils/template-fetcher.js +1 -1
  178. package/dist/utils/template-fetcher.js.map +1 -1
  179. package/dist/utils/template-hash.d.ts +2 -2
  180. package/dist/utils/template-hash.d.ts.map +1 -1
  181. package/dist/utils/template-hash.js +12 -10
  182. package/dist/utils/template-hash.js.map +1 -1
  183. package/dist/utils/workflow-dir.d.ts +13 -0
  184. package/dist/utils/workflow-dir.d.ts.map +1 -0
  185. package/dist/utils/workflow-dir.js +35 -0
  186. package/dist/utils/workflow-dir.js.map +1 -0
  187. package/dist/utils/workflow-ownership.d.ts +36 -0
  188. package/dist/utils/workflow-ownership.d.ts.map +1 -0
  189. package/dist/utils/workflow-ownership.js +137 -0
  190. package/dist/utils/workflow-ownership.js.map +1 -0
  191. package/dist/utils/workflow-resolver.d.ts +1 -1
  192. package/dist/utils/workflow-resolver.js +1 -1
  193. package/package.json +2 -2
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * `cstl uninstall` — remove every file written by `cstl init` / `update`
3
- * from the current project, plus the `.trellis/` directory itself.
3
+ * from the current project, plus the `.cstl/` directory itself.
4
4
  *
5
5
  * The single source of truth for "what trellis wrote" is
6
- * `.trellis/.template-hashes.json`. Files outside that manifest are never
6
+ * `.cstl/.template-hashes.json`. Files outside that manifest are never
7
7
  * touched (e.g. user-added hooks under `.cursor/hooks/`).
8
8
  *
9
9
  * Manifest-listed files split into two groups:
@@ -14,7 +14,7 @@
14
14
  * file is fully empty afterwards, we delete it.
15
15
  *
16
16
  * Whether the user has modified a manifest-listed file or not, it is removed
17
- * (per the PRD: "全删"). The `.trellis/` tree is removed unconditionally.
17
+ * (per the PRD: "全删"). The `.cstl/` tree is removed unconditionally.
18
18
  */
19
19
  import fs from "node:fs";
20
20
  import path from "node:path";
@@ -142,7 +142,7 @@ async function promptContinue() {
142
142
  return proceed;
143
143
  }
144
144
  /**
145
- * Execute the plan: write modifications, unlink deletions, remove `.trellis/`,
145
+ * Execute the plan: write modifications, unlink deletions, remove `.cstl/`,
146
146
  * then prune empty managed directories.
147
147
  *
148
148
  * Returns counts for the summary.
@@ -172,7 +172,7 @@ function executePlan(cwd, plan) {
172
172
  }
173
173
  deletedDirCandidates.add(path.posix.dirname(del.posixPath));
174
174
  }
175
- // 3. Drop `.trellis/` entirely.
175
+ // 3. Drop `.cstl/` entirely.
176
176
  let deletedDirs = 0;
177
177
  if (plan.removeTrellisDir) {
178
178
  const trellisDir = path.join(cwd, DIR_NAMES.WORKFLOW);
@@ -194,7 +194,7 @@ function executePlan(cwd, plan) {
194
194
  // `.agents/skills`, …) that is now empty. We deliberately handle this here
195
195
  // — `cleanupEmptyDirs` refuses to touch managed root dirs because in normal
196
196
  // `update` flow they must persist. During uninstall, an empty platform root
197
- // has no purpose. `.trellis` is already gone (step 3), so we skip it.
197
+ // has no purpose. `.cstl` is already gone (step 3), so we skip it.
198
198
  // Process deepest-first so that nested managed dirs (e.g. `.agents/skills`)
199
199
  // are removed before their parents (`.agents`).
200
200
  const sortedManagedDirs = [...ALL_MANAGED_DIRS]
@@ -247,9 +247,9 @@ export async function uninstall(options = {}) {
247
247
  }
248
248
  const cwd = process.cwd();
249
249
  const trellisDir = path.join(cwd, DIR_NAMES.WORKFLOW);
250
- // Pre-check 1: must have a `.trellis/` directory.
250
+ // Pre-check 1: must have a `.cstl/` directory.
251
251
  if (!fs.existsSync(trellisDir)) {
252
- console.log(chalk.gray("Trellis is not installed in this project (no .trellis/ directory found)."));
252
+ console.log(chalk.gray("Trellis is not installed in this project (no .cstl/ directory found)."));
253
253
  return;
254
254
  }
255
255
  // Pre-check 2: must have a manifest. Without it we cannot determine which
@@ -257,7 +257,7 @@ export async function uninstall(options = {}) {
257
257
  const hashes = loadHashes(cwd);
258
258
  if (Object.keys(hashes).length === 0) {
259
259
  console.error(chalk.red("Trellis directory found but manifest is missing — cannot determine which platform files to remove. " +
260
- "You can manually delete .trellis/ if needed."));
260
+ "You can manually delete .cstl/ if needed."));
261
261
  process.exit(1);
262
262
  }
263
263
  // Self-heal poisoned manifests from buggy init versions: prune any manifest
@@ -268,7 +268,7 @@ export async function uninstall(options = {}) {
268
268
  // Dry-run: still compute the pruned hashes (so the plan reflects post-prune
269
269
  // reality) but pass `persist: false` so no disk write happens. The actual
270
270
  // disk write defers to executePlan time, where we'd be rewriting the
271
- // manifest only to delete the whole .trellis/ dir anyway — but the
271
+ // manifest only to delete the whole .cstl/ dir anyway — but the
272
272
  // computation must remain to keep the rendered plan honest.
273
273
  const configuredPlatforms = getConfiguredPlatforms(cwd);
274
274
  const { pruned, hashes: prunedHashes } = pruneOrphanManifestKeys(cwd, [...configuredPlatforms], hashes, { persist: !options.dryRun });
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,16 @@ export interface UpdateOptions {
12
12
  json?: boolean;
13
13
  /** Skip post-apply Python script smoke checks (apply mode only). */
14
14
  skipPostUpdateSmoke?: boolean;
15
+ /**
16
+ * F5 escape hatch: force the `.trellis/` → `.cstl/` rename-dir migration
17
+ * even when upstream Trellis signals are detected. Requires `--migrate`.
18
+ */
19
+ forceCstlMigrate?: boolean;
15
20
  /** Filled on completion for `cstl rollout` aggregation. */
16
21
  lastReport?: UpdateRolloutReport;
17
22
  }
18
23
  /**
19
- * Load update.skip paths from .trellis/config.yaml
24
+ * Load update.skip paths from .cstl/config.yaml
20
25
  *
21
26
  * Parses simple YAML structure:
22
27
  * update:
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EAKd,MAAM,uBAAuB,CAAC;AAqD/B,OAAO,EAQL,KAAK,mBAAmB,EACzB,MAAM,mCAAmC,CAAC;AAe3C,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAgXD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA6DzD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,CA2Bf;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,GAAG,EAAE,MAAM,EACX,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CA0CtB;AAsYD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAerE;AAqbD;;;GAGG;AACH,0CAA0C;AAC1C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAgCnE;AAED;;;;GAIG;AACH,0CAA0C;AAC1C,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,aAAa,EAAE,GAC1B,aAAa,EAAE,CAajB;AA2QD;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4/BlE"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EAKd,MAAM,uBAAuB,CAAC;AA2D/B,OAAO,EAQL,KAAK,mBAAmB,EACzB,MAAM,mCAAmC,CAAC;AAe3C,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AA4ZD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA6DzD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,CA2Bf;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,GAAG,EAAE,MAAM,EACX,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CA0CtB;AAyYD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAerE;AAsbD;;;GAGG;AACH,0CAA0C;AAC1C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAgCnE;AAED;;;;GAIG;AACH,0CAA0C;AAC1C,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,aAAa,EAAE,GAC1B,aAAa,EAAE,CAajB;AA2QD;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA+gClE"}
@@ -5,6 +5,8 @@ import inquirer from "inquirer";
5
5
  import { DIR_NAMES, FILE_NAMES, PATHS } from "../constants/paths.js";
6
6
  import { VERSION, PACKAGE_NAME } from "../constants/version.js";
7
7
  import { getMigrationsForVersion, getAllMigrations, getMigrationMetadata, getConfigSectionsAddedBetween, } from "../migrations/index.js";
8
+ import { assessCstlDirectoryMigrate } from "../utils/workflow-ownership.js";
9
+ import { isWorkflowInitialized, resolveWorkflowDirName, workflowPath, } from "../utils/workflow-dir.js";
8
10
  import { loadHashes, saveHashes, updateHashes, isTemplateModified, removeHash, renameHash, computeHash, } from "../utils/template-hash.js";
9
11
  import { compareVersions } from "../utils/compare-versions.js";
10
12
  import { toPosix } from "../utils/posix.js";
@@ -30,15 +32,13 @@ function logCursor2plusCompatHint(cwd) {
30
32
  if (!fs.existsSync(bundleDir)) {
31
33
  return;
32
34
  }
33
- console.log(chalk.gray("\nCursor++ BYOK: after Cursor/Cursor++ upgrades, run `python .trellis/local/cursor2plus/patch_wpelc8.py --check-compat` before re-applying Method 2.5."));
35
+ console.log(chalk.gray("\nCursor++ BYOK: after Cursor/Cursor++ upgrades, run `python .cstl/local/cursor2plus/patch_wpelc8.py --check-compat` before re-applying Method 2.5."));
34
36
  }
35
- const TRELLIS_BLOCK_START = "<!-- TRELLIS:START -->";
36
- const TRELLIS_BLOCK_END = "<!-- TRELLIS:END -->";
37
+ const CSTL_BLOCK_START = "<!-- CSTL:START -->";
38
+ const CSTL_BLOCK_END = "<!-- CSTL:END -->";
39
+ const LEGACY_TRELLIS_BLOCK_START = "<!-- TRELLIS:START -->";
40
+ const LEGACY_TRELLIS_BLOCK_END = "<!-- TRELLIS:END -->";
37
41
  const LEGACY_UNTRACKED_AGENTS_MD_BLOCK_HASHES = new Set([
38
- // v0.5.0-beta.17 and earlier wrote AGENTS.md but did not hash-track it.
39
- // This hash is the pristine Trellis-managed block before the Subagents
40
- // section was added, so old untouched projects can be updated without a
41
- // false "modified by you" conflict.
42
42
  "c1f511b1cfc1902f2147da159f09cc51f380b0c9e341cdb3ac5dea5233f3e307",
43
43
  ]);
44
44
  // Paths that should never be touched (true user data)
@@ -50,23 +50,37 @@ const PROTECTED_PATHS = [
50
50
  `${DIR_NAMES.WORKFLOW}/.developer`,
51
51
  `${DIR_NAMES.WORKFLOW}/.current-task`,
52
52
  ];
53
+ function getAgentsBlockMarkers(content) {
54
+ if (content.includes(CSTL_BLOCK_START)) {
55
+ return { start: CSTL_BLOCK_START, end: CSTL_BLOCK_END };
56
+ }
57
+ if (content.includes(LEGACY_TRELLIS_BLOCK_START)) {
58
+ return {
59
+ start: LEGACY_TRELLIS_BLOCK_START,
60
+ end: LEGACY_TRELLIS_BLOCK_END,
61
+ };
62
+ }
63
+ return null;
64
+ }
53
65
  function getTrellisManagedBlock(content) {
54
- const start = content.indexOf(TRELLIS_BLOCK_START);
55
- if (start === -1) {
66
+ const markers = getAgentsBlockMarkers(content);
67
+ if (!markers) {
56
68
  return null;
57
69
  }
58
- const end = content.indexOf(TRELLIS_BLOCK_END, start);
70
+ const start = content.indexOf(markers.start);
71
+ const end = content.indexOf(markers.end, start);
59
72
  if (end === -1) {
60
73
  return null;
61
74
  }
62
- return content.slice(start, end + TRELLIS_BLOCK_END.length);
75
+ return content.slice(start, end + markers.end.length);
63
76
  }
64
77
  function replaceTrellisManagedBlock(existingContent, templateContent) {
65
- const existingStart = existingContent.indexOf(TRELLIS_BLOCK_START);
66
- if (existingStart === -1) {
78
+ const existingMarkers = getAgentsBlockMarkers(existingContent);
79
+ if (!existingMarkers) {
67
80
  return null;
68
81
  }
69
- const existingEnd = existingContent.indexOf(TRELLIS_BLOCK_END, existingStart);
82
+ const existingStart = existingContent.indexOf(existingMarkers.start);
83
+ const existingEnd = existingContent.indexOf(existingMarkers.end, existingStart);
70
84
  if (existingEnd === -1) {
71
85
  return null;
72
86
  }
@@ -76,7 +90,28 @@ function replaceTrellisManagedBlock(existingContent, templateContent) {
76
90
  }
77
91
  return (existingContent.slice(0, existingStart) +
78
92
  templateBlock +
79
- existingContent.slice(existingEnd + TRELLIS_BLOCK_END.length));
93
+ existingContent.slice(existingEnd + existingMarkers.end.length));
94
+ }
95
+ function includesCstlRuntimeDirRename(migrations) {
96
+ return migrations.some((item) => item.type === "rename-dir" &&
97
+ item.from === ".trellis" &&
98
+ item.to === ".cstl");
99
+ }
100
+ function upgradeAgentsMdToCstlMarkers(cwd) {
101
+ const agentsPath = path.join(cwd, FILE_NAMES.AGENTS);
102
+ if (!fs.existsSync(agentsPath)) {
103
+ return;
104
+ }
105
+ const content = fs.readFileSync(agentsPath, "utf-8");
106
+ if (!content.includes(LEGACY_TRELLIS_BLOCK_START)) {
107
+ return;
108
+ }
109
+ const upgraded = content
110
+ .replace(LEGACY_TRELLIS_BLOCK_START, CSTL_BLOCK_START)
111
+ .replace(LEGACY_TRELLIS_BLOCK_END, CSTL_BLOCK_END)
112
+ .replace(/\.\/\.trellis\//g, "./.cstl/")
113
+ .replace(/(?<![A-Za-z0-9_])\.trellis\//g, ".cstl/");
114
+ fs.writeFileSync(agentsPath, upgraded, "utf-8");
80
115
  }
81
116
  function buildAgentsMdTemplate(cwd) {
82
117
  const fullPath = path.join(cwd, FILE_NAMES.AGENTS);
@@ -289,7 +324,7 @@ function executeSafeFileDeletes(classified, cwd) {
289
324
  return deleted;
290
325
  }
291
326
  /**
292
- * Load update.skip paths from .trellis/config.yaml
327
+ * Load update.skip paths from .cstl/config.yaml
293
328
  *
294
329
  * Parses simple YAML structure:
295
330
  * update:
@@ -300,8 +335,8 @@ function executeSafeFileDeletes(classified, cwd) {
300
335
  * @internal Exported for testing only
301
336
  */
302
337
  export function loadUpdateSkipPaths(cwd) {
303
- const configPath = path.join(cwd, DIR_NAMES.WORKFLOW, "config.yaml");
304
- if (!fs.existsSync(configPath))
338
+ const configPath = workflowPath(cwd, "config.yaml");
339
+ if (!configPath || !fs.existsSync(configPath))
305
340
  return [];
306
341
  try {
307
342
  const content = fs.readFileSync(configPath, "utf-8");
@@ -715,7 +750,9 @@ async function promptConflictResolution(file, options, applyToAll) {
715
750
  */
716
751
  function createBackupDirPath(cwd) {
717
752
  const timestamp = new Date().toISOString().replace(/[:.]/g, "-").slice(0, 19);
718
- return path.join(cwd, DIR_NAMES.WORKFLOW, `.backup-${timestamp}`);
753
+ const workflowRoot = workflowPath(cwd, `.backup-${timestamp}`) ??
754
+ path.join(cwd, DIR_NAMES.WORKFLOW, `.backup-${timestamp}`);
755
+ return workflowRoot;
719
756
  }
720
757
  /**
721
758
  * Backup a single file to the backup directory
@@ -817,15 +854,16 @@ function createFullBackup(cwd) {
817
854
  * Update version file
818
855
  */
819
856
  function updateVersionFile(cwd) {
820
- const versionPath = path.join(cwd, DIR_NAMES.WORKFLOW, ".version");
857
+ const dirName = resolveWorkflowDirName(cwd) ?? DIR_NAMES.WORKFLOW;
858
+ const versionPath = path.join(cwd, dirName, ".version");
821
859
  fs.writeFileSync(versionPath, VERSION);
822
860
  }
823
861
  /**
824
862
  * Get current installed version
825
863
  */
826
864
  function getInstalledVersion(cwd) {
827
- const versionPath = path.join(cwd, DIR_NAMES.WORKFLOW, ".version");
828
- if (fs.existsSync(versionPath)) {
865
+ const versionPath = workflowPath(cwd, ".version");
866
+ if (versionPath && fs.existsSync(versionPath)) {
829
867
  return fs.readFileSync(versionPath, "utf-8").trim();
830
868
  }
831
869
  return "unknown";
@@ -957,7 +995,7 @@ function classifyMigrations(migrations, cwd, hashes, templates) {
957
995
  continue;
958
996
  }
959
997
  // For non-rename types, also block writing TO protected paths
960
- // rename/rename-dir are allowed to target protected paths (e.g., 0.2.0 renames into .trellis/workspace)
998
+ // rename/rename-dir are allowed to target protected paths (e.g., 0.2.0 renames into .cstl/workspace)
961
999
  if (item.to &&
962
1000
  isProtectedPath(item.to) &&
963
1001
  item.type !== "rename" &&
@@ -1310,7 +1348,7 @@ async function executeMigrations(classified, cwd, options) {
1310
1348
  }
1311
1349
  // For `backup-rename`, leave an inline .backup copy of the user's modified
1312
1350
  // original next to the new location (for rename) or in place (for delete).
1313
- // This is in addition to the full project snapshot at .trellis/.backup-*/;
1351
+ // This is in addition to the full project snapshot at .cstl/.backup-*/;
1314
1352
  // the inline copy is more discoverable when the user wants to diff or merge
1315
1353
  // their customizations against the new template.
1316
1354
  if (item.type === "rename" && item.to) {
@@ -1335,7 +1373,7 @@ async function executeMigrations(classified, cwd, options) {
1335
1373
  const filePath = path.join(cwd, item.from);
1336
1374
  if (action === "backup-rename") {
1337
1375
  // Keep a .backup copy in place before deletion so the user can recover
1338
- // inline without digging through .trellis/.backup-*/.
1376
+ // inline without digging through .cstl/.backup-*/.
1339
1377
  fs.copyFileSync(filePath, filePath + ".backup");
1340
1378
  }
1341
1379
  fs.unlinkSync(filePath);
@@ -1472,8 +1510,8 @@ export async function update(options) {
1472
1510
  });
1473
1511
  finishRollout(options, report);
1474
1512
  };
1475
- // Check if Trellis is initialized
1476
- if (!fs.existsSync(path.join(cwd, DIR_NAMES.WORKFLOW))) {
1513
+ // Check if cursor-trellis is initialized (.cstl/ or legacy .trellis/)
1514
+ if (!isWorkflowInitialized(cwd)) {
1477
1515
  console.log(chalk.red("Error: Trellis not initialized in this directory."));
1478
1516
  console.log(chalk.gray("Run 'cstl init' first."));
1479
1517
  emitEarly("blocked_not_initialized");
@@ -1839,14 +1877,31 @@ export async function update(options) {
1839
1877
  }
1840
1878
  // Execute migrations if --migrate flag is set
1841
1879
  if (options.migrate && classifiedMigrations) {
1880
+ const pendingRenameItems = [
1881
+ ...classifiedMigrations.auto,
1882
+ ...classifiedMigrations.confirm,
1883
+ ...classifiedMigrations.conflict,
1884
+ ];
1885
+ if (includesCstlRuntimeDirRename(pendingRenameItems)) {
1886
+ const assessment = assessCstlDirectoryMigrate(cwd, {
1887
+ forceCstlMigrate: options.forceCstlMigrate,
1888
+ });
1889
+ if (!assessment.ok) {
1890
+ console.error(chalk.red("Error:"), assessment.reason);
1891
+ process.exit(1);
1892
+ }
1893
+ }
1842
1894
  migrationApplyResult = await executeMigrations(classifiedMigrations, cwd, {
1843
1895
  force: options.force,
1844
1896
  skipAll: options.skipAll,
1845
1897
  });
1846
1898
  printMigrationResult(migrationApplyResult);
1899
+ if (includesCstlRuntimeDirRename(pendingRenameItems)) {
1900
+ upgradeAgentsMdToCstlMarkers(cwd);
1901
+ }
1847
1902
  // Hardcoded: Rename traces-*.md to journal-*.md in workspace directories
1848
1903
  // Why hardcoded: The migration system only supports fixed path renames, not pattern-based.
1849
- // traces-*.md files are in .trellis/workspace/{developer}/ with variable developer names
1904
+ // traces-*.md files are in .cstl/workspace/{developer}/ with variable developer names
1850
1905
  // and variable file numbers (traces-1.md, traces-2.md, etc.), so we can't enumerate them
1851
1906
  // in the migration manifest. This is a one-time migration for the 0.2.0 naming redesign.
1852
1907
  const workspaceDir = path.join(cwd, PATHS.WORKSPACE);