@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,9 @@
1
+ {
2
+ "version": "0.3.0-beta.8",
3
+ "description": "Task commands now support task name lookup",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "All task commands (start, init-context, set-branch, etc.) now support task name in addition to full path. Example: `python3 task.py start my-task` instead of `python3 task.py start .trellis/tasks/01-31-my-task`.",
7
+ "migrations": [],
8
+ "notes": "Usability improvement. No migration required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-beta.9",
3
+ "description": "OpenCode platform support",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "Added OpenCode platform support:\n\n**New Features:**\n- `trellis init --opencode` - Initialize project for OpenCode\n- `--platform opencode` flag for plan.py, start.py\n- Complete `.opencode/` templates (agents, commands, plugins)\n- Session ID extraction and resume for OpenCode (`ses_xxx` format)\n- CLI adapter abstraction (`cli_adapter.py`)\n\n**Changes:**\n- Agent definitions use `permission:` format instead of deprecated `tools:`\n- Agents no longer hardcode `model:` field, inherit from user's global config\n- `status.py` outputs platform-specific resume commands\n\n**OpenCode Usage:**\n```bash\n# Initialize\ntrellis init --opencode\n\n# Multi-agent with OpenCode\npython3 .trellis/scripts/multi_agent/plan.py --platform opencode ...\npython3 .trellis/scripts/multi_agent/start.py --platform opencode ...\n```\n\n**Note:** Full subagent context injection requires oh-my-opencode (omo). Without omo, agents use Self-Loading fallback.",
7
+ "migrations": [],
8
+ "notes": "New platform support. No migration required for existing Claude Code users."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-rc.0",
3
+ "description": "Registry refactor, bug fixes, test coverage, release tooling",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**New Features:**\n- feat(init): support remote spec templates from docs repo\n- feat(scripts): create-manifest.js supports beta/rc/release workflows\n- feat(scripts): add release:rc script to package.json\n\n**Bug Fixes:**\n- fix: template placeholder roundtrip — collectTemplates settings now resolve {{PYTHON_CMD}} correctly\n- fix: remove stale cross-platform-thinking-guide.md reference from update command\n- fix: tool flags (--claude etc.) now take precedence over -y default\n- fix: Windows python3 command compatibility ({{PYTHON_CMD}} placeholder)\n\n**Refactor:**\n- refactor: centralized platform registry pattern (replaces scattered init/update logic)\n- refactor: extract resolvePlaceholders to shared.ts, remove templates.ts dispatcher\n- refactor: simplify tool selection with data-driven approach\n- refactor: extract VERSION constant to src/constants/version.ts\n\n**Testing:**\n- 312 tests across 17 files (unit, integration, regression)\n- @vitest/coverage-v8 with pnpm test:coverage\n\n**Documentation:**\n- docs: add .trellis/spec/unit-test/ conventions (4 files)\n- docs: update platform-integration.md with registry pattern, known gaps, CliFlag type\n- docs: integrate test guidance into workflow commands (start, check-backend, finish-work)",
7
+ "migrations": [],
8
+ "notes": "No migration required. First release candidate — feature complete, stabilization phase."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-rc.1",
3
+ "description": "Fix CLI version comparison for prerelease versions",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix: CLI startup incorrectly reports rc version as older than beta (e.g., 0.3.0-rc.0 < 0.3.0-beta.16)\n- fix: deduplicate compareVersions — extract to shared utils/compare-versions.ts (was duplicated 3x with inconsistent implementations)\n\n**Root Cause:**\n- cli/index.ts used a simplified compareVersions that ignored prerelease identifiers, parsing \"0.3.0-rc.0\" as [0, 3, 0, 0] and \"0.3.0-beta.16\" as [0, 3, 0, 16], concluding rc < beta\n- commands/update.ts and migrations/index.ts had the correct full implementation but it was not shared",
7
+ "migrations": [],
8
+ "notes": "No migration required. Hotfix for version comparison bug introduced in rc.0."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.0-rc.2",
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,71 @@
1
+ > [← 返回根目录](../../CLAUDE.md) | **src/templates/**
2
+ >
3
+ > 本模块提供 AIM Studio 的模板系统,用于生成各种 AI 工具的配置文件。
4
+
5
+ ## 概览
6
+
7
+ `src/templates/` 包含各 AI 开发工具的配置模板和模板处理逻辑。
8
+
9
+ ## 模块索引
10
+
11
+ | 目录/文件 | 导出 | 职责 |
12
+ | --- | --- | --- |
13
+ | `extract.ts` | `extractFrontmatter()` | 提取 Markdown 前后置元数据 |
14
+ | `claude/` | `ClaudeTemplates` | Claude Code 模板 |
15
+ | `aim/` | `AimTemplates` | Python 脚本模板 |
16
+ | `markdown/` | `MarkdownTemplates` | Markdown 模板 |
17
+
18
+ ## 依赖关系
19
+
20
+ ```
21
+ src/templates/
22
+ ├── extract.ts (元数据提取工具)
23
+ ├── claude/ → .claude/{agents,commands,hooks}/
24
+ ├── aim/ → .aim-studio/scripts/*.py
25
+ └── markdown/ → .aim-studio/spec/*.md
26
+ ```
27
+
28
+ ## 模板结构
29
+
30
+ 每个工具的模板目录通常包含:
31
+
32
+ ```
33
+ templates/{tool}/
34
+ ├── {agent}.md # Agent 定义
35
+ ├── {command}.md # 命令定义
36
+ ├── {hook}.py # Hook 脚本
37
+ └── spec/ # 规范文件
38
+ ```
39
+
40
+ ## 关键 API
41
+
42
+ ### 模板渲染
43
+
44
+ ```typescript
45
+ import { renderTemplate } from "./templates/index.js";
46
+
47
+ const rendered = renderTemplate("claude/implement.md", {
48
+ user: "developer-name",
49
+ project: "my-project",
50
+ });
51
+ ```
52
+
53
+ ### 前后置元数据
54
+
55
+ ```typescript
56
+ import { extractFrontmatter } from "./templates/extract.ts";
57
+
58
+ interface Frontmatter {
59
+ title?: string;
60
+ description?: string;
61
+ tags?: string[];
62
+ }
63
+
64
+ const { frontmatter, content } = extractFrontmatter(markdownString);
65
+ ```
66
+
67
+ ## 相关模块
68
+
69
+ - [src/commands/](../commands/) - 命令入口
70
+ - [src/configurators/](../configurators/) - 配置器
71
+ - [src/utils/](../utils/) - 工具函数
@@ -0,0 +1,29 @@
1
+ # Developer identity (local only)
2
+ .developer
3
+
4
+ # Current task pointer (each dev works on different task)
5
+ .current-task
6
+
7
+ # Ralph Loop state file
8
+ .ralph-state.json
9
+
10
+ # Agent runtime files
11
+ .agents/
12
+ .agent-log
13
+ .session-id
14
+
15
+ # Task directory runtime files
16
+ .plan-log
17
+
18
+ # Atomic update temp files
19
+ *.tmp
20
+
21
+ # Update backup directories
22
+ .backup-*
23
+
24
+ # Conflict resolution temp files
25
+ *.new
26
+
27
+ # Python cache
28
+ **/__pycache__/
29
+ **/*.pyc
@@ -0,0 +1,49 @@
1
+ /**
2
+ * AIM Studio workflow templates
3
+ *
4
+ * These are GENERIC templates for user projects.
5
+ * Do NOT use AIM Studio project's own .aim-studio/ directory (which may be customized).
6
+ *
7
+ * Directory structure:
8
+ * aim/
9
+ * ├── scripts/
10
+ * │ ├── __init__.py
11
+ * │ ├── common/ # Shared utilities (Python)
12
+ * │ ├── multi_agent/ # Multi-agent pipeline scripts (Python)
13
+ * │ └── *.py # Main scripts (Python)
14
+ * ├── scripts-shell-archive/ # Archived shell scripts (for reference)
15
+ * ├── workflow.md # Workflow guide
16
+ * ├── worktree.yaml # Worktree configuration
17
+ * └── gitignore.txt # .gitignore content
18
+ */
19
+ export declare const scriptsInit: string;
20
+ export declare const commonInit: string;
21
+ export declare const commonPaths: string;
22
+ export declare const commonDeveloper: string;
23
+ export declare const commonGitContext: string;
24
+ export declare const commonWorktree: string;
25
+ export declare const commonTaskQueue: string;
26
+ export declare const commonTaskUtils: string;
27
+ export declare const commonPhase: string;
28
+ export declare const commonRegistry: string;
29
+ export declare const commonCliAdapter: string;
30
+ export declare const multiAgentInit: string;
31
+ export declare const multiAgentStart: string;
32
+ export declare const multiAgentCleanup: string;
33
+ export declare const multiAgentStatus: string;
34
+ export declare const multiAgentCreatePr: string;
35
+ export declare const multiAgentPlan: string;
36
+ export declare const getDeveloperScript: string;
37
+ export declare const initDeveloperScript: string;
38
+ export declare const taskScript: string;
39
+ export declare const getContextScript: string;
40
+ export declare const addSessionScript: string;
41
+ export declare const createBootstrapScript: string;
42
+ export declare const workflowMdTemplate: string;
43
+ export declare const worktreeYamlTemplate: string;
44
+ export declare const gitignoreTemplate: string;
45
+ /**
46
+ * Get all script templates as a map of relative path to content
47
+ */
48
+ export declare function getAllScripts(): Map<string, string>;
49
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/aim/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAcH,eAAO,MAAM,WAAW,QAAsC,CAAC;AAG/D,eAAO,MAAM,UAAU,QAA6C,CAAC;AACrE,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,eAAe,QAA8C,CAAC;AAC3E,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAC9E,eAAO,MAAM,cAAc,QAA6C,CAAC;AACzE,eAAO,MAAM,eAAe,QAA+C,CAAC;AAC5E,eAAO,MAAM,eAAe,QAA+C,CAAC;AAC5E,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,cAAc,QAA6C,CAAC;AACzE,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAG9E,eAAO,MAAM,cAAc,QAAkD,CAAC;AAC9E,eAAO,MAAM,eAAe,QAA+C,CAAC;AAC5E,eAAO,MAAM,iBAAiB,QAAiD,CAAC;AAChF,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAC9E,eAAO,MAAM,kBAAkB,QAAmD,CAAC;AACnF,eAAO,MAAM,cAAc,QAA8C,CAAC;AAG1E,eAAO,MAAM,kBAAkB,QAA2C,CAAC;AAC3E,eAAO,MAAM,mBAAmB,QAA4C,CAAC;AAC7E,eAAO,MAAM,UAAU,QAAkC,CAAC;AAC1D,eAAO,MAAM,gBAAgB,QAAyC,CAAC;AACvE,eAAO,MAAM,gBAAgB,QAAyC,CAAC;AACvE,eAAO,MAAM,qBAAqB,QAA8C,CAAC;AAGjF,eAAO,MAAM,kBAAkB,QAA8B,CAAC;AAC9D,eAAO,MAAM,oBAAoB,QAAgC,CAAC;AAClE,eAAO,MAAM,iBAAiB,QAAgC,CAAC;AAE/D;;GAEG;AACH,wBAAgB,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAmCnD"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * AIM Studio workflow templates
3
+ *
4
+ * These are GENERIC templates for user projects.
5
+ * Do NOT use AIM Studio project's own .aim-studio/ directory (which may be customized).
6
+ *
7
+ * Directory structure:
8
+ * aim/
9
+ * ├── scripts/
10
+ * │ ├── __init__.py
11
+ * │ ├── common/ # Shared utilities (Python)
12
+ * │ ├── multi_agent/ # Multi-agent pipeline scripts (Python)
13
+ * │ └── *.py # Main scripts (Python)
14
+ * ├── scripts-shell-archive/ # Archived shell scripts (for reference)
15
+ * ├── workflow.md # Workflow guide
16
+ * ├── worktree.yaml # Worktree configuration
17
+ * └── gitignore.txt # .gitignore content
18
+ */
19
+ import { readFileSync } from "node:fs";
20
+ import { dirname, join } from "node:path";
21
+ import { fileURLToPath } from "node:url";
22
+ const __filename = fileURLToPath(import.meta.url);
23
+ const __dirname = dirname(__filename);
24
+ function readTemplate(relativePath) {
25
+ return readFileSync(join(__dirname, relativePath), "utf-8");
26
+ }
27
+ // Python scripts - package init
28
+ export const scriptsInit = readTemplate("scripts/__init__.py");
29
+ // Python scripts - common
30
+ export const commonInit = readTemplate("scripts/common/__init__.py");
31
+ export const commonPaths = readTemplate("scripts/common/paths.py");
32
+ export const commonDeveloper = readTemplate("scripts/common/developer.py");
33
+ export const commonGitContext = readTemplate("scripts/common/git_context.py");
34
+ export const commonWorktree = readTemplate("scripts/common/worktree.py");
35
+ export const commonTaskQueue = readTemplate("scripts/common/task_queue.py");
36
+ export const commonTaskUtils = readTemplate("scripts/common/task_utils.py");
37
+ export const commonPhase = readTemplate("scripts/common/phase.py");
38
+ export const commonRegistry = readTemplate("scripts/common/registry.py");
39
+ export const commonCliAdapter = readTemplate("scripts/common/cli_adapter.py");
40
+ // Python scripts - multi_agent
41
+ export const multiAgentInit = readTemplate("scripts/multi_agent/__init__.py");
42
+ export const multiAgentStart = readTemplate("scripts/multi_agent/start.py");
43
+ export const multiAgentCleanup = readTemplate("scripts/multi_agent/cleanup.py");
44
+ export const multiAgentStatus = readTemplate("scripts/multi_agent/status.py");
45
+ export const multiAgentCreatePr = readTemplate("scripts/multi_agent/create_pr.py");
46
+ export const multiAgentPlan = readTemplate("scripts/multi_agent/plan.py");
47
+ // Python scripts - main
48
+ export const getDeveloperScript = readTemplate("scripts/get_developer.py");
49
+ export const initDeveloperScript = readTemplate("scripts/init_developer.py");
50
+ export const taskScript = readTemplate("scripts/task.py");
51
+ export const getContextScript = readTemplate("scripts/get_context.py");
52
+ export const addSessionScript = readTemplate("scripts/add_session.py");
53
+ export const createBootstrapScript = readTemplate("scripts/create_bootstrap.py");
54
+ // Configuration files
55
+ export const workflowMdTemplate = readTemplate("workflow.md");
56
+ export const worktreeYamlTemplate = readTemplate("worktree.yaml");
57
+ export const gitignoreTemplate = readTemplate("gitignore.txt");
58
+ /**
59
+ * Get all script templates as a map of relative path to content
60
+ */
61
+ export function getAllScripts() {
62
+ const scripts = new Map();
63
+ // Package init
64
+ scripts.set("__init__.py", scriptsInit);
65
+ // Common
66
+ scripts.set("common/__init__.py", commonInit);
67
+ scripts.set("common/paths.py", commonPaths);
68
+ scripts.set("common/developer.py", commonDeveloper);
69
+ scripts.set("common/git_context.py", commonGitContext);
70
+ scripts.set("common/worktree.py", commonWorktree);
71
+ scripts.set("common/task_queue.py", commonTaskQueue);
72
+ scripts.set("common/task_utils.py", commonTaskUtils);
73
+ scripts.set("common/phase.py", commonPhase);
74
+ scripts.set("common/registry.py", commonRegistry);
75
+ scripts.set("common/cli_adapter.py", commonCliAdapter);
76
+ // Multi-agent
77
+ scripts.set("multi_agent/__init__.py", multiAgentInit);
78
+ scripts.set("multi_agent/start.py", multiAgentStart);
79
+ scripts.set("multi_agent/cleanup.py", multiAgentCleanup);
80
+ scripts.set("multi_agent/status.py", multiAgentStatus);
81
+ scripts.set("multi_agent/create_pr.py", multiAgentCreatePr);
82
+ scripts.set("multi_agent/plan.py", multiAgentPlan);
83
+ // Main
84
+ scripts.set("get_developer.py", getDeveloperScript);
85
+ scripts.set("init_developer.py", initDeveloperScript);
86
+ scripts.set("task.py", taskScript);
87
+ scripts.set("get_context.py", getContextScript);
88
+ scripts.set("add_session.py", addSessionScript);
89
+ scripts.set("create_bootstrap.py", createBootstrapScript);
90
+ return scripts;
91
+ }
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/aim/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,SAAS,YAAY,CAAC,YAAoB;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,gCAAgC;AAChC,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC;AAE/D,0BAA0B;AAC1B,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,yBAAyB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,yBAAyB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAE9E,+BAA+B;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,iCAAiC,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC,gCAAgC,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC,kCAAkC,CAAC,CAAC;AACnF,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAE1E,wBAAwB;AACxB,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAEjF,sBAAsB;AACtB,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1C,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAExC,SAAS;IACT,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;IAEvD,cAAc;IACd,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;IAEnD,OAAO;IACP,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;IAE1D,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,5 @@
1
+ """
2
+ AIM Studio Python Scripts
3
+
4
+ This module provides Python implementations of AIM Studio workflow scripts.
5
+ """