@fifine/aim-studio 0.0.1

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 (289) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +159 -0
  3. package/bin/aim.js +3 -0
  4. package/dist/cli/index.d.ts +3 -0
  5. package/dist/cli/index.d.ts.map +1 -0
  6. package/dist/cli/index.js +89 -0
  7. package/dist/cli/index.js.map +1 -0
  8. package/dist/commands/init.d.ts +13 -0
  9. package/dist/commands/init.d.ts.map +1 -0
  10. package/dist/commands/init.js +513 -0
  11. package/dist/commands/init.js.map +1 -0
  12. package/dist/commands/update.d.ts +27 -0
  13. package/dist/commands/update.d.ts.map +1 -0
  14. package/dist/commands/update.js +1275 -0
  15. package/dist/commands/update.js.map +1 -0
  16. package/dist/configurators/claude.d.ts +32 -0
  17. package/dist/configurators/claude.d.ts.map +1 -0
  18. package/dist/configurators/claude.js +98 -0
  19. package/dist/configurators/claude.js.map +1 -0
  20. package/dist/configurators/index.d.ts +51 -0
  21. package/dist/configurators/index.d.ts.map +1 -0
  22. package/dist/configurators/index.js +113 -0
  23. package/dist/configurators/index.js.map +1 -0
  24. package/dist/configurators/shared.d.ts +12 -0
  25. package/dist/configurators/shared.d.ts.map +1 -0
  26. package/dist/configurators/shared.js +21 -0
  27. package/dist/configurators/shared.js.map +1 -0
  28. package/dist/configurators/workflow.d.ts +28 -0
  29. package/dist/configurators/workflow.d.ts.map +1 -0
  30. package/dist/configurators/workflow.js +147 -0
  31. package/dist/configurators/workflow.js.map +1 -0
  32. package/dist/constants/paths.d.ts +68 -0
  33. package/dist/constants/paths.d.ts.map +1 -0
  34. package/dist/constants/paths.js +77 -0
  35. package/dist/constants/paths.js.map +1 -0
  36. package/dist/constants/version.d.ts +9 -0
  37. package/dist/constants/version.d.ts.map +1 -0
  38. package/dist/constants/version.js +15 -0
  39. package/dist/constants/version.js.map +1 -0
  40. package/dist/index.d.ts +9 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +9 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/migrations/index.d.ts +54 -0
  45. package/dist/migrations/index.d.ts.map +1 -0
  46. package/dist/migrations/index.js +160 -0
  47. package/dist/migrations/index.js.map +1 -0
  48. package/dist/migrations/manifests/0.0.1.json +9 -0
  49. package/dist/migrations/manifests/0.1.9.json +30 -0
  50. package/dist/migrations/manifests/0.2.0.json +49 -0
  51. package/dist/migrations/manifests/0.2.12.json +9 -0
  52. package/dist/migrations/manifests/0.2.13.json +9 -0
  53. package/dist/migrations/manifests/0.2.14.json +175 -0
  54. package/dist/migrations/manifests/0.2.15.json +33 -0
  55. package/dist/migrations/manifests/0.3.0-beta.0.json +278 -0
  56. package/dist/migrations/manifests/0.3.0-beta.1.json +9 -0
  57. package/dist/migrations/manifests/0.3.0-beta.10.json +9 -0
  58. package/dist/migrations/manifests/0.3.0-beta.11.json +9 -0
  59. package/dist/migrations/manifests/0.3.0-beta.12.json +9 -0
  60. package/dist/migrations/manifests/0.3.0-beta.13.json +9 -0
  61. package/dist/migrations/manifests/0.3.0-beta.14.json +9 -0
  62. package/dist/migrations/manifests/0.3.0-beta.15.json +9 -0
  63. package/dist/migrations/manifests/0.3.0-beta.16.json +9 -0
  64. package/dist/migrations/manifests/0.3.0-beta.2.json +9 -0
  65. package/dist/migrations/manifests/0.3.0-beta.3.json +9 -0
  66. package/dist/migrations/manifests/0.3.0-beta.4.json +9 -0
  67. package/dist/migrations/manifests/0.3.0-beta.5.json +9 -0
  68. package/dist/migrations/manifests/0.3.0-beta.6.json +9 -0
  69. package/dist/migrations/manifests/0.3.0-beta.7.json +11 -0
  70. package/dist/migrations/manifests/0.3.0-beta.8.json +9 -0
  71. package/dist/migrations/manifests/0.3.0-beta.9.json +9 -0
  72. package/dist/migrations/manifests/0.3.0-rc.0.json +9 -0
  73. package/dist/migrations/manifests/0.3.0-rc.1.json +9 -0
  74. package/dist/migrations/manifests/0.3.0-rc.2.json +9 -0
  75. package/dist/templates/CLAUDE.md +71 -0
  76. package/dist/templates/aim/gitignore.txt +29 -0
  77. package/dist/templates/aim/index.d.ts +49 -0
  78. package/dist/templates/aim/index.d.ts.map +1 -0
  79. package/dist/templates/aim/index.js +92 -0
  80. package/dist/templates/aim/index.js.map +1 -0
  81. package/dist/templates/aim/scripts/__init__.py +5 -0
  82. package/dist/templates/aim/scripts/add_session.py +392 -0
  83. package/dist/templates/aim/scripts/common/__init__.py +80 -0
  84. package/dist/templates/aim/scripts/common/cli_adapter.py +435 -0
  85. package/dist/templates/aim/scripts/common/developer.py +190 -0
  86. package/dist/templates/aim/scripts/common/git_context.py +383 -0
  87. package/dist/templates/aim/scripts/common/paths.py +347 -0
  88. package/dist/templates/aim/scripts/common/phase.py +253 -0
  89. package/dist/templates/aim/scripts/common/registry.py +366 -0
  90. package/dist/templates/aim/scripts/common/task_queue.py +255 -0
  91. package/dist/templates/aim/scripts/common/task_utils.py +178 -0
  92. package/dist/templates/aim/scripts/common/worktree.py +219 -0
  93. package/dist/templates/aim/scripts/create_bootstrap.py +290 -0
  94. package/dist/templates/aim/scripts/get_context.py +16 -0
  95. package/dist/templates/aim/scripts/get_developer.py +26 -0
  96. package/dist/templates/aim/scripts/init_developer.py +51 -0
  97. package/dist/templates/aim/scripts/multi_agent/__init__.py +5 -0
  98. package/dist/templates/aim/scripts/multi_agent/cleanup.py +403 -0
  99. package/dist/templates/aim/scripts/multi_agent/create_pr.py +329 -0
  100. package/dist/templates/aim/scripts/multi_agent/plan.py +233 -0
  101. package/dist/templates/aim/scripts/multi_agent/start.py +461 -0
  102. package/dist/templates/aim/scripts/multi_agent/status.py +817 -0
  103. package/dist/templates/aim/scripts/task.py +1068 -0
  104. package/dist/templates/aim/scripts-shell-archive/add-session.sh +384 -0
  105. package/dist/templates/aim/scripts-shell-archive/common/developer.sh +129 -0
  106. package/dist/templates/aim/scripts-shell-archive/common/git-context.sh +263 -0
  107. package/dist/templates/aim/scripts-shell-archive/common/paths.sh +208 -0
  108. package/dist/templates/aim/scripts-shell-archive/common/phase.sh +150 -0
  109. package/dist/templates/aim/scripts-shell-archive/common/registry.sh +247 -0
  110. package/dist/templates/aim/scripts-shell-archive/common/task-queue.sh +142 -0
  111. package/dist/templates/aim/scripts-shell-archive/common/task-utils.sh +151 -0
  112. package/dist/templates/aim/scripts-shell-archive/common/worktree.sh +128 -0
  113. package/dist/templates/aim/scripts-shell-archive/create-bootstrap.sh +299 -0
  114. package/dist/templates/aim/scripts-shell-archive/get-context.sh +7 -0
  115. package/dist/templates/aim/scripts-shell-archive/get-developer.sh +15 -0
  116. package/dist/templates/aim/scripts-shell-archive/init-developer.sh +34 -0
  117. package/dist/templates/aim/scripts-shell-archive/multi-agent/cleanup.sh +396 -0
  118. package/dist/templates/aim/scripts-shell-archive/multi-agent/create-pr.sh +241 -0
  119. package/dist/templates/aim/scripts-shell-archive/multi-agent/plan.sh +207 -0
  120. package/dist/templates/aim/scripts-shell-archive/multi-agent/start.sh +317 -0
  121. package/dist/templates/aim/scripts-shell-archive/multi-agent/status.sh +828 -0
  122. package/dist/templates/aim/scripts-shell-archive/task.sh +1204 -0
  123. package/dist/templates/aim/tasks/.gitkeep +0 -0
  124. package/dist/templates/aim/workflow.md +258 -0
  125. package/dist/templates/aim/worktree.yaml +47 -0
  126. package/dist/templates/claude/agents/check.md +122 -0
  127. package/dist/templates/claude/agents/debug.md +106 -0
  128. package/dist/templates/claude/agents/dispatch.md +230 -0
  129. package/dist/templates/claude/agents/implement.md +96 -0
  130. package/dist/templates/claude/agents/plan.md +396 -0
  131. package/dist/templates/claude/agents/research.md +120 -0
  132. package/dist/templates/claude/agents/story.md +53 -0
  133. package/dist/templates/claude/commands/aim/before-backend-dev.md +13 -0
  134. package/dist/templates/claude/commands/aim/before-frontend-dev.md +13 -0
  135. package/dist/templates/claude/commands/aim/break-loop.md +153 -0
  136. package/dist/templates/claude/commands/aim/check-backend.md +13 -0
  137. package/dist/templates/claude/commands/aim/check-cross-layer.md +153 -0
  138. package/dist/templates/claude/commands/aim/check-frontend.md +13 -0
  139. package/dist/templates/claude/commands/aim/check-story.md +59 -0
  140. package/dist/templates/claude/commands/aim/create-command.md +154 -0
  141. package/dist/templates/claude/commands/aim/export.md +187 -0
  142. package/dist/templates/claude/commands/aim/finish-work.md +104 -0
  143. package/dist/templates/claude/commands/aim/integrate-skill.md +219 -0
  144. package/dist/templates/claude/commands/aim/onboard.md +358 -0
  145. package/dist/templates/claude/commands/aim/parallel.md +217 -0
  146. package/dist/templates/claude/commands/aim/portrait.md +170 -0
  147. package/dist/templates/claude/commands/aim/record-session.md +92 -0
  148. package/dist/templates/claude/commands/aim/start.md +112 -0
  149. package/dist/templates/claude/commands/aim/story.md +140 -0
  150. package/dist/templates/claude/commands/aim/update-spec.md +285 -0
  151. package/dist/templates/claude/commands/aim/visualize.md +182 -0
  152. package/dist/templates/claude/commands/trellis/before-backend-dev.md +13 -0
  153. package/dist/templates/claude/commands/trellis/before-frontend-dev.md +13 -0
  154. package/dist/templates/claude/commands/trellis/break-loop.md +125 -0
  155. package/dist/templates/claude/commands/trellis/check-backend.md +13 -0
  156. package/dist/templates/claude/commands/trellis/check-cross-layer.md +153 -0
  157. package/dist/templates/claude/commands/trellis/check-frontend.md +13 -0
  158. package/dist/templates/claude/commands/trellis/create-command.md +154 -0
  159. package/dist/templates/claude/commands/trellis/finish-work.md +129 -0
  160. package/dist/templates/claude/commands/trellis/integrate-skill.md +219 -0
  161. package/dist/templates/claude/commands/trellis/onboard.md +358 -0
  162. package/dist/templates/claude/commands/trellis/parallel.md +193 -0
  163. package/dist/templates/claude/commands/trellis/record-session.md +62 -0
  164. package/dist/templates/claude/commands/trellis/start.md +280 -0
  165. package/dist/templates/claude/commands/trellis/update-spec.md +285 -0
  166. package/dist/templates/claude/hooks/inject-subagent-context.py +772 -0
  167. package/dist/templates/claude/hooks/ralph-loop.py +388 -0
  168. package/dist/templates/claude/hooks/session-start.py +142 -0
  169. package/dist/templates/claude/index.d.ts +54 -0
  170. package/dist/templates/claude/index.d.ts.map +1 -0
  171. package/dist/templates/claude/index.js +85 -0
  172. package/dist/templates/claude/index.js.map +1 -0
  173. package/dist/templates/claude/settings.json +41 -0
  174. package/dist/templates/extract.d.ts +68 -0
  175. package/dist/templates/extract.d.ts.map +1 -0
  176. package/dist/templates/extract.js +128 -0
  177. package/dist/templates/extract.js.map +1 -0
  178. package/dist/templates/markdown/agents.md +25 -0
  179. package/dist/templates/markdown/gitignore.txt +12 -0
  180. package/dist/templates/markdown/index.d.ts +32 -0
  181. package/dist/templates/markdown/index.d.ts.map +1 -0
  182. package/dist/templates/markdown/index.js +58 -0
  183. package/dist/templates/markdown/index.js.map +1 -0
  184. package/dist/templates/markdown/spec/backend/database-guidelines.md.txt +51 -0
  185. package/dist/templates/markdown/spec/backend/directory-structure.md.txt +54 -0
  186. package/dist/templates/markdown/spec/backend/error-handling.md.txt +51 -0
  187. package/dist/templates/markdown/spec/backend/index.md +40 -0
  188. package/dist/templates/markdown/spec/backend/index.md.txt +38 -0
  189. package/dist/templates/markdown/spec/backend/logging-guidelines.md.txt +51 -0
  190. package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +51 -0
  191. package/dist/templates/markdown/spec/backend/script-conventions.md +467 -0
  192. package/dist/templates/markdown/spec/frontend/component-guidelines.md.txt +59 -0
  193. package/dist/templates/markdown/spec/frontend/directory-structure.md.txt +54 -0
  194. package/dist/templates/markdown/spec/frontend/hook-guidelines.md.txt +51 -0
  195. package/dist/templates/markdown/spec/frontend/index.md.txt +39 -0
  196. package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +51 -0
  197. package/dist/templates/markdown/spec/frontend/state-management.md.txt +51 -0
  198. package/dist/templates/markdown/spec/frontend/type-safety.md.txt +51 -0
  199. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md +118 -0
  200. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +92 -0
  201. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +94 -0
  202. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md +394 -0
  203. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +319 -0
  204. package/dist/templates/markdown/spec/guides/index.md.txt +89 -0
  205. package/dist/templates/markdown/spec/story/character.md.txt +95 -0
  206. package/dist/templates/markdown/spec/story/index.md.txt +31 -0
  207. package/dist/templates/markdown/spec/story/script.md.txt +313 -0
  208. package/dist/templates/markdown/spec/story/world.md.txt +92 -0
  209. package/dist/templates/markdown/workspace-index.md +123 -0
  210. package/dist/templates/markdown/worktree.yaml.txt +58 -0
  211. package/dist/templates/trellis/gitignore.txt +29 -0
  212. package/dist/templates/trellis/index.d.ts +49 -0
  213. package/dist/templates/trellis/index.d.ts.map +1 -0
  214. package/dist/templates/trellis/index.js +92 -0
  215. package/dist/templates/trellis/index.js.map +1 -0
  216. package/dist/templates/trellis/scripts/__init__.py +5 -0
  217. package/dist/templates/trellis/scripts/add_session.py +392 -0
  218. package/dist/templates/trellis/scripts/common/__init__.py +80 -0
  219. package/dist/templates/trellis/scripts/common/cli_adapter.py +435 -0
  220. package/dist/templates/trellis/scripts/common/developer.py +190 -0
  221. package/dist/templates/trellis/scripts/common/git_context.py +383 -0
  222. package/dist/templates/trellis/scripts/common/paths.py +347 -0
  223. package/dist/templates/trellis/scripts/common/phase.py +253 -0
  224. package/dist/templates/trellis/scripts/common/registry.py +366 -0
  225. package/dist/templates/trellis/scripts/common/task_queue.py +255 -0
  226. package/dist/templates/trellis/scripts/common/task_utils.py +178 -0
  227. package/dist/templates/trellis/scripts/common/worktree.py +219 -0
  228. package/dist/templates/trellis/scripts/create_bootstrap.py +290 -0
  229. package/dist/templates/trellis/scripts/get_context.py +16 -0
  230. package/dist/templates/trellis/scripts/get_developer.py +26 -0
  231. package/dist/templates/trellis/scripts/init_developer.py +51 -0
  232. package/dist/templates/trellis/scripts/multi_agent/__init__.py +5 -0
  233. package/dist/templates/trellis/scripts/multi_agent/cleanup.py +403 -0
  234. package/dist/templates/trellis/scripts/multi_agent/create_pr.py +329 -0
  235. package/dist/templates/trellis/scripts/multi_agent/plan.py +233 -0
  236. package/dist/templates/trellis/scripts/multi_agent/start.py +461 -0
  237. package/dist/templates/trellis/scripts/multi_agent/status.py +817 -0
  238. package/dist/templates/trellis/scripts/task.py +1056 -0
  239. package/dist/templates/trellis/scripts-shell-archive/add-session.sh +384 -0
  240. package/dist/templates/trellis/scripts-shell-archive/common/developer.sh +129 -0
  241. package/dist/templates/trellis/scripts-shell-archive/common/git-context.sh +263 -0
  242. package/dist/templates/trellis/scripts-shell-archive/common/paths.sh +208 -0
  243. package/dist/templates/trellis/scripts-shell-archive/common/phase.sh +150 -0
  244. package/dist/templates/trellis/scripts-shell-archive/common/registry.sh +247 -0
  245. package/dist/templates/trellis/scripts-shell-archive/common/task-queue.sh +142 -0
  246. package/dist/templates/trellis/scripts-shell-archive/common/task-utils.sh +151 -0
  247. package/dist/templates/trellis/scripts-shell-archive/common/worktree.sh +128 -0
  248. package/dist/templates/trellis/scripts-shell-archive/create-bootstrap.sh +299 -0
  249. package/dist/templates/trellis/scripts-shell-archive/get-context.sh +7 -0
  250. package/dist/templates/trellis/scripts-shell-archive/get-developer.sh +15 -0
  251. package/dist/templates/trellis/scripts-shell-archive/init-developer.sh +34 -0
  252. package/dist/templates/trellis/scripts-shell-archive/multi-agent/cleanup.sh +396 -0
  253. package/dist/templates/trellis/scripts-shell-archive/multi-agent/create-pr.sh +241 -0
  254. package/dist/templates/trellis/scripts-shell-archive/multi-agent/plan.sh +207 -0
  255. package/dist/templates/trellis/scripts-shell-archive/multi-agent/start.sh +317 -0
  256. package/dist/templates/trellis/scripts-shell-archive/multi-agent/status.sh +828 -0
  257. package/dist/templates/trellis/scripts-shell-archive/task.sh +1204 -0
  258. package/dist/templates/trellis/tasks/.gitkeep +0 -0
  259. package/dist/templates/trellis/workflow.md +416 -0
  260. package/dist/templates/trellis/worktree.yaml +47 -0
  261. package/dist/types/ai-tools.d.ts +48 -0
  262. package/dist/types/ai-tools.d.ts.map +1 -0
  263. package/dist/types/ai-tools.js +32 -0
  264. package/dist/types/ai-tools.js.map +1 -0
  265. package/dist/types/migration.d.ts +86 -0
  266. package/dist/types/migration.d.ts.map +1 -0
  267. package/dist/types/migration.js +8 -0
  268. package/dist/types/migration.js.map +1 -0
  269. package/dist/utils/compare-versions.d.ts +12 -0
  270. package/dist/utils/compare-versions.d.ts.map +1 -0
  271. package/dist/utils/compare-versions.js +76 -0
  272. package/dist/utils/compare-versions.js.map +1 -0
  273. package/dist/utils/file-writer.d.ts +23 -0
  274. package/dist/utils/file-writer.d.ts.map +1 -0
  275. package/dist/utils/file-writer.js +140 -0
  276. package/dist/utils/file-writer.js.map +1 -0
  277. package/dist/utils/project-detector.d.ts +16 -0
  278. package/dist/utils/project-detector.d.ts.map +1 -0
  279. package/dist/utils/project-detector.js +188 -0
  280. package/dist/utils/project-detector.js.map +1 -0
  281. package/dist/utils/template-fetcher.d.ts +51 -0
  282. package/dist/utils/template-fetcher.d.ts.map +1 -0
  283. package/dist/utils/template-fetcher.js +174 -0
  284. package/dist/utils/template-fetcher.js.map +1 -0
  285. package/dist/utils/template-hash.d.ts +78 -0
  286. package/dist/utils/template-hash.d.ts.map +1 -0
  287. package/dist/utils/template-hash.js +239 -0
  288. package/dist/utils/template-hash.js.map +1 -0
  289. package/package.json +87 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/configurators/workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Path constants for Trellis workflow structure
3
+ *
4
+ * Change these values to rename directories across the entire project.
5
+ * All paths should be relative to the project root.
6
+ */
7
+ export declare const DIR_NAMES: {
8
+ /** Root workflow directory */
9
+ readonly WORKFLOW: ".aim-studio";
10
+ /** Workspace directory (under .aim-studio/) - developer work areas */
11
+ readonly WORKSPACE: "workspace";
12
+ /** Tasks directory (under .aim-studio/) - unified task storage */
13
+ readonly TASKS: "tasks";
14
+ /** Archive directory (under tasks/) */
15
+ readonly ARCHIVE: "archive";
16
+ /** Spec/guidelines directory (under .aim-studio/) */
17
+ readonly SPEC: "spec";
18
+ /** Scripts directory (under .aim-studio/) */
19
+ readonly SCRIPTS: "scripts";
20
+ };
21
+ export declare const FILE_NAMES: {
22
+ /** Developer identity file */
23
+ readonly DEVELOPER: ".developer";
24
+ /** Current task pointer */
25
+ readonly CURRENT_TASK: ".current-task";
26
+ /** Task metadata */
27
+ readonly TASK_JSON: "task.json";
28
+ /** Requirements document */
29
+ readonly PRD: "prd.md";
30
+ /** Workflow guide */
31
+ readonly WORKFLOW_GUIDE: "workflow.md";
32
+ /** Journal file prefix */
33
+ readonly JOURNAL_PREFIX: "journal-";
34
+ };
35
+ export declare const PATHS: {
36
+ /** .aim-studio/ */
37
+ readonly WORKFLOW: ".aim-studio";
38
+ /** .aim-studio/workspace/ */
39
+ readonly WORKSPACE: ".aim-studio/workspace";
40
+ /** .aim-studio/tasks/ */
41
+ readonly TASKS: ".aim-studio/tasks";
42
+ /** .aim-studio/spec/ */
43
+ readonly SPEC: ".aim-studio/spec";
44
+ /** .aim-studio/scripts/ */
45
+ readonly SCRIPTS: ".aim-studio/scripts";
46
+ /** .aim-studio/.developer */
47
+ readonly DEVELOPER_FILE: ".aim-studio/.developer";
48
+ /** .aim-studio/.current-task */
49
+ readonly CURRENT_TASK_FILE: ".aim-studio/.current-task";
50
+ /** .aim-studio/workflow.md */
51
+ readonly WORKFLOW_GUIDE_FILE: ".aim-studio/workflow.md";
52
+ };
53
+ /**
54
+ * Get developer's workspace directory path
55
+ * @example getWorkspaceDir("john") => ".aim-studio/workspace/john"
56
+ */
57
+ export declare function getWorkspaceDir(developer: string): string;
58
+ /**
59
+ * Get task directory path
60
+ * @example getTaskDir("01-21-my-task") => ".aim-studio/tasks/01-21-my-task"
61
+ */
62
+ export declare function getTaskDir(taskName: string): string;
63
+ /**
64
+ * Get archive directory path
65
+ * @example getArchiveDir() => ".aim-studio/tasks/archive"
66
+ */
67
+ export declare function getArchiveDir(): string;
68
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/constants/paths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,eAAO,MAAM,SAAS;IACpB,8BAA8B;;IAE9B,sEAAsE;;IAEtE,kEAAkE;;IAElE,uCAAuC;;IAEvC,qDAAqD;;IAErD,6CAA6C;;CAErC,CAAC;AAGX,eAAO,MAAM,UAAU;IACrB,8BAA8B;;IAE9B,2BAA2B;;IAE3B,oBAAoB;;IAEpB,4BAA4B;;IAE5B,qBAAqB;;IAErB,0BAA0B;;CAElB,CAAC;AAGX,eAAO,MAAM,KAAK;IAChB,mBAAmB;;IAEnB,6BAA6B;;IAE7B,yBAAyB;;IAEzB,wBAAwB;;IAExB,2BAA2B;;IAE3B,6BAA6B;;IAE7B,gCAAgC;;IAEhC,8BAA8B;;CAEtB,CAAC;AAEX;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Path constants for Trellis workflow structure
3
+ *
4
+ * Change these values to rename directories across the entire project.
5
+ * All paths should be relative to the project root.
6
+ */
7
+ // Directory names (can be renamed)
8
+ export const DIR_NAMES = {
9
+ /** Root workflow directory */
10
+ WORKFLOW: ".aim-studio",
11
+ /** Workspace directory (under .aim-studio/) - developer work areas */
12
+ WORKSPACE: "workspace",
13
+ /** Tasks directory (under .aim-studio/) - unified task storage */
14
+ TASKS: "tasks",
15
+ /** Archive directory (under tasks/) */
16
+ ARCHIVE: "archive",
17
+ /** Spec/guidelines directory (under .aim-studio/) */
18
+ SPEC: "spec",
19
+ /** Scripts directory (under .aim-studio/) */
20
+ SCRIPTS: "scripts",
21
+ };
22
+ // File names
23
+ export const FILE_NAMES = {
24
+ /** Developer identity file */
25
+ DEVELOPER: ".developer",
26
+ /** Current task pointer */
27
+ CURRENT_TASK: ".current-task",
28
+ /** Task metadata */
29
+ TASK_JSON: "task.json",
30
+ /** Requirements document */
31
+ PRD: "prd.md",
32
+ /** Workflow guide */
33
+ WORKFLOW_GUIDE: "workflow.md",
34
+ /** Journal file prefix */
35
+ JOURNAL_PREFIX: "journal-",
36
+ };
37
+ // Constructed paths (relative to project root)
38
+ export const PATHS = {
39
+ /** .aim-studio/ */
40
+ WORKFLOW: DIR_NAMES.WORKFLOW,
41
+ /** .aim-studio/workspace/ */
42
+ WORKSPACE: `${DIR_NAMES.WORKFLOW}/${DIR_NAMES.WORKSPACE}`,
43
+ /** .aim-studio/tasks/ */
44
+ TASKS: `${DIR_NAMES.WORKFLOW}/${DIR_NAMES.TASKS}`,
45
+ /** .aim-studio/spec/ */
46
+ SPEC: `${DIR_NAMES.WORKFLOW}/${DIR_NAMES.SPEC}`,
47
+ /** .aim-studio/scripts/ */
48
+ SCRIPTS: `${DIR_NAMES.WORKFLOW}/${DIR_NAMES.SCRIPTS}`,
49
+ /** .aim-studio/.developer */
50
+ DEVELOPER_FILE: `${DIR_NAMES.WORKFLOW}/${FILE_NAMES.DEVELOPER}`,
51
+ /** .aim-studio/.current-task */
52
+ CURRENT_TASK_FILE: `${DIR_NAMES.WORKFLOW}/${FILE_NAMES.CURRENT_TASK}`,
53
+ /** .aim-studio/workflow.md */
54
+ WORKFLOW_GUIDE_FILE: `${DIR_NAMES.WORKFLOW}/${FILE_NAMES.WORKFLOW_GUIDE}`,
55
+ };
56
+ /**
57
+ * Get developer's workspace directory path
58
+ * @example getWorkspaceDir("john") => ".aim-studio/workspace/john"
59
+ */
60
+ export function getWorkspaceDir(developer) {
61
+ return `${PATHS.WORKSPACE}/${developer}`;
62
+ }
63
+ /**
64
+ * Get task directory path
65
+ * @example getTaskDir("01-21-my-task") => ".aim-studio/tasks/01-21-my-task"
66
+ */
67
+ export function getTaskDir(taskName) {
68
+ return `${PATHS.TASKS}/${taskName}`;
69
+ }
70
+ /**
71
+ * Get archive directory path
72
+ * @example getArchiveDir() => ".aim-studio/tasks/archive"
73
+ */
74
+ export function getArchiveDir() {
75
+ return `${PATHS.TASKS}/${DIR_NAMES.ARCHIVE}`;
76
+ }
77
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/constants/paths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,8BAA8B;IAC9B,QAAQ,EAAE,aAAa;IACvB,sEAAsE;IACtE,SAAS,EAAE,WAAW;IACtB,kEAAkE;IAClE,KAAK,EAAE,OAAO;IACd,uCAAuC;IACvC,OAAO,EAAE,SAAS;IAClB,qDAAqD;IACrD,IAAI,EAAE,MAAM;IACZ,6CAA6C;IAC7C,OAAO,EAAE,SAAS;CACV,CAAC;AAEX,aAAa;AACb,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,8BAA8B;IAC9B,SAAS,EAAE,YAAY;IACvB,2BAA2B;IAC3B,YAAY,EAAE,eAAe;IAC7B,oBAAoB;IACpB,SAAS,EAAE,WAAW;IACtB,4BAA4B;IAC5B,GAAG,EAAE,QAAQ;IACb,qBAAqB;IACrB,cAAc,EAAE,aAAa;IAC7B,0BAA0B;IAC1B,cAAc,EAAE,UAAU;CAClB,CAAC;AAEX,+CAA+C;AAC/C,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAC,QAAQ;IAC5B,6BAA6B;IAC7B,SAAS,EAAE,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE;IACzD,yBAAyB;IACzB,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE;IACjD,wBAAwB;IACxB,IAAI,EAAE,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE;IAC/C,2BAA2B;IAC3B,OAAO,EAAE,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,OAAO,EAAE;IACrD,6BAA6B;IAC7B,cAAc,EAAE,GAAG,SAAS,CAAC,QAAQ,IAAI,UAAU,CAAC,SAAS,EAAE;IAC/D,gCAAgC;IAChC,iBAAiB,EAAE,GAAG,SAAS,CAAC,QAAQ,IAAI,UAAU,CAAC,YAAY,EAAE;IACrE,8BAA8B;IAC9B,mBAAmB,EAAE,GAAG,SAAS,CAAC,QAAQ,IAAI,UAAU,CAAC,cAAc,EAAE;CACjE,CAAC;AAEX;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,GAAG,KAAK,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Package version and name constants.
3
+ *
4
+ * Extracted from cli/index.ts to avoid import-time side effects
5
+ * (program.parse(), checkForUpdates, etc.) when only VERSION is needed.
6
+ */
7
+ export declare const VERSION: string;
8
+ export declare const PACKAGE_NAME: string;
9
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/constants/version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,eAAO,MAAM,OAAO,EAAE,MAA4B,CAAC;AACnD,eAAO,MAAM,YAAY,EAAE,MAAyB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Package version and name constants.
3
+ *
4
+ * Extracted from cli/index.ts to avoid import-time side effects
5
+ * (program.parse(), checkForUpdates, etc.) when only VERSION is needed.
6
+ */
7
+ import fs from "node:fs";
8
+ import path from "node:path";
9
+ import { fileURLToPath } from "node:url";
10
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
11
+ const packageJsonPath = path.resolve(__dirname, "../../package.json");
12
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
13
+ export const VERSION = packageJson.version;
14
+ export const PACKAGE_NAME = packageJson.name;
15
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/constants/version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAOzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AACtE,MAAM,WAAW,GAAgB,IAAI,CAAC,KAAK,CACzC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAC1C,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAW,WAAW,CAAC,OAAO,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAW,WAAW,CAAC,IAAI,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Trellis - AI-assisted development workflow framework
3
+ *
4
+ * Based on Anthropic's "Effective Harnesses for Long-Running Agents"
5
+ * https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents
6
+ */
7
+ export { VERSION } from "./constants/version.js";
8
+ export { init } from "./commands/init.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Trellis - AI-assisted development workflow framework
3
+ *
4
+ * Based on Anthropic's "Effective Harnesses for Long-Running Agents"
5
+ * https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents
6
+ */
7
+ export { VERSION } from "./constants/version.js";
8
+ export { init } from "./commands/init.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Migration manifests for Trellis versions
3
+ *
4
+ * Each version's migrations are stored in separate JSON files under manifests/
5
+ * Format: manifests/{version}.json (e.g., manifests/0.1.9.json)
6
+ */
7
+ import type { MigrationItem } from "../types/migration.js";
8
+ /**
9
+ * Get all migrations needed to upgrade from one version to another
10
+ *
11
+ * @param fromVersion - Current installed version
12
+ * @param toVersion - Target version to upgrade to
13
+ * @returns Array of migration items to apply, in version order
14
+ */
15
+ export declare function getMigrationsForVersion(fromVersion: string, toVersion: string): MigrationItem[];
16
+ /**
17
+ * Check if there are any pending migrations between versions
18
+ */
19
+ export declare function hasPendingMigrations(fromVersion: string, toVersion: string): boolean;
20
+ /**
21
+ * Get human-readable summary of pending migrations
22
+ */
23
+ export declare function getMigrationSummary(fromVersion: string, toVersion: string): {
24
+ renames: number;
25
+ deletes: number;
26
+ };
27
+ /**
28
+ * Get all registered migration versions
29
+ */
30
+ export declare function getAllMigrationVersions(): string[];
31
+ /**
32
+ * Get ALL migrations from all manifests (regardless of version)
33
+ * Used for detecting orphaned migrations that should have been applied
34
+ */
35
+ export declare function getAllMigrations(): MigrationItem[];
36
+ /**
37
+ * Clear the manifest cache (useful for testing)
38
+ */
39
+ export declare function clearManifestCache(): void;
40
+ /**
41
+ * Get aggregated metadata for migrations between versions
42
+ * Returns combined changelog, breaking status, migrate recommendation, and migration guides
43
+ */
44
+ export declare function getMigrationMetadata(fromVersion: string, toVersion: string): {
45
+ changelog: string[];
46
+ breaking: boolean;
47
+ recommendMigrate: boolean;
48
+ migrationGuides: {
49
+ version: string;
50
+ guide: string;
51
+ aiInstructions?: string;
52
+ }[];
53
+ };
54
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,uBAAuB,CAAC;AAkD9E;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,aAAa,EAAE,CAuBjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAMtC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAGlD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,EAAE,CAOlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB;IACD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChF,CAyCA"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Migration manifests for Trellis versions
3
+ *
4
+ * Each version's migrations are stored in separate JSON files under manifests/
5
+ * Format: manifests/{version}.json (e.g., manifests/0.1.9.json)
6
+ */
7
+ import fs from "node:fs";
8
+ import path from "node:path";
9
+ import { fileURLToPath } from "node:url";
10
+ import { compareVersions } from "../utils/compare-versions.js";
11
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
12
+ const MANIFESTS_DIR = path.join(__dirname, "manifests");
13
+ /**
14
+ * Cache for loaded manifests
15
+ */
16
+ let manifestCache = null;
17
+ /**
18
+ * Load all migration manifests from JSON files
19
+ */
20
+ function loadManifests() {
21
+ if (manifestCache) {
22
+ return manifestCache;
23
+ }
24
+ const manifests = {};
25
+ // Check if manifests directory exists
26
+ if (!fs.existsSync(MANIFESTS_DIR)) {
27
+ manifestCache = manifests;
28
+ return manifests;
29
+ }
30
+ // Load all JSON files from manifests directory
31
+ const files = fs.readdirSync(MANIFESTS_DIR).filter((f) => f.endsWith(".json"));
32
+ for (const file of files) {
33
+ try {
34
+ const filePath = path.join(MANIFESTS_DIR, file);
35
+ const content = fs.readFileSync(filePath, "utf-8");
36
+ const manifest = JSON.parse(content);
37
+ // Use version from manifest as key
38
+ if (manifest.version) {
39
+ manifests[manifest.version] = manifest;
40
+ }
41
+ }
42
+ catch {
43
+ // Skip invalid manifest files
44
+ console.warn(`Warning: Failed to load migration manifest ${file}`);
45
+ }
46
+ }
47
+ manifestCache = manifests;
48
+ return manifests;
49
+ }
50
+ /**
51
+ * Get all migrations needed to upgrade from one version to another
52
+ *
53
+ * @param fromVersion - Current installed version
54
+ * @param toVersion - Target version to upgrade to
55
+ * @returns Array of migration items to apply, in version order
56
+ */
57
+ export function getMigrationsForVersion(fromVersion, toVersion) {
58
+ const manifests = loadManifests();
59
+ // Get all versions that have migrations
60
+ const versions = Object.keys(manifests).sort(compareVersions);
61
+ // Filter to versions > fromVersion and <= toVersion
62
+ const applicableVersions = versions.filter((v) => {
63
+ const afterFrom = compareVersions(v, fromVersion) > 0;
64
+ const atOrBeforeTo = compareVersions(v, toVersion) <= 0;
65
+ return afterFrom && atOrBeforeTo;
66
+ });
67
+ // Collect all migrations from applicable versions
68
+ const allMigrations = [];
69
+ for (const version of applicableVersions) {
70
+ const manifest = manifests[version];
71
+ if (manifest) {
72
+ allMigrations.push(...manifest.migrations);
73
+ }
74
+ }
75
+ return allMigrations;
76
+ }
77
+ /**
78
+ * Check if there are any pending migrations between versions
79
+ */
80
+ export function hasPendingMigrations(fromVersion, toVersion) {
81
+ return getMigrationsForVersion(fromVersion, toVersion).length > 0;
82
+ }
83
+ /**
84
+ * Get human-readable summary of pending migrations
85
+ */
86
+ export function getMigrationSummary(fromVersion, toVersion) {
87
+ const migrations = getMigrationsForVersion(fromVersion, toVersion);
88
+ return {
89
+ renames: migrations.filter((m) => m.type === "rename").length,
90
+ deletes: migrations.filter((m) => m.type === "delete").length,
91
+ };
92
+ }
93
+ /**
94
+ * Get all registered migration versions
95
+ */
96
+ export function getAllMigrationVersions() {
97
+ const manifests = loadManifests();
98
+ return Object.keys(manifests).sort(compareVersions);
99
+ }
100
+ /**
101
+ * Get ALL migrations from all manifests (regardless of version)
102
+ * Used for detecting orphaned migrations that should have been applied
103
+ */
104
+ export function getAllMigrations() {
105
+ const manifests = loadManifests();
106
+ const allMigrations = [];
107
+ for (const manifest of Object.values(manifests)) {
108
+ allMigrations.push(...manifest.migrations);
109
+ }
110
+ return allMigrations;
111
+ }
112
+ /**
113
+ * Clear the manifest cache (useful for testing)
114
+ */
115
+ export function clearManifestCache() {
116
+ manifestCache = null;
117
+ }
118
+ /**
119
+ * Get aggregated metadata for migrations between versions
120
+ * Returns combined changelog, breaking status, migrate recommendation, and migration guides
121
+ */
122
+ export function getMigrationMetadata(fromVersion, toVersion) {
123
+ const manifests = loadManifests();
124
+ const versions = Object.keys(manifests).sort(compareVersions);
125
+ // Filter to versions > fromVersion and <= toVersion
126
+ const applicableVersions = versions.filter((v) => {
127
+ const afterFrom = compareVersions(v, fromVersion) > 0;
128
+ const atOrBeforeTo = compareVersions(v, toVersion) <= 0;
129
+ return afterFrom && atOrBeforeTo;
130
+ });
131
+ const result = {
132
+ changelog: [],
133
+ breaking: false,
134
+ recommendMigrate: false,
135
+ migrationGuides: [],
136
+ };
137
+ for (const version of applicableVersions) {
138
+ const manifest = manifests[version];
139
+ if (manifest) {
140
+ if (manifest.changelog) {
141
+ result.changelog.push(`v${version}: ${manifest.changelog}`);
142
+ }
143
+ if (manifest.breaking) {
144
+ result.breaking = true;
145
+ }
146
+ if (manifest.recommendMigrate) {
147
+ result.recommendMigrate = true;
148
+ }
149
+ if (manifest.migrationGuide) {
150
+ result.migrationGuides.push({
151
+ version,
152
+ guide: manifest.migrationGuide,
153
+ aiInstructions: manifest.aiInstructions,
154
+ });
155
+ }
156
+ }
157
+ }
158
+ return result;
159
+ }
160
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.0.1",
3
+ "description": "Codex platform integration and test/doc alignment",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**New Features:**\n- feat(platform): add Codex as a first-class platform in AI tool registry (types, CLI flag, init options, configurator dispatch)\n- feat(templates): add Codex skill templates under `src/templates/codex/skills/*/SKILL.md`\n- feat(configurator): add `configureCodex()` and template collection mapping to `.agents/skills/<name>/SKILL.md`\n- feat(runtime): extend Python `cli_adapter.py` / `registry.py` to support Codex detection and command path mapping\n\n**Testing:**\n- test(codex): add focused coverage for Codex template loading, init behavior, managed path detection, platform configurator output, and regression checks\n- test: full suite passing (`pnpm lint`, `pnpm typecheck`, `pnpm test`, `pnpm test:coverage`)\n\n**Documentation & Workflow:**\n- docs(workflow): add `improve-ut` skill/command to standardize UT planning and reporting\n- docs(spec): update backend platform integration guidance for Codex scope and common pitfalls",
7
+ "migrations": [],
8
+ "notes": "No migration required. Existing projects can adopt Codex via re-init/update workflows; no file rename/delete migration is needed."
9
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "version": "0.1.9",
3
+ "description": "Rename deprecated command files",
4
+ "migrations": [
5
+ {
6
+ "type": "rename",
7
+ "from": ".claude/commands/onboard-developer.md",
8
+ "to": ".claude/commands/onboard.md",
9
+ "description": "Shortened onboard-developer to onboard"
10
+ },
11
+ {
12
+ "type": "rename",
13
+ "from": ".cursor/commands/onboard-developer.md",
14
+ "to": ".cursor/commands/onboard.md",
15
+ "description": "Shortened onboard-developer to onboard"
16
+ },
17
+ {
18
+ "type": "rename",
19
+ "from": ".claude/commands/record-agent-flow.md",
20
+ "to": ".claude/commands/record-session.md",
21
+ "description": "Renamed record-agent-flow to record-session"
22
+ },
23
+ {
24
+ "type": "rename",
25
+ "from": ".cursor/commands/record-agent-flow.md",
26
+ "to": ".cursor/commands/record-session.md",
27
+ "description": "Renamed record-agent-flow to record-session"
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "description": "Comprehensive naming redesign for clarity",
4
+ "migrations": [
5
+ {
6
+ "type": "rename-dir",
7
+ "from": ".trellis/agent-traces",
8
+ "to": ".trellis/workspace",
9
+ "description": "Rename agent-traces to workspace (developer work records)"
10
+ },
11
+ {
12
+ "type": "rename-dir",
13
+ "from": ".trellis/structure",
14
+ "to": ".trellis/spec",
15
+ "description": "Rename structure to spec (development guidelines)"
16
+ },
17
+ {
18
+ "type": "rename-dir",
19
+ "from": ".trellis/backlog",
20
+ "to": ".trellis/tasks",
21
+ "description": "Rename backlog to tasks (unified task tracking)"
22
+ },
23
+ {
24
+ "type": "rename",
25
+ "from": ".trellis/scripts/feature.sh",
26
+ "to": ".trellis/scripts/task.sh",
27
+ "description": "Rename feature.sh to task.sh"
28
+ },
29
+ {
30
+ "type": "rename",
31
+ "from": ".trellis/scripts/common/backlog.sh",
32
+ "to": ".trellis/scripts/common/task-queue.sh",
33
+ "description": "Rename backlog.sh to task-queue.sh"
34
+ },
35
+ {
36
+ "type": "rename",
37
+ "from": ".trellis/scripts/common/feature-utils.sh",
38
+ "to": ".trellis/scripts/common/task-utils.sh",
39
+ "description": "Rename feature-utils.sh to task-utils.sh"
40
+ },
41
+ {
42
+ "type": "rename",
43
+ "from": ".trellis/.current-feature",
44
+ "to": ".trellis/.current-task",
45
+ "description": "Rename .current-feature to .current-task"
46
+ }
47
+ ],
48
+ "notes": "Complex migrations (features→tasks, traces→journal) require running scripts/migrate-features-to-tasks.sh"
49
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.2.12",
3
+ "description": "Init file conflict handling improvement",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(init): use writeFile for all file copies to allow user choice on conflicts",
7
+ "migrations": [],
8
+ "notes": "No migration required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.2.13",
3
+ "description": "Hotfix release",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "Hotfix release with minor improvements.",
7
+ "migrations": [],
8
+ "notes": "No migration required."
9
+ }