@codemieai/code 0.0.2 → 0.0.4

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 (360) hide show
  1. package/README.md +357 -719
  2. package/bin/codemie-claude.js +145 -0
  3. package/bin/codemie-code.js +128 -15
  4. package/bin/codemie-codex.js +137 -0
  5. package/bin/codemie.js +1 -1
  6. package/dist/agents/adapters/claude-code.d.ts +7 -2
  7. package/dist/agents/adapters/claude-code.d.ts.map +1 -1
  8. package/dist/agents/adapters/claude-code.js +94 -58
  9. package/dist/agents/adapters/claude-code.js.map +1 -1
  10. package/dist/agents/adapters/codemie-code.d.ts +11 -2
  11. package/dist/agents/adapters/codemie-code.d.ts.map +1 -1
  12. package/dist/agents/adapters/codemie-code.js +93 -25
  13. package/dist/agents/adapters/codemie-code.js.map +1 -1
  14. package/dist/agents/adapters/codex.d.ts +7 -2
  15. package/dist/agents/adapters/codex.d.ts.map +1 -1
  16. package/dist/agents/adapters/codex.js +104 -39
  17. package/dist/agents/adapters/codex.js.map +1 -1
  18. package/dist/agents/codemie-code/agent.d.ts +89 -0
  19. package/dist/agents/codemie-code/agent.d.ts.map +1 -0
  20. package/dist/agents/codemie-code/agent.js +689 -0
  21. package/dist/agents/codemie-code/agent.js.map +1 -0
  22. package/dist/agents/codemie-code/config.d.ts +40 -0
  23. package/dist/agents/codemie-code/config.d.ts.map +1 -0
  24. package/dist/agents/codemie-code/config.js +278 -0
  25. package/dist/agents/codemie-code/config.js.map +1 -0
  26. package/dist/agents/codemie-code/filters.d.ts +91 -0
  27. package/dist/agents/codemie-code/filters.d.ts.map +1 -0
  28. package/dist/agents/codemie-code/filters.js +328 -0
  29. package/dist/agents/codemie-code/filters.js.map +1 -0
  30. package/dist/agents/codemie-code/index.d.ts +92 -0
  31. package/dist/agents/codemie-code/index.d.ts.map +1 -0
  32. package/dist/agents/codemie-code/index.js +327 -0
  33. package/dist/agents/codemie-code/index.js.map +1 -0
  34. package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts +87 -0
  35. package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts.map +1 -0
  36. package/dist/agents/codemie-code/modes/contextAwarePlanning.js +957 -0
  37. package/dist/agents/codemie-code/modes/contextAwarePlanning.js.map +1 -0
  38. package/dist/agents/codemie-code/modes/planMode.d.ts +116 -0
  39. package/dist/agents/codemie-code/modes/planMode.d.ts.map +1 -0
  40. package/dist/agents/codemie-code/modes/planMode.js +537 -0
  41. package/dist/agents/codemie-code/modes/planMode.js.map +1 -0
  42. package/dist/agents/codemie-code/prompts.d.ts +40 -0
  43. package/dist/agents/codemie-code/prompts.d.ts.map +1 -0
  44. package/dist/agents/codemie-code/prompts.js +160 -0
  45. package/dist/agents/codemie-code/prompts.js.map +1 -0
  46. package/dist/agents/codemie-code/storage/todoStorage.d.ts +78 -0
  47. package/dist/agents/codemie-code/storage/todoStorage.d.ts.map +1 -0
  48. package/dist/agents/codemie-code/storage/todoStorage.js +225 -0
  49. package/dist/agents/codemie-code/storage/todoStorage.js.map +1 -0
  50. package/dist/agents/codemie-code/tokenUtils.d.ts +108 -0
  51. package/dist/agents/codemie-code/tokenUtils.d.ts.map +1 -0
  52. package/dist/agents/codemie-code/tokenUtils.js +220 -0
  53. package/dist/agents/codemie-code/tokenUtils.js.map +1 -0
  54. package/dist/agents/codemie-code/toolMetadata.d.ts +15 -0
  55. package/dist/agents/codemie-code/toolMetadata.d.ts.map +1 -0
  56. package/dist/agents/codemie-code/toolMetadata.js +315 -0
  57. package/dist/agents/codemie-code/toolMetadata.js.map +1 -0
  58. package/dist/agents/codemie-code/tools/index.d.ts +45 -0
  59. package/dist/agents/codemie-code/tools/index.d.ts.map +1 -0
  60. package/dist/agents/codemie-code/tools/index.js +407 -0
  61. package/dist/agents/codemie-code/tools/index.js.map +1 -0
  62. package/dist/agents/codemie-code/tools/planning.d.ts +53 -0
  63. package/dist/agents/codemie-code/tools/planning.d.ts.map +1 -0
  64. package/dist/agents/codemie-code/tools/planning.js +224 -0
  65. package/dist/agents/codemie-code/tools/planning.js.map +1 -0
  66. package/dist/agents/codemie-code/types.d.ts +418 -0
  67. package/dist/agents/codemie-code/types.d.ts.map +1 -0
  68. package/dist/agents/codemie-code/types.js +35 -0
  69. package/dist/agents/codemie-code/types.js.map +1 -0
  70. package/dist/agents/codemie-code/ui/progressTracker.d.ts +125 -0
  71. package/dist/agents/codemie-code/ui/progressTracker.d.ts.map +1 -0
  72. package/dist/agents/codemie-code/ui/progressTracker.js +343 -0
  73. package/dist/agents/codemie-code/ui/progressTracker.js.map +1 -0
  74. package/dist/agents/codemie-code/ui/todoPanel.d.ts +112 -0
  75. package/dist/agents/codemie-code/ui/todoPanel.d.ts.map +1 -0
  76. package/dist/agents/codemie-code/ui/todoPanel.js +318 -0
  77. package/dist/agents/codemie-code/ui/todoPanel.js.map +1 -0
  78. package/dist/agents/codemie-code/ui.d.ts +179 -0
  79. package/dist/agents/codemie-code/ui.d.ts.map +1 -0
  80. package/dist/agents/codemie-code/ui.js +1408 -0
  81. package/dist/agents/codemie-code/ui.js.map +1 -0
  82. package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts +87 -0
  83. package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts.map +1 -0
  84. package/dist/agents/codemie-code/utils/progressionEnforcer.js +293 -0
  85. package/dist/agents/codemie-code/utils/progressionEnforcer.js.map +1 -0
  86. package/dist/agents/codemie-code/utils/todoParser.d.ts +41 -0
  87. package/dist/agents/codemie-code/utils/todoParser.d.ts.map +1 -0
  88. package/dist/agents/codemie-code/utils/todoParser.js +305 -0
  89. package/dist/agents/codemie-code/utils/todoParser.js.map +1 -0
  90. package/dist/agents/codemie-code/utils/todoValidator.d.ts +65 -0
  91. package/dist/agents/codemie-code/utils/todoValidator.d.ts.map +1 -0
  92. package/dist/agents/codemie-code/utils/todoValidator.js +249 -0
  93. package/dist/agents/codemie-code/utils/todoValidator.js.map +1 -0
  94. package/dist/agents/codemie-code/validators/planValidator.d.ts +94 -0
  95. package/dist/agents/codemie-code/validators/planValidator.d.ts.map +1 -0
  96. package/dist/agents/codemie-code/validators/planValidator.js +281 -0
  97. package/dist/agents/codemie-code/validators/planValidator.js.map +1 -0
  98. package/dist/agents/registry.d.ts +1 -1
  99. package/dist/agents/registry.d.ts.map +1 -1
  100. package/dist/agents/registry.js +11 -15
  101. package/dist/agents/registry.js.map +1 -1
  102. package/dist/cli/commands/auth.d.ts +3 -0
  103. package/dist/cli/commands/auth.d.ts.map +1 -0
  104. package/dist/cli/commands/auth.js +170 -0
  105. package/dist/cli/commands/auth.js.map +1 -0
  106. package/dist/cli/commands/config.d.ts +3 -0
  107. package/dist/cli/commands/config.d.ts.map +1 -0
  108. package/dist/cli/commands/config.js +350 -0
  109. package/dist/cli/commands/config.js.map +1 -0
  110. package/dist/cli/commands/doctor.d.ts.map +1 -1
  111. package/dist/cli/commands/doctor.js +308 -71
  112. package/dist/cli/commands/doctor.js.map +1 -1
  113. package/dist/cli/commands/env.d.ts +3 -0
  114. package/dist/cli/commands/env.d.ts.map +1 -0
  115. package/dist/cli/commands/env.js +19 -0
  116. package/dist/cli/commands/env.js.map +1 -0
  117. package/dist/cli/commands/install.d.ts.map +1 -1
  118. package/dist/cli/commands/install.js +28 -33
  119. package/dist/cli/commands/install.js.map +1 -1
  120. package/dist/cli/commands/list.js +18 -24
  121. package/dist/cli/commands/list.js.map +1 -1
  122. package/dist/cli/commands/run.d.ts.map +1 -1
  123. package/dist/cli/commands/run.js +297 -31
  124. package/dist/cli/commands/run.js.map +1 -1
  125. package/dist/cli/commands/setup.d.ts +3 -0
  126. package/dist/cli/commands/setup.d.ts.map +1 -0
  127. package/dist/cli/commands/setup.js +523 -0
  128. package/dist/cli/commands/setup.js.map +1 -0
  129. package/dist/cli/commands/tools.d.ts +6 -0
  130. package/dist/cli/commands/tools.d.ts.map +1 -0
  131. package/dist/cli/commands/tools.js +244 -0
  132. package/dist/cli/commands/tools.js.map +1 -0
  133. package/dist/cli/commands/uninstall.js +24 -30
  134. package/dist/cli/commands/uninstall.js.map +1 -1
  135. package/dist/cli/commands/version.d.ts.map +1 -1
  136. package/dist/cli/commands/version.js +11 -16
  137. package/dist/cli/commands/version.js.map +1 -1
  138. package/dist/cli/commands/workflow.d.ts +6 -0
  139. package/dist/cli/commands/workflow.d.ts.map +1 -0
  140. package/dist/cli/commands/workflow.js +424 -0
  141. package/dist/cli/commands/workflow.js.map +1 -0
  142. package/dist/cli/index.js +85 -35
  143. package/dist/cli/index.js.map +1 -1
  144. package/dist/clients/adapters/github.d.ts +17 -0
  145. package/dist/clients/adapters/github.d.ts.map +1 -0
  146. package/dist/clients/adapters/github.js +150 -0
  147. package/dist/clients/adapters/github.js.map +1 -0
  148. package/dist/clients/adapters/gitlab.d.ts +17 -0
  149. package/dist/clients/adapters/gitlab.d.ts.map +1 -0
  150. package/dist/clients/adapters/gitlab.js +147 -0
  151. package/dist/clients/adapters/gitlab.js.map +1 -0
  152. package/dist/clients/registry.d.ts +20 -0
  153. package/dist/clients/registry.d.ts.map +1 -0
  154. package/dist/clients/registry.js +27 -0
  155. package/dist/clients/registry.js.map +1 -0
  156. package/dist/env/manager.js +9 -46
  157. package/dist/env/manager.js.map +1 -1
  158. package/dist/index.d.ts +6 -13
  159. package/dist/index.d.ts.map +1 -1
  160. package/dist/index.js +6 -43
  161. package/dist/index.js.map +1 -1
  162. package/dist/tools/detector.d.ts +33 -0
  163. package/dist/tools/detector.d.ts.map +1 -0
  164. package/dist/tools/detector.js +145 -0
  165. package/dist/tools/detector.js.map +1 -0
  166. package/dist/tools/index.d.ts +8 -0
  167. package/dist/tools/index.d.ts.map +1 -0
  168. package/dist/tools/index.js +8 -0
  169. package/dist/tools/index.js.map +1 -0
  170. package/dist/tools/manager.d.ts +21 -0
  171. package/dist/tools/manager.d.ts.map +1 -0
  172. package/dist/tools/manager.js +104 -0
  173. package/dist/tools/manager.js.map +1 -0
  174. package/dist/tools/registry.d.ts +8 -0
  175. package/dist/tools/registry.d.ts.map +1 -0
  176. package/dist/tools/registry.js +36 -0
  177. package/dist/tools/registry.js.map +1 -0
  178. package/dist/tools/types.d.ts +41 -0
  179. package/dist/tools/types.d.ts.map +1 -0
  180. package/dist/tools/types.js +5 -0
  181. package/dist/tools/types.js.map +1 -0
  182. package/dist/types/sso.d.ts +42 -0
  183. package/dist/types/sso.d.ts.map +1 -0
  184. package/dist/types/sso.js +2 -0
  185. package/dist/types/sso.js.map +1 -0
  186. package/dist/utils/agent-compatibility.d.ts +32 -0
  187. package/dist/utils/agent-compatibility.d.ts.map +1 -0
  188. package/dist/utils/agent-compatibility.js +140 -0
  189. package/dist/utils/agent-compatibility.js.map +1 -0
  190. package/dist/utils/async-tips.d.ts.map +1 -1
  191. package/dist/utils/async-tips.js +16 -55
  192. package/dist/utils/async-tips.js.map +1 -1
  193. package/dist/utils/clipboard.d.ts +16 -0
  194. package/dist/utils/clipboard.d.ts.map +1 -0
  195. package/dist/utils/clipboard.js +179 -0
  196. package/dist/utils/clipboard.js.map +1 -0
  197. package/dist/utils/codemie-integration-validator.d.ts +17 -0
  198. package/dist/utils/codemie-integration-validator.d.ts.map +1 -0
  199. package/dist/utils/codemie-integration-validator.js +105 -0
  200. package/dist/utils/codemie-integration-validator.js.map +1 -0
  201. package/dist/utils/codemie-model-fetcher.d.ts +11 -0
  202. package/dist/utils/codemie-model-fetcher.d.ts.map +1 -0
  203. package/dist/utils/codemie-model-fetcher.js +242 -0
  204. package/dist/utils/codemie-model-fetcher.js.map +1 -0
  205. package/dist/utils/config-loader.d.ts +118 -0
  206. package/dist/utils/config-loader.d.ts.map +1 -0
  207. package/dist/utils/config-loader.js +397 -0
  208. package/dist/utils/config-loader.js.map +1 -0
  209. package/dist/utils/credential-store.d.ts +16 -0
  210. package/dist/utils/credential-store.d.ts.map +1 -0
  211. package/dist/utils/credential-store.js +109 -0
  212. package/dist/utils/credential-store.js.map +1 -0
  213. package/dist/utils/dirname.d.ts +7 -0
  214. package/dist/utils/dirname.d.ts.map +1 -0
  215. package/dist/utils/dirname.js +11 -0
  216. package/dist/utils/dirname.js.map +1 -0
  217. package/dist/utils/errors.js +7 -17
  218. package/dist/utils/errors.js.map +1 -1
  219. package/dist/utils/exec.js +3 -6
  220. package/dist/utils/exec.js.map +1 -1
  221. package/dist/utils/first-time.d.ts +34 -0
  222. package/dist/utils/first-time.d.ts.map +1 -0
  223. package/dist/utils/first-time.js +226 -0
  224. package/dist/utils/first-time.js.map +1 -0
  225. package/dist/utils/health-checker.d.ts +20 -0
  226. package/dist/utils/health-checker.d.ts.map +1 -0
  227. package/dist/utils/health-checker.js +172 -0
  228. package/dist/utils/health-checker.js.map +1 -0
  229. package/dist/utils/logger.js +12 -18
  230. package/dist/utils/logger.js.map +1 -1
  231. package/dist/utils/model-fetcher.d.ts +21 -0
  232. package/dist/utils/model-fetcher.d.ts.map +1 -0
  233. package/dist/utils/model-fetcher.js +150 -0
  234. package/dist/utils/model-fetcher.js.map +1 -0
  235. package/dist/utils/sso-auth.d.ts +15 -0
  236. package/dist/utils/sso-auth.d.ts.map +1 -0
  237. package/dist/utils/sso-auth.js +207 -0
  238. package/dist/utils/sso-auth.js.map +1 -0
  239. package/dist/utils/sso-gateway.d.ts +47 -0
  240. package/dist/utils/sso-gateway.d.ts.map +1 -0
  241. package/dist/utils/sso-gateway.js +298 -0
  242. package/dist/utils/sso-gateway.js.map +1 -0
  243. package/dist/utils/tips.d.ts.map +1 -1
  244. package/dist/utils/tips.js +13 -52
  245. package/dist/utils/tips.js.map +1 -1
  246. package/dist/workflows/detector.d.ts +37 -0
  247. package/dist/workflows/detector.d.ts.map +1 -0
  248. package/dist/workflows/detector.js +160 -0
  249. package/dist/workflows/detector.js.map +1 -0
  250. package/dist/workflows/index.d.ts +8 -0
  251. package/dist/workflows/index.d.ts.map +1 -0
  252. package/dist/workflows/index.js +8 -0
  253. package/dist/workflows/index.js.map +1 -0
  254. package/dist/workflows/installer.d.ts +24 -0
  255. package/dist/workflows/installer.d.ts.map +1 -0
  256. package/dist/workflows/installer.js +105 -0
  257. package/dist/workflows/installer.js.map +1 -0
  258. package/dist/workflows/registry.d.ts +29 -0
  259. package/dist/workflows/registry.d.ts.map +1 -0
  260. package/dist/workflows/registry.js +54 -0
  261. package/dist/workflows/registry.js.map +1 -0
  262. package/dist/workflows/templates/github/metadata.d.ts +6 -0
  263. package/dist/workflows/templates/github/metadata.d.ts.map +1 -0
  264. package/dist/workflows/templates/github/metadata.js +111 -0
  265. package/dist/workflows/templates/github/metadata.js.map +1 -0
  266. package/dist/workflows/templates/gitlab/metadata.d.ts +6 -0
  267. package/dist/workflows/templates/gitlab/metadata.d.ts.map +1 -0
  268. package/dist/workflows/templates/gitlab/metadata.js +14 -0
  269. package/dist/workflows/templates/gitlab/metadata.js.map +1 -0
  270. package/dist/workflows/types.d.ts +71 -0
  271. package/dist/workflows/types.d.ts.map +1 -0
  272. package/dist/workflows/types.js +5 -0
  273. package/dist/workflows/types.js.map +1 -0
  274. package/package.json +32 -25
  275. package/src/workflows/templates/github/code-ci.yml +529 -0
  276. package/src/workflows/templates/github/inline-fix.yml +665 -0
  277. package/src/workflows/templates/github/pr-review.yml +677 -0
  278. package/.claude/agents/README.md +0 -298
  279. package/.claude/agents/release-manager.md +0 -857
  280. package/.codemie/guides/git-workflow.md +0 -493
  281. package/CLAUDE.md +0 -855
  282. package/dist/agents/adapters/aider.d.ts +0 -12
  283. package/dist/agents/adapters/aider.d.ts.map +0 -1
  284. package/dist/agents/adapters/aider.js +0 -80
  285. package/dist/agents/adapters/aider.js.map +0 -1
  286. package/dist/cli/cli.d.ts +0 -4
  287. package/dist/cli/cli.d.ts.map +0 -1
  288. package/dist/cli/cli.js +0 -107
  289. package/dist/cli/cli.js.map +0 -1
  290. package/dist/cli/commands/mcp.d.ts +0 -3
  291. package/dist/cli/commands/mcp.d.ts.map +0 -1
  292. package/dist/cli/commands/mcp.js +0 -459
  293. package/dist/cli/commands/mcp.js.map +0 -1
  294. package/dist/code/agent-events.d.ts +0 -39
  295. package/dist/code/agent-events.d.ts.map +0 -1
  296. package/dist/code/agent-events.js +0 -4
  297. package/dist/code/agent-events.js.map +0 -1
  298. package/dist/code/agent.d.ts +0 -19
  299. package/dist/code/agent.d.ts.map +0 -1
  300. package/dist/code/agent.js +0 -144
  301. package/dist/code/agent.js.map +0 -1
  302. package/dist/code/config.d.ts +0 -13
  303. package/dist/code/config.d.ts.map +0 -1
  304. package/dist/code/config.js +0 -41
  305. package/dist/code/config.js.map +0 -1
  306. package/dist/code/index.d.ts +0 -19
  307. package/dist/code/index.d.ts.map +0 -1
  308. package/dist/code/index.js +0 -400
  309. package/dist/code/index.js.map +0 -1
  310. package/dist/code/prompts.d.ts +0 -2
  311. package/dist/code/prompts.d.ts.map +0 -1
  312. package/dist/code/prompts.js +0 -45
  313. package/dist/code/prompts.js.map +0 -1
  314. package/dist/code/tools/command.d.ts +0 -8
  315. package/dist/code/tools/command.d.ts.map +0 -1
  316. package/dist/code/tools/command.js +0 -83
  317. package/dist/code/tools/command.js.map +0 -1
  318. package/dist/code/tools/diff-utils.d.ts +0 -2
  319. package/dist/code/tools/diff-utils.d.ts.map +0 -1
  320. package/dist/code/tools/diff-utils.js +0 -45
  321. package/dist/code/tools/diff-utils.js.map +0 -1
  322. package/dist/code/tools/filesystem.d.ts +0 -11
  323. package/dist/code/tools/filesystem.d.ts.map +0 -1
  324. package/dist/code/tools/filesystem.js +0 -442
  325. package/dist/code/tools/filesystem.js.map +0 -1
  326. package/dist/code/tools/git.d.ts +0 -7
  327. package/dist/code/tools/git.d.ts.map +0 -1
  328. package/dist/code/tools/git.js +0 -111
  329. package/dist/code/tools/git.js.map +0 -1
  330. package/dist/code/tools/mcp.d.ts +0 -13
  331. package/dist/code/tools/mcp.d.ts.map +0 -1
  332. package/dist/code/tools/mcp.js +0 -230
  333. package/dist/code/tools/mcp.js.map +0 -1
  334. package/dist/data/tips.json +0 -118
  335. package/dist/ui/terminal-ui.d.ts +0 -73
  336. package/dist/ui/terminal-ui.d.ts.map +0 -1
  337. package/dist/ui/terminal-ui.js +0 -900
  338. package/dist/ui/terminal-ui.js.map +0 -1
  339. package/dist/utils/env-mapper.d.ts +0 -40
  340. package/dist/utils/env-mapper.d.ts.map +0 -1
  341. package/dist/utils/env-mapper.js +0 -122
  342. package/dist/utils/env-mapper.js.map +0 -1
  343. package/docs/USER_GUIDE.md +0 -573
  344. package/eslint.config.mjs +0 -43
  345. package/tests/agent-direct.test.mjs +0 -45
  346. package/tests/agent-output.test.mjs +0 -64
  347. package/tests/codemie-code.test.mjs +0 -42
  348. package/tests/context7-only.test.mjs +0 -42
  349. package/tests/conversation-flow.test.mjs +0 -63
  350. package/tests/interactive-simulation.test.mjs +0 -60
  351. package/tests/live-output.test.mjs +0 -53
  352. package/tests/mcp-context7.test.mjs +0 -105
  353. package/tests/mcp-e2e.test.mjs +0 -109
  354. package/tests/mcp-time-server.test.mjs +0 -58
  355. package/tests/streaming.test.mjs +0 -57
  356. package/tests/test-helpers.mjs +0 -94
  357. package/tests/text-wrapping.test.mjs +0 -33
  358. package/tests/tool-count.test.mjs +0 -81
  359. package/tests/ui-format.test.mjs +0 -39
  360. package/tests/ui-state.test.mjs +0 -72
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Workflow management exports
3
+ */
4
+ export * from './types.js';
5
+ export * from './registry.js';
6
+ export * from './detector.js';
7
+ export * from './installer.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Workflow installation logic
3
+ */
4
+ import type { VCSProvider, WorkflowInstallOptions, WorkflowTemplate } from './types.js';
5
+ /**
6
+ * Install a workflow from template
7
+ */
8
+ export declare function installWorkflow(workflowId: string, provider: VCSProvider, options?: WorkflowInstallOptions, cwd?: string): Promise<{
9
+ path: string;
10
+ action: 'installed' | 'skipped';
11
+ }>;
12
+ /**
13
+ * Uninstall a workflow
14
+ */
15
+ export declare function uninstallWorkflow(workflowId: string, provider: VCSProvider, cwd?: string): Promise<void>;
16
+ /**
17
+ * Validate workflow dependencies
18
+ */
19
+ export declare function validateDependencies(template: WorkflowTemplate): {
20
+ valid: boolean;
21
+ missing: string[];
22
+ warnings: string[];
23
+ };
24
+ //# sourceMappingURL=installer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/workflows/installer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAKxF;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,WAAW,EACrB,OAAO,GAAE,sBAA2B,EACpC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,CAAC,CAsC5D;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,WAAW,EACrB,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAYf;AAwCD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAChE,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAgCA"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Workflow installation logic
3
+ */
4
+ import * as fs from 'node:fs';
5
+ import * as path from 'node:path';
6
+ import { getTemplate } from './registry.js';
7
+ import { ensureWorkflowDir, isWorkflowInstalled } from './detector.js';
8
+ import { isToolInstalled } from '../tools/detector.js';
9
+ /**
10
+ * Install a workflow from template
11
+ */
12
+ export async function installWorkflow(workflowId, provider, options = {}, cwd = process.cwd()) {
13
+ const { dryRun = false, force = false } = options;
14
+ // Get template
15
+ const template = getTemplate(workflowId, provider);
16
+ if (!template) {
17
+ throw new Error(`Workflow template '${workflowId}' not found for ${provider}`);
18
+ }
19
+ // Get destination path
20
+ const workflowDir = ensureWorkflowDir(provider, cwd);
21
+ const fileName = `codemie-${workflowId}.yml`;
22
+ const destPath = path.join(workflowDir, fileName);
23
+ // Check if already installed
24
+ if (isWorkflowInstalled(workflowId, provider, cwd) && !force) {
25
+ return { path: destPath, action: 'skipped' };
26
+ }
27
+ // Read template content
28
+ const templateContent = fs.readFileSync(template.templatePath, 'utf-8');
29
+ // Apply customizations
30
+ const customizedContent = applyCustomizations(templateContent, template, options);
31
+ // Dry run: just show what would be installed
32
+ if (dryRun) {
33
+ console.log(`\nDry run: Would install workflow to: ${destPath}\n`);
34
+ console.log('--- Preview ---');
35
+ console.log(customizedContent);
36
+ console.log('---------------\n');
37
+ return { path: destPath, action: 'installed' };
38
+ }
39
+ // Write workflow file
40
+ fs.writeFileSync(destPath, customizedContent, 'utf-8');
41
+ return { path: destPath, action: 'installed' };
42
+ }
43
+ /**
44
+ * Uninstall a workflow
45
+ */
46
+ export async function uninstallWorkflow(workflowId, provider, cwd = process.cwd()) {
47
+ if (!isWorkflowInstalled(workflowId, provider, cwd)) {
48
+ throw new Error(`Workflow '${workflowId}' is not installed`);
49
+ }
50
+ const workflowDir = ensureWorkflowDir(provider, cwd);
51
+ const fileName = `codemie-${workflowId}.yml`;
52
+ const filePath = path.join(workflowDir, fileName);
53
+ if (fs.existsSync(filePath)) {
54
+ fs.unlinkSync(filePath);
55
+ }
56
+ }
57
+ /**
58
+ * Apply customizations to template content
59
+ */
60
+ function applyCustomizations(content, template, options) {
61
+ let result = content;
62
+ // Apply timeout customization
63
+ if (options.timeout !== undefined) {
64
+ result = result.replace(/timeout-minutes:\s*\d+/g, `timeout-minutes: ${options.timeout}`);
65
+ }
66
+ // Apply max-turns customization
67
+ if (options.maxTurns !== undefined) {
68
+ const maxTurnsPattern = /MAX_TURNS:\s*\$\{\{\s*vars\.CODEMIE_MAX_TURNS\s*\|\|\s*['"](\d+)['"]\s*\}\}/g;
69
+ result = result.replace(maxTurnsPattern, `MAX_TURNS: \${{ vars.CODEMIE_MAX_TURNS || '${options.maxTurns}' }}`);
70
+ }
71
+ // Apply environment customization
72
+ if (options.environment) {
73
+ result = result.replace(/environment:\s*\w+/g, `environment: ${options.environment}`);
74
+ }
75
+ return result;
76
+ }
77
+ /**
78
+ * Validate workflow dependencies
79
+ */
80
+ export function validateDependencies(template) {
81
+ const missing = [];
82
+ const warnings = [];
83
+ // Check required secrets (this is informational - can't actually check secrets)
84
+ if (template.dependencies.secrets.length > 0) {
85
+ warnings.push(`This workflow requires the following secrets to be configured:\n - ${template.dependencies.secrets.join('\n - ')}`);
86
+ }
87
+ // Check optional secrets
88
+ if (template.dependencies.optionalSecrets && template.dependencies.optionalSecrets.length > 0) {
89
+ warnings.push(`Optional secrets for enhanced functionality:\n - ${template.dependencies.optionalSecrets.join('\n - ')}`);
90
+ }
91
+ // Check required tools
92
+ for (const tool of template.dependencies.tools) {
93
+ if (tool === 'gh' || tool === 'glab') {
94
+ if (!isToolInstalled(tool)) {
95
+ missing.push(`${tool.toUpperCase()} CLI`);
96
+ }
97
+ }
98
+ }
99
+ return {
100
+ valid: missing.length === 0,
101
+ missing,
102
+ warnings,
103
+ };
104
+ }
105
+ //# sourceMappingURL=installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/workflows/installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Workflow templates registry
3
+ */
4
+ import type { VCSProvider, WorkflowTemplate } from './types.js';
5
+ /**
6
+ * Get all workflow templates
7
+ */
8
+ export declare function getAllTemplates(): WorkflowTemplate[];
9
+ /**
10
+ * Get templates for a specific provider
11
+ */
12
+ export declare function getTemplatesByProvider(provider: VCSProvider): WorkflowTemplate[];
13
+ /**
14
+ * Get a specific template by ID and provider
15
+ */
16
+ export declare function getTemplate(id: string, provider: VCSProvider): WorkflowTemplate | null;
17
+ /**
18
+ * Check if a template exists
19
+ */
20
+ export declare function templateExists(id: string, provider: VCSProvider): boolean;
21
+ /**
22
+ * Get templates by category
23
+ */
24
+ export declare function getTemplatesByCategory(category: WorkflowTemplate['category'], provider?: VCSProvider): WorkflowTemplate[];
25
+ /**
26
+ * Search templates by name or description
27
+ */
28
+ export declare function searchTemplates(query: string, provider?: VCSProvider): WorkflowTemplate[];
29
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/workflows/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAIhE;;GAEG;AACH,wBAAgB,eAAe,IAAI,gBAAgB,EAAE,CAEpD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,GAAG,gBAAgB,EAAE,CAEhF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAGtF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAEzE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,EACtC,QAAQ,CAAC,EAAE,WAAW,GACrB,gBAAgB,EAAE,CAQpB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,gBAAgB,EAAE,CAczF"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Workflow templates registry
3
+ */
4
+ import { GITHUB_TEMPLATES } from './templates/github/metadata.js';
5
+ import { GITLAB_TEMPLATES } from './templates/gitlab/metadata.js';
6
+ /**
7
+ * Get all workflow templates
8
+ */
9
+ export function getAllTemplates() {
10
+ return [...GITHUB_TEMPLATES, ...GITLAB_TEMPLATES];
11
+ }
12
+ /**
13
+ * Get templates for a specific provider
14
+ */
15
+ export function getTemplatesByProvider(provider) {
16
+ return getAllTemplates().filter(template => template.provider === provider);
17
+ }
18
+ /**
19
+ * Get a specific template by ID and provider
20
+ */
21
+ export function getTemplate(id, provider) {
22
+ const templates = getTemplatesByProvider(provider);
23
+ return templates.find(template => template.id === id) || null;
24
+ }
25
+ /**
26
+ * Check if a template exists
27
+ */
28
+ export function templateExists(id, provider) {
29
+ return getTemplate(id, provider) !== null;
30
+ }
31
+ /**
32
+ * Get templates by category
33
+ */
34
+ export function getTemplatesByCategory(category, provider) {
35
+ let templates = getAllTemplates();
36
+ if (provider) {
37
+ templates = templates.filter(template => template.provider === provider);
38
+ }
39
+ return templates.filter(template => template.category === category);
40
+ }
41
+ /**
42
+ * Search templates by name or description
43
+ */
44
+ export function searchTemplates(query, provider) {
45
+ let templates = getAllTemplates();
46
+ if (provider) {
47
+ templates = templates.filter(template => template.provider === provider);
48
+ }
49
+ const lowerQuery = query.toLowerCase();
50
+ return templates.filter(template => template.name.toLowerCase().includes(lowerQuery) ||
51
+ template.description.toLowerCase().includes(lowerQuery) ||
52
+ template.id.toLowerCase().includes(lowerQuery));
53
+ }
54
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/workflows/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAqB;IAC1D,OAAO,eAAe,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU,EAAE,QAAqB;IAC3D,MAAM,SAAS,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACnD,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,QAAqB;IAC9D,OAAO,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAsC,EACtC,QAAsB;IAEtB,IAAI,SAAS,GAAG,eAAe,EAAE,CAAC;IAElC,IAAI,QAAQ,EAAE,CAAC;QACb,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,QAAsB;IACnE,IAAI,SAAS,GAAG,eAAe,EAAE,CAAC;IAElC,IAAI,QAAQ,EAAE,CAAC;QACb,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,SAAS,CAAC,MAAM,CACrB,QAAQ,CAAC,EAAE,CACT,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChD,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACvD,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CACjD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * GitHub workflow templates metadata
3
+ */
4
+ import type { WorkflowTemplate } from '../../types.js';
5
+ export declare const GITHUB_TEMPLATES: WorkflowTemplate[];
6
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../../src/workflows/templates/github/metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAavD,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,EAiG9C,CAAC"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * GitHub workflow templates metadata
3
+ */
4
+ import * as path from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = path.dirname(__filename);
8
+ // Template files are always in src/workflows/templates/github relative to package root
9
+ // From dist/workflows/templates/github, go up 4 levels to package root, then to src/workflows/templates/github
10
+ const templateDir = __dirname.includes('/dist/')
11
+ ? path.resolve(__dirname, '../../../../src/workflows/templates/github')
12
+ : __dirname;
13
+ export const GITHUB_TEMPLATES = [
14
+ {
15
+ id: 'pr-review',
16
+ name: 'CodeMie PR Review',
17
+ description: 'Automated code review on pull requests with AI-powered suggestions',
18
+ provider: 'github',
19
+ version: '1.0.0',
20
+ category: 'code-review',
21
+ triggers: [
22
+ { type: 'pull_request', config: { types: ['opened', 'reopened', 'synchronize'] } },
23
+ { type: 'issue_comment', config: { types: ['created'] } },
24
+ { type: 'pull_request_review_comment', config: { types: ['created'] } },
25
+ { type: 'pull_request_review', config: { types: ['submitted'] } },
26
+ { type: 'workflow_dispatch' },
27
+ ],
28
+ permissions: {
29
+ level: 'trusted-only',
30
+ contents: 'read',
31
+ idToken: 'write',
32
+ issues: 'write',
33
+ pullRequests: 'write',
34
+ statuses: 'write',
35
+ },
36
+ config: {
37
+ timeout: 15,
38
+ maxTurns: 50,
39
+ environment: 'dev',
40
+ },
41
+ templatePath: path.join(templateDir, 'pr-review.yml'),
42
+ dependencies: {
43
+ secrets: ['AWS_REGION', 'AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY'],
44
+ tools: ['gh'],
45
+ optionalSecrets: ['ANTHROPIC_MODEL', 'PAT_TOKEN'],
46
+ },
47
+ },
48
+ {
49
+ id: 'inline-fix',
50
+ name: 'CodeMie Inline Fix',
51
+ description: 'Quick code fixes from PR comments mentioning @codemie',
52
+ provider: 'github',
53
+ version: '1.0.0',
54
+ category: 'automation',
55
+ triggers: [
56
+ { type: 'issue_comment', config: { types: ['created'] } },
57
+ { type: 'pull_request_review_comment', config: { types: ['created'] } },
58
+ { type: 'pull_request_review', config: { types: ['submitted'] } },
59
+ ],
60
+ permissions: {
61
+ level: 'all',
62
+ contents: 'write',
63
+ pullRequests: 'write',
64
+ issues: 'write',
65
+ },
66
+ config: {
67
+ timeout: 10,
68
+ maxTurns: 50,
69
+ environment: 'dev',
70
+ },
71
+ templatePath: path.join(templateDir, 'inline-fix.yml'),
72
+ dependencies: {
73
+ secrets: ['AWS_REGION', 'AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY'],
74
+ tools: ['gh'],
75
+ optionalSecrets: ['ANTHROPIC_MODEL'],
76
+ },
77
+ },
78
+ {
79
+ id: 'code-ci',
80
+ name: 'CodeMie Code CI',
81
+ description: 'Full feature implementation from issues with automated testing',
82
+ provider: 'github',
83
+ version: '1.0.0',
84
+ category: 'ci-cd',
85
+ triggers: [
86
+ { type: 'issues', config: { types: ['opened'] } },
87
+ { type: 'issue_comment', config: { types: ['created'] } },
88
+ { type: 'workflow_dispatch' },
89
+ ],
90
+ permissions: {
91
+ level: 'all',
92
+ contents: 'write',
93
+ pullRequests: 'write',
94
+ issues: 'write',
95
+ idToken: 'write',
96
+ actions: 'read',
97
+ },
98
+ config: {
99
+ timeout: 30,
100
+ maxTurns: 50,
101
+ environment: 'dev',
102
+ },
103
+ templatePath: path.join(templateDir, 'code-ci.yml'),
104
+ dependencies: {
105
+ secrets: ['AWS_REGION', 'AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY'],
106
+ tools: ['gh'],
107
+ optionalSecrets: ['ANTHROPIC_MODEL'],
108
+ },
109
+ },
110
+ ];
111
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../src/workflows/templates/github/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * GitLab workflow templates metadata
3
+ */
4
+ import type { WorkflowTemplate } from '../../types.js';
5
+ export declare const GITLAB_TEMPLATES: WorkflowTemplate[];
6
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../../src/workflows/templates/gitlab/metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAavD,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,EAAO,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * GitLab workflow templates metadata
3
+ */
4
+ import * as path from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = path.dirname(__filename);
8
+ // Template files are always in src/workflows/templates/gitlab relative to package root
9
+ // From dist/workflows/templates/gitlab, go up 4 levels to package root, then to src/workflows/templates/gitlab
10
+ // templateDir will be used when GitLab templates are implemented
11
+ // GitLab templates coming soon!
12
+ // Currently only GitHub Actions workflows are available.
13
+ export const GITLAB_TEMPLATES = [];
14
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../src/workflows/templates/gitlab/metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,uFAAuF;AACvF,+GAA+G;AAC/G,iEAAiE;AAEjE,gCAAgC;AAChC,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAuB,EAAE,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Workflow management types
3
+ */
4
+ export type VCSProvider = 'github' | 'gitlab';
5
+ export type WorkflowTriggerType = 'pull_request' | 'issue_comment' | 'pull_request_review_comment' | 'pull_request_review' | 'issues' | 'workflow_dispatch' | 'push' | 'schedule';
6
+ export interface WorkflowTrigger {
7
+ type: WorkflowTriggerType;
8
+ config?: Record<string, unknown>;
9
+ }
10
+ export type PermissionLevel = 'trusted-only' | 'all' | 'collaborators';
11
+ export interface WorkflowPermissions {
12
+ level: PermissionLevel;
13
+ contents?: 'read' | 'write';
14
+ pullRequests?: 'read' | 'write';
15
+ issues?: 'read' | 'write';
16
+ idToken?: 'write';
17
+ actions?: 'read';
18
+ statuses?: 'write';
19
+ }
20
+ export interface WorkflowConfig {
21
+ timeout?: number;
22
+ maxTurns?: number;
23
+ model?: string;
24
+ environment?: string;
25
+ envVars?: Record<string, string>;
26
+ }
27
+ export interface WorkflowTemplate {
28
+ id: string;
29
+ name: string;
30
+ description: string;
31
+ provider: VCSProvider;
32
+ version: string;
33
+ triggers: WorkflowTrigger[];
34
+ permissions: WorkflowPermissions;
35
+ config: WorkflowConfig;
36
+ templatePath: string;
37
+ dependencies: WorkflowDependencies;
38
+ category: WorkflowCategory;
39
+ }
40
+ export interface WorkflowDependencies {
41
+ secrets: string[];
42
+ tools: string[];
43
+ optionalSecrets?: string[];
44
+ }
45
+ export type WorkflowCategory = 'code-review' | 'automation' | 'ci-cd' | 'security';
46
+ export interface InstalledWorkflow {
47
+ id: string;
48
+ provider: VCSProvider;
49
+ filePath: string;
50
+ installedAt: Date;
51
+ version: string;
52
+ config: WorkflowConfig;
53
+ }
54
+ export interface WorkflowInstallOptions {
55
+ interactive?: boolean;
56
+ dryRun?: boolean;
57
+ force?: boolean;
58
+ provider?: VCSProvider;
59
+ triggers?: WorkflowTriggerType[];
60
+ permissions?: PermissionLevel;
61
+ timeout?: number;
62
+ maxTurns?: number;
63
+ environment?: string;
64
+ }
65
+ export interface VCSDetectionResult {
66
+ provider: VCSProvider | null;
67
+ remoteUrl: string | null;
68
+ isGitRepo: boolean;
69
+ workflowDir: string | null;
70
+ }
71
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workflows/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,eAAe,GACf,6BAA6B,GAC7B,qBAAqB,GACrB,QAAQ,GACR,mBAAmB,GACnB,MAAM,GACN,UAAU,CAAC;AAEf,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,KAAK,GAAG,eAAe,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,WAAW,EAAE,mBAAmB,CAAC;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,oBAAoB,CAAC;IACnC,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;AAEnF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Workflow management types
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workflows/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/package.json CHANGED
@@ -1,64 +1,71 @@
1
1
  {
2
2
  "name": "@codemieai/code",
3
- "version": "0.0.2",
4
- "description": "CodeMie Code - AI coding assistant and CLI wrapper for multiple agents",
3
+ "version": "0.0.4",
4
+ "description": "AI/Run CodeMie CLI - Professional CLI wrapper for managing multiple AI coding agents",
5
+ "type": "module",
5
6
  "main": "dist/index.js",
6
7
  "types": "dist/index.d.ts",
7
8
  "bin": {
9
+ "codemie": "./bin/codemie.js",
8
10
  "codemie-code": "./bin/codemie-code.js",
9
- "codemie": "./bin/codemie.js"
11
+ "codemie-claude": "./bin/codemie-claude.js",
12
+ "codemie-codex": "./bin/codemie-codex.js"
10
13
  },
14
+ "files": [
15
+ "dist",
16
+ "bin",
17
+ "src/workflows/templates/**/*.yml",
18
+ "README.md",
19
+ "LICENSE"
20
+ ],
11
21
  "scripts": {
12
- "build": "tsc && mkdir -p dist/data && cp src/data/tips.json dist/data/",
22
+ "build": "tsc",
13
23
  "dev": "tsc --watch",
14
- "lint": "eslint 'src/**/*.ts' --max-warnings=-1",
24
+ "test": "vitest",
25
+ "test:ui": "vitest --ui",
26
+ "test:run": "vitest run",
27
+ "lint": "eslint 'src/**/*.ts' --max-warnings=0",
15
28
  "lint:fix": "eslint 'src/**/*.ts' --fix",
16
29
  "license-check": "npx license-checker --summary --onlyAllow 'MIT;Apache-2.0;ISC;BSD-2-Clause;BSD-3-Clause;0BSD;CC0-1.0;Unlicense;BlueOak-1.0.0;Python-2.0;CC-BY-4.0;Apache*;(MIT OR CC0-1.0)'",
17
- "test": "node --test tests/*.test.mjs",
18
- "test:watch": "node --test --watch tests/*.test.mjs",
19
- "ci": "npm run license-check && npm run lint && npm run build && npm test",
30
+ "ci": "npm run license-check && npm run lint && npm run build",
20
31
  "prepublishOnly": "npm run build",
21
32
  "prepack": "npm run build"
22
33
  },
23
34
  "keywords": [
24
35
  "ai",
25
36
  "coding",
26
- "assistant",
27
37
  "cli",
28
- "langchain",
29
- "litellm",
30
- "mcp",
31
38
  "claude",
32
39
  "codex",
33
- "aider"
40
+ "wrapper"
34
41
  ],
35
- "author": "CodeMie Team",
42
+ "author": "AI/Run Team",
36
43
  "license": "Apache-2.0",
37
44
  "dependencies": {
38
- "@langchain/core": "^1.0.1",
39
- "@langchain/langgraph": "^1.0.1",
40
- "@langchain/mcp-adapters": "^1.0.0",
41
- "@langchain/openai": "^1.0.0",
42
- "@types/blessed": "^0.1.25",
43
- "blessed": "^0.1.81",
45
+ "@clack/core": "^0.5.0",
46
+ "@clack/prompts": "^0.11.0",
47
+ "@langchain/core": "^1.0.4",
48
+ "@langchain/langgraph": "^1.0.2",
49
+ "@langchain/openai": "^1.1.0",
44
50
  "chalk": "^5.3.0",
45
51
  "commander": "^11.1.0",
46
- "diff": "^5.1.0",
47
52
  "dotenv": "^16.3.1",
48
53
  "inquirer": "^9.2.12",
49
- "langchain": "^1.0.2",
54
+ "keytar": "^7.9.0",
55
+ "open": "^8.4.2",
50
56
  "ora": "^7.0.1",
51
- "zod": "^3.22.4"
57
+ "zod": "^4.1.12"
52
58
  },
53
59
  "devDependencies": {
54
60
  "@eslint/js": "^9.38.0",
55
- "@types/diff": "^5.0.9",
56
61
  "@types/inquirer": "^9.0.7",
57
62
  "@types/node": "^20.10.5",
58
63
  "@typescript-eslint/eslint-plugin": "^8.46.2",
59
64
  "@typescript-eslint/parser": "^8.46.2",
65
+ "@vitest/ui": "^4.0.10",
60
66
  "eslint": "^9.38.0",
61
- "typescript": "^5.3.3"
67
+ "typescript": "^5.3.3",
68
+ "vitest": "^4.0.10"
62
69
  },
63
70
  "engines": {
64
71
  "node": ">=24.0.0"