@codemieai/code 0.0.3 → 0.0.5

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 (257) hide show
  1. package/README.md +375 -325
  2. package/bin/codemie-claude.js +23 -0
  3. package/bin/codemie-code.js +49 -11
  4. package/bin/codemie-codex.js +12 -13
  5. package/dist/agents/adapters/claude-code.d.ts +5 -0
  6. package/dist/agents/adapters/claude-code.d.ts.map +1 -1
  7. package/dist/agents/adapters/claude-code.js +76 -18
  8. package/dist/agents/adapters/claude-code.js.map +1 -1
  9. package/dist/agents/adapters/codex.d.ts +5 -0
  10. package/dist/agents/adapters/codex.d.ts.map +1 -1
  11. package/dist/agents/adapters/codex.js +75 -17
  12. package/dist/agents/adapters/codex.js.map +1 -1
  13. package/dist/agents/codemie-code/agent.d.ts.map +1 -1
  14. package/dist/agents/codemie-code/agent.js +187 -21
  15. package/dist/agents/codemie-code/agent.js.map +1 -1
  16. package/dist/agents/codemie-code/config.d.ts.map +1 -1
  17. package/dist/agents/codemie-code/config.js +29 -27
  18. package/dist/agents/codemie-code/config.js.map +1 -1
  19. package/dist/agents/codemie-code/index.d.ts +16 -2
  20. package/dist/agents/codemie-code/index.d.ts.map +1 -1
  21. package/dist/agents/codemie-code/index.js +74 -6
  22. package/dist/agents/codemie-code/index.js.map +1 -1
  23. package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts +87 -0
  24. package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts.map +1 -0
  25. package/dist/agents/codemie-code/modes/contextAwarePlanning.js +957 -0
  26. package/dist/agents/codemie-code/modes/contextAwarePlanning.js.map +1 -0
  27. package/dist/agents/codemie-code/modes/planMode.d.ts +116 -0
  28. package/dist/agents/codemie-code/modes/planMode.d.ts.map +1 -0
  29. package/dist/agents/codemie-code/modes/planMode.js +537 -0
  30. package/dist/agents/codemie-code/modes/planMode.js.map +1 -0
  31. package/dist/agents/codemie-code/prompts.d.ts +29 -0
  32. package/dist/agents/codemie-code/prompts.d.ts.map +1 -1
  33. package/dist/agents/codemie-code/prompts.js +129 -0
  34. package/dist/agents/codemie-code/prompts.js.map +1 -1
  35. package/dist/agents/codemie-code/storage/todoStorage.d.ts +78 -0
  36. package/dist/agents/codemie-code/storage/todoStorage.d.ts.map +1 -0
  37. package/dist/agents/codemie-code/storage/todoStorage.js +225 -0
  38. package/dist/agents/codemie-code/storage/todoStorage.js.map +1 -0
  39. package/dist/agents/codemie-code/tokenUtils.js +1 -1
  40. package/dist/agents/codemie-code/tokenUtils.js.map +1 -1
  41. package/dist/agents/codemie-code/tools/index.d.ts +26 -0
  42. package/dist/agents/codemie-code/tools/index.d.ts.map +1 -1
  43. package/dist/agents/codemie-code/tools/index.js +182 -14
  44. package/dist/agents/codemie-code/tools/index.js.map +1 -1
  45. package/dist/agents/codemie-code/tools/planning.d.ts +53 -0
  46. package/dist/agents/codemie-code/tools/planning.d.ts.map +1 -0
  47. package/dist/agents/codemie-code/tools/planning.js +224 -0
  48. package/dist/agents/codemie-code/tools/planning.js.map +1 -0
  49. package/dist/agents/codemie-code/types.d.ts +170 -6
  50. package/dist/agents/codemie-code/types.d.ts.map +1 -1
  51. package/dist/agents/codemie-code/types.js.map +1 -1
  52. package/dist/agents/codemie-code/ui/progressTracker.d.ts +125 -0
  53. package/dist/agents/codemie-code/ui/progressTracker.d.ts.map +1 -0
  54. package/dist/agents/codemie-code/ui/progressTracker.js +343 -0
  55. package/dist/agents/codemie-code/ui/progressTracker.js.map +1 -0
  56. package/dist/agents/codemie-code/ui/todoPanel.d.ts +112 -0
  57. package/dist/agents/codemie-code/ui/todoPanel.d.ts.map +1 -0
  58. package/dist/agents/codemie-code/ui/todoPanel.js +318 -0
  59. package/dist/agents/codemie-code/ui/todoPanel.js.map +1 -0
  60. package/dist/agents/codemie-code/ui.d.ts +106 -10
  61. package/dist/agents/codemie-code/ui.d.ts.map +1 -1
  62. package/dist/agents/codemie-code/ui.js +913 -129
  63. package/dist/agents/codemie-code/ui.js.map +1 -1
  64. package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts +87 -0
  65. package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts.map +1 -0
  66. package/dist/agents/codemie-code/utils/progressionEnforcer.js +293 -0
  67. package/dist/agents/codemie-code/utils/progressionEnforcer.js.map +1 -0
  68. package/dist/agents/codemie-code/utils/todoParser.d.ts +41 -0
  69. package/dist/agents/codemie-code/utils/todoParser.d.ts.map +1 -0
  70. package/dist/agents/codemie-code/utils/todoParser.js +305 -0
  71. package/dist/agents/codemie-code/utils/todoParser.js.map +1 -0
  72. package/dist/agents/codemie-code/utils/todoValidator.d.ts +65 -0
  73. package/dist/agents/codemie-code/utils/todoValidator.d.ts.map +1 -0
  74. package/dist/agents/codemie-code/utils/todoValidator.js +249 -0
  75. package/dist/agents/codemie-code/utils/todoValidator.js.map +1 -0
  76. package/dist/agents/codemie-code/validators/planValidator.d.ts +94 -0
  77. package/dist/agents/codemie-code/validators/planValidator.d.ts.map +1 -0
  78. package/dist/agents/codemie-code/validators/planValidator.js +281 -0
  79. package/dist/agents/codemie-code/validators/planValidator.js.map +1 -0
  80. package/dist/agents/registry.d.ts.map +1 -1
  81. package/dist/agents/registry.js +7 -5
  82. package/dist/agents/registry.js.map +1 -1
  83. package/dist/cli/commands/auth.d.ts +3 -0
  84. package/dist/cli/commands/auth.d.ts.map +1 -0
  85. package/dist/cli/commands/auth.js +170 -0
  86. package/dist/cli/commands/auth.js.map +1 -0
  87. package/dist/cli/commands/config.d.ts.map +1 -1
  88. package/dist/cli/commands/config.js +40 -13
  89. package/dist/cli/commands/config.js.map +1 -1
  90. package/dist/cli/commands/doctor.d.ts.map +1 -1
  91. package/dist/cli/commands/doctor.js +209 -16
  92. package/dist/cli/commands/doctor.js.map +1 -1
  93. package/dist/cli/commands/env.js +3 -3
  94. package/dist/cli/commands/env.js.map +1 -1
  95. package/dist/cli/commands/install.d.ts.map +1 -1
  96. package/dist/cli/commands/install.js +2 -1
  97. package/dist/cli/commands/install.js.map +1 -1
  98. package/dist/cli/commands/run.d.ts.map +1 -1
  99. package/dist/cli/commands/run.js +15 -9
  100. package/dist/cli/commands/run.js.map +1 -1
  101. package/dist/cli/commands/setup.d.ts.map +1 -1
  102. package/dist/cli/commands/setup.js +177 -11
  103. package/dist/cli/commands/setup.js.map +1 -1
  104. package/dist/cli/commands/tools.d.ts +6 -0
  105. package/dist/cli/commands/tools.d.ts.map +1 -0
  106. package/dist/cli/commands/tools.js +244 -0
  107. package/dist/cli/commands/tools.js.map +1 -0
  108. package/dist/cli/commands/version.js +1 -1
  109. package/dist/cli/commands/version.js.map +1 -1
  110. package/dist/cli/commands/workflow.d.ts +6 -0
  111. package/dist/cli/commands/workflow.d.ts.map +1 -0
  112. package/dist/cli/commands/workflow.js +424 -0
  113. package/dist/cli/commands/workflow.js.map +1 -0
  114. package/dist/cli/index.js +39 -5
  115. package/dist/cli/index.js.map +1 -1
  116. package/dist/clients/adapters/github.d.ts +17 -0
  117. package/dist/clients/adapters/github.d.ts.map +1 -0
  118. package/dist/clients/adapters/github.js +150 -0
  119. package/dist/clients/adapters/github.js.map +1 -0
  120. package/dist/clients/adapters/gitlab.d.ts +17 -0
  121. package/dist/clients/adapters/gitlab.d.ts.map +1 -0
  122. package/dist/clients/adapters/gitlab.js +147 -0
  123. package/dist/clients/adapters/gitlab.js.map +1 -0
  124. package/dist/clients/registry.d.ts +20 -0
  125. package/dist/clients/registry.d.ts.map +1 -0
  126. package/dist/clients/registry.js +27 -0
  127. package/dist/clients/registry.js.map +1 -0
  128. package/dist/tools/detector.d.ts +33 -0
  129. package/dist/tools/detector.d.ts.map +1 -0
  130. package/dist/tools/detector.js +145 -0
  131. package/dist/tools/detector.js.map +1 -0
  132. package/dist/tools/index.d.ts +8 -0
  133. package/dist/tools/index.d.ts.map +1 -0
  134. package/dist/tools/index.js +8 -0
  135. package/dist/tools/index.js.map +1 -0
  136. package/dist/tools/manager.d.ts +21 -0
  137. package/dist/tools/manager.d.ts.map +1 -0
  138. package/dist/tools/manager.js +104 -0
  139. package/dist/tools/manager.js.map +1 -0
  140. package/dist/tools/registry.d.ts +8 -0
  141. package/dist/tools/registry.d.ts.map +1 -0
  142. package/dist/tools/registry.js +36 -0
  143. package/dist/tools/registry.js.map +1 -0
  144. package/dist/tools/types.d.ts +41 -0
  145. package/dist/tools/types.d.ts.map +1 -0
  146. package/dist/tools/types.js +5 -0
  147. package/dist/tools/types.js.map +1 -0
  148. package/dist/types/sso.d.ts +42 -0
  149. package/dist/types/sso.d.ts.map +1 -0
  150. package/dist/types/sso.js +2 -0
  151. package/dist/types/sso.js.map +1 -0
  152. package/dist/utils/agent-compatibility.d.ts +32 -0
  153. package/dist/utils/agent-compatibility.d.ts.map +1 -0
  154. package/dist/utils/agent-compatibility.js +140 -0
  155. package/dist/utils/agent-compatibility.js.map +1 -0
  156. package/dist/utils/codemie-integration-validator.d.ts +17 -0
  157. package/dist/utils/codemie-integration-validator.d.ts.map +1 -0
  158. package/dist/utils/codemie-integration-validator.js +105 -0
  159. package/dist/utils/codemie-integration-validator.js.map +1 -0
  160. package/dist/utils/codemie-model-fetcher.d.ts +11 -0
  161. package/dist/utils/codemie-model-fetcher.d.ts.map +1 -0
  162. package/dist/utils/codemie-model-fetcher.js +242 -0
  163. package/dist/utils/codemie-model-fetcher.js.map +1 -0
  164. package/dist/utils/config-loader.d.ts +23 -1
  165. package/dist/utils/config-loader.d.ts.map +1 -1
  166. package/dist/utils/config-loader.js +73 -27
  167. package/dist/utils/config-loader.js.map +1 -1
  168. package/dist/utils/credential-store.d.ts +16 -0
  169. package/dist/utils/credential-store.d.ts.map +1 -0
  170. package/dist/utils/credential-store.js +109 -0
  171. package/dist/utils/credential-store.js.map +1 -0
  172. package/dist/utils/first-time.d.ts +1 -1
  173. package/dist/utils/first-time.d.ts.map +1 -1
  174. package/dist/utils/first-time.js +52 -71
  175. package/dist/utils/first-time.js.map +1 -1
  176. package/dist/utils/health-checker.d.ts.map +1 -1
  177. package/dist/utils/health-checker.js +5 -1
  178. package/dist/utils/health-checker.js.map +1 -1
  179. package/dist/utils/model-fetcher.d.ts.map +1 -1
  180. package/dist/utils/model-fetcher.js +15 -2
  181. package/dist/utils/model-fetcher.js.map +1 -1
  182. package/dist/utils/sso-auth.d.ts +15 -0
  183. package/dist/utils/sso-auth.d.ts.map +1 -0
  184. package/dist/utils/sso-auth.js +207 -0
  185. package/dist/utils/sso-auth.js.map +1 -0
  186. package/dist/utils/sso-gateway.d.ts +47 -0
  187. package/dist/utils/sso-gateway.d.ts.map +1 -0
  188. package/dist/utils/sso-gateway.js +298 -0
  189. package/dist/utils/sso-gateway.js.map +1 -0
  190. package/dist/workflows/detector.d.ts +37 -0
  191. package/dist/workflows/detector.d.ts.map +1 -0
  192. package/dist/workflows/detector.js +160 -0
  193. package/dist/workflows/detector.js.map +1 -0
  194. package/dist/workflows/index.d.ts +8 -0
  195. package/dist/workflows/index.d.ts.map +1 -0
  196. package/dist/workflows/index.js +8 -0
  197. package/dist/workflows/index.js.map +1 -0
  198. package/dist/workflows/installer.d.ts +24 -0
  199. package/dist/workflows/installer.d.ts.map +1 -0
  200. package/dist/workflows/installer.js +105 -0
  201. package/dist/workflows/installer.js.map +1 -0
  202. package/dist/workflows/registry.d.ts +29 -0
  203. package/dist/workflows/registry.d.ts.map +1 -0
  204. package/dist/workflows/registry.js +54 -0
  205. package/dist/workflows/registry.js.map +1 -0
  206. package/dist/workflows/templates/github/metadata.d.ts +6 -0
  207. package/dist/workflows/templates/github/metadata.d.ts.map +1 -0
  208. package/dist/workflows/templates/github/metadata.js +111 -0
  209. package/dist/workflows/templates/github/metadata.js.map +1 -0
  210. package/dist/workflows/templates/gitlab/metadata.d.ts +6 -0
  211. package/dist/workflows/templates/gitlab/metadata.d.ts.map +1 -0
  212. package/dist/workflows/templates/gitlab/metadata.js +14 -0
  213. package/dist/workflows/templates/gitlab/metadata.js.map +1 -0
  214. package/dist/workflows/types.d.ts +71 -0
  215. package/dist/workflows/types.d.ts.map +1 -0
  216. package/dist/workflows/types.js +5 -0
  217. package/dist/workflows/types.js.map +1 -0
  218. package/package.json +19 -6
  219. package/src/workflows/templates/github/code-ci.yml +529 -0
  220. package/src/workflows/templates/github/inline-fix.yml +665 -0
  221. package/src/workflows/templates/github/pr-review.yml +677 -0
  222. package/.claude/agents/README.md +0 -298
  223. package/.claude/agents/release-manager.md +0 -857
  224. package/.codemie/guides/git-workflow.md +0 -493
  225. package/CLAUDE.md +0 -225
  226. package/config.example.json +0 -10
  227. package/dist/agents/codemie-code/streaming/events.d.ts +0 -7
  228. package/dist/agents/codemie-code/streaming/events.d.ts.map +0 -1
  229. package/dist/agents/codemie-code/streaming/events.js +0 -7
  230. package/dist/agents/codemie-code/streaming/events.js.map +0 -1
  231. package/dist/agents/codemie-code/streaming/formatter.d.ts +0 -2
  232. package/dist/agents/codemie-code/streaming/formatter.d.ts.map +0 -1
  233. package/dist/agents/codemie-code/streaming/formatter.js +0 -2
  234. package/dist/agents/codemie-code/streaming/formatter.js.map +0 -1
  235. package/dist/agents/codemie-code/streaming/ui.d.ts +0 -2
  236. package/dist/agents/codemie-code/streaming/ui.d.ts.map +0 -1
  237. package/dist/agents/codemie-code/streaming/ui.js +0 -2
  238. package/dist/agents/codemie-code/streaming/ui.js.map +0 -1
  239. package/dist/agents/codemie-code/tools/command.d.ts +0 -2
  240. package/dist/agents/codemie-code/tools/command.d.ts.map +0 -1
  241. package/dist/agents/codemie-code/tools/command.js +0 -2
  242. package/dist/agents/codemie-code/tools/command.js.map +0 -1
  243. package/dist/agents/codemie-code/tools/filesystem.d.ts +0 -2
  244. package/dist/agents/codemie-code/tools/filesystem.d.ts.map +0 -1
  245. package/dist/agents/codemie-code/tools/filesystem.js +0 -2
  246. package/dist/agents/codemie-code/tools/filesystem.js.map +0 -1
  247. package/dist/agents/codemie-code/tools/git.d.ts +0 -2
  248. package/dist/agents/codemie-code/tools/git.d.ts.map +0 -1
  249. package/dist/agents/codemie-code/tools/git.js +0 -2
  250. package/dist/agents/codemie-code/tools/git.js.map +0 -1
  251. package/dist/agents/codemie-code/tools/security.d.ts +0 -2
  252. package/dist/agents/codemie-code/tools/security.d.ts.map +0 -1
  253. package/dist/agents/codemie-code/tools/security.js +0 -2
  254. package/dist/agents/codemie-code/tools/security.js.map +0 -1
  255. package/eslint.config.mjs +0 -43
  256. package/scripts/README.md +0 -80
  257. package/scripts/release.sh +0 -156
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Workflow management CLI commands
3
+ */
4
+ import { Command } from 'commander';
5
+ export declare function createWorkflowCommand(): Command;
6
+ //# sourceMappingURL=workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/workflow.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,qBAAqB,IAAI,OAAO,CA2b/C"}
@@ -0,0 +1,424 @@
1
+ /**
2
+ * Workflow management CLI commands
3
+ */
4
+ import { Command } from 'commander';
5
+ import inquirer from 'inquirer';
6
+ import chalk from 'chalk';
7
+ import ora from 'ora';
8
+ import { detectVCSProvider, getTemplatesByProvider, getAllTemplates, getTemplate, installWorkflow, uninstallWorkflow, listInstalledWorkflows, isWorkflowInstalled, validateDependencies, } from '../../workflows/index.js';
9
+ import { isToolInstalled } from '../../tools/index.js';
10
+ export function createWorkflowCommand() {
11
+ const workflow = new Command('workflow')
12
+ .description('Manage CI/CD workflows (GitHub Actions, GitLab CI)')
13
+ .addHelpText('after', `
14
+
15
+ Examples:
16
+ $ codemie workflow list # List all available workflows
17
+ $ codemie workflow list --installed # Show only installed workflows
18
+
19
+ $ codemie workflow install pr-review # Install PR review workflow
20
+ $ codemie workflow install pr-review -i # Install with interactive prompts
21
+ $ codemie workflow install pr-review --timeout 30 --max-turns 100
22
+
23
+ $ codemie workflow uninstall pr-review # Remove installed workflow
24
+
25
+ Available Workflows:
26
+ pr-review - Automated code review on pull requests
27
+ inline-fix - Quick fixes from PR comments mentioning @codemie
28
+ code-ci - Full feature implementation from issues
29
+
30
+ Configuration Options:
31
+ --timeout <minutes> How long the workflow can run (default: 15)
32
+ --max-turns <number> Maximum AI conversation turns (default: 50)
33
+ --environment <env> GitHub environment for protection rules
34
+ --interactive, -i Interactive mode with helpful prompts
35
+
36
+ Note: Workflows require repository secrets to be configured.
37
+ Run 'codemie workflow install <id>' to see required secrets for each workflow.
38
+ `);
39
+ // List command
40
+ workflow
41
+ .command('list')
42
+ .description('List available workflow templates')
43
+ .option('--remote', 'Include remote templates (not yet implemented)')
44
+ .option('--installed', 'Show only installed workflows')
45
+ .option('--github', 'Show only GitHub workflows')
46
+ .option('--gitlab', 'Show only GitLab workflows')
47
+ .addHelpText('after', `
48
+
49
+ Examples:
50
+ $ codemie workflow list # List all workflows
51
+ $ codemie workflow list --installed # Show only what's installed
52
+ $ codemie workflow list --github # GitHub workflows only
53
+ `)
54
+ .action(async (options) => {
55
+ console.log(chalk.bold.cyan('\n╔═══════════════════════════════════════╗'));
56
+ console.log(chalk.bold.cyan('║ Available Workflows ║'));
57
+ console.log(chalk.bold.cyan('╚═══════════════════════════════════════╝\n'));
58
+ // Detect provider or use specified
59
+ let provider;
60
+ if (options.github) {
61
+ provider = 'github';
62
+ }
63
+ else if (options.gitlab) {
64
+ provider = 'gitlab';
65
+ }
66
+ else {
67
+ const detection = detectVCSProvider();
68
+ if (detection.provider) {
69
+ provider = detection.provider;
70
+ console.log(chalk.dim(`Auto-detected: ${provider} repository\n`));
71
+ }
72
+ }
73
+ if (options.installed) {
74
+ // Show installed workflows
75
+ if (!provider) {
76
+ console.log(chalk.yellow('⚠ Cannot detect provider. Use --github or --gitlab\n'));
77
+ return;
78
+ }
79
+ const installed = listInstalledWorkflows(provider);
80
+ if (installed.length === 0) {
81
+ console.log(chalk.dim('No workflows installed\n'));
82
+ }
83
+ else {
84
+ console.log(chalk.bold('Installed Workflows:'));
85
+ installed.forEach(file => {
86
+ console.log(` ${chalk.green('✓')} ${file}`);
87
+ });
88
+ console.log('');
89
+ }
90
+ }
91
+ else {
92
+ // Show available templates
93
+ const templates = provider
94
+ ? getTemplatesByProvider(provider)
95
+ : getAllTemplates();
96
+ if (templates.length === 0) {
97
+ console.log(chalk.dim('No templates available\n'));
98
+ return;
99
+ }
100
+ // Group by provider
101
+ const grouped = templates.reduce((acc, template) => {
102
+ if (!acc[template.provider]) {
103
+ acc[template.provider] = [];
104
+ }
105
+ acc[template.provider].push(template);
106
+ return acc;
107
+ }, {});
108
+ for (const [prov, temps] of Object.entries(grouped)) {
109
+ console.log(chalk.bold.cyan(`${prov.toUpperCase()} Workflows:`));
110
+ console.log('');
111
+ temps.forEach(template => {
112
+ const installed = isWorkflowInstalled(template.id, template.provider);
113
+ const status = installed ? chalk.green('✓ installed') : chalk.dim('not installed');
114
+ console.log(chalk.bold(` ${template.name}`));
115
+ console.log(chalk.dim(` ${template.description}`));
116
+ console.log(` ${chalk.bold('ID:')} ${chalk.cyan(template.id)} | Category: ${template.category} | Status: ${status}`);
117
+ console.log('');
118
+ });
119
+ }
120
+ // Show usage hint
121
+ console.log(chalk.dim('To install a workflow:'));
122
+ console.log(chalk.dim(` codemie workflow install ${chalk.cyan('<workflow-id>')}`));
123
+ console.log('');
124
+ console.log(chalk.dim('Example:'));
125
+ console.log(chalk.dim(` codemie workflow install ${chalk.cyan('pr-review')}\n`));
126
+ }
127
+ });
128
+ // Install command
129
+ workflow
130
+ .command('install <workflow-id>')
131
+ .description('Install a workflow template')
132
+ .option('--github', 'Force GitHub provider')
133
+ .option('--gitlab', 'Force GitLab provider')
134
+ .option('-i, --interactive', 'Interactive configuration with prompts and help text')
135
+ .option('-f, --force', 'Force reinstall if already installed')
136
+ .option('--dry-run', 'Preview installation without writing files')
137
+ .option('--timeout <minutes>', 'Workflow timeout in minutes (default: 15)', parseInt)
138
+ .option('--max-turns <number>', 'Maximum AI conversation turns (default: 50)', parseInt)
139
+ .option('--environment <env>', 'GitHub environment name for protection rules')
140
+ .addHelpText('after', `
141
+
142
+ Examples:
143
+ $ codemie workflow install pr-review # Basic installation
144
+ $ codemie workflow install pr-review -i # Interactive mode (recommended)
145
+ $ codemie workflow install pr-review --force # Reinstall existing workflow
146
+ $ codemie workflow install pr-review --dry-run # Preview without installing
147
+ $ codemie workflow install pr-review --timeout 30 --max-turns 100 --environment prod
148
+
149
+ Interactive Mode (-i):
150
+ Prompts you for each configuration option with helpful explanations.
151
+ Recommended for first-time setup or when you're unsure about values.
152
+
153
+ Configuration Guide:
154
+ --timeout: How long CI can run before timing out (15-60 minutes recommended)
155
+ --max-turns: AI conversation depth (50 = simple tasks, 100+ = complex features)
156
+ --environment: GitHub environment name for secrets and protection rules
157
+ `)
158
+ .action(async (workflowId, options) => {
159
+ console.log(chalk.bold.cyan('\n╔═══════════════════════════════════════╗'));
160
+ console.log(chalk.bold.cyan('║ Install Workflow ║'));
161
+ console.log(chalk.bold.cyan('╚═══════════════════════════════════════╝\n'));
162
+ // Determine provider
163
+ let provider;
164
+ if (options.github) {
165
+ provider = 'github';
166
+ }
167
+ else if (options.gitlab) {
168
+ provider = 'gitlab';
169
+ }
170
+ else {
171
+ const detection = detectVCSProvider();
172
+ if (!detection.provider) {
173
+ console.log(chalk.red('✗ Could not detect VCS provider'));
174
+ console.log(chalk.dim(' Use --github or --gitlab to specify provider\n'));
175
+ console.log(chalk.yellow('Installation cancelled\n'));
176
+ return;
177
+ }
178
+ provider = detection.provider;
179
+ console.log(chalk.dim(`Auto-detected: ${provider} repository\n`));
180
+ }
181
+ // Get template
182
+ const template = getTemplate(workflowId, provider);
183
+ if (!template) {
184
+ console.log(chalk.red(`✗ Workflow template '${workflowId}' not found for ${provider}`));
185
+ console.log(chalk.dim('\n Available workflows:'));
186
+ const templates = getTemplatesByProvider(provider);
187
+ if (templates.length === 0) {
188
+ console.log(chalk.yellow(`\n No ${provider} workflows are currently available.`));
189
+ console.log(chalk.dim(` GitLab workflows are coming soon!`));
190
+ console.log(chalk.dim(` Try using GitHub workflows instead: codemie workflow list --github\n`));
191
+ }
192
+ else {
193
+ templates.forEach(t => {
194
+ console.log(chalk.dim(` - ${t.id}: ${t.name}`));
195
+ });
196
+ console.log('');
197
+ }
198
+ console.log(chalk.yellow('Installation cancelled\n'));
199
+ return;
200
+ }
201
+ console.log(chalk.bold(template.name));
202
+ console.log(chalk.dim(template.description));
203
+ console.log('');
204
+ // Validate dependencies
205
+ const validation = validateDependencies(template);
206
+ if (validation.missing.length > 0) {
207
+ console.log(chalk.yellow('⚠ Missing dependencies:'));
208
+ validation.missing.forEach(dep => {
209
+ console.log(chalk.yellow(` - ${dep}`));
210
+ });
211
+ console.log('');
212
+ const { install } = await inquirer.prompt([
213
+ {
214
+ type: 'confirm',
215
+ name: 'install',
216
+ message: 'Install missing tools?',
217
+ default: true
218
+ }
219
+ ]);
220
+ if (install) {
221
+ // Install missing tools
222
+ const { installTool } = await import('../../tools/index.js');
223
+ for (const tool of template.dependencies.tools) {
224
+ if (tool === 'gh' || tool === 'glab') {
225
+ if (!isToolInstalled(tool)) {
226
+ const spinner = ora(`Installing ${tool}...`).start();
227
+ try {
228
+ await installTool(tool);
229
+ spinner.succeed(chalk.green(`${tool} installed`));
230
+ }
231
+ catch {
232
+ spinner.fail(chalk.red(`Failed to install ${tool}`));
233
+ }
234
+ }
235
+ }
236
+ }
237
+ }
238
+ else {
239
+ console.log(chalk.yellow('\nInstallation cancelled\n'));
240
+ return;
241
+ }
242
+ }
243
+ // Show warnings
244
+ if (validation.warnings.length > 0) {
245
+ console.log(chalk.yellow('⚠ Configuration needed:'));
246
+ validation.warnings.forEach(warning => {
247
+ // Highlight environment variables in the warning text
248
+ const highlightedWarning = warning.replace(/([A-Z_]{3,})/g, chalk.cyan('$1'));
249
+ console.log(' ' + highlightedWarning);
250
+ });
251
+ console.log('');
252
+ }
253
+ // Interactive mode
254
+ let installOptions = {
255
+ force: options.force,
256
+ dryRun: options.dryRun,
257
+ provider,
258
+ };
259
+ if (options.interactive) {
260
+ console.log(chalk.bold('Workflow Configuration'));
261
+ console.log(chalk.dim('Customize the workflow settings below'));
262
+ console.log(chalk.dim('Press Enter to use default values\n'));
263
+ const questions = [
264
+ {
265
+ type: 'input',
266
+ name: 'timeout',
267
+ message: 'Workflow timeout (minutes):',
268
+ default: String(template.config.timeout || 15),
269
+ validate: (value) => {
270
+ if (!value || value.trim() === '')
271
+ return true; // Allow empty to use default
272
+ const num = parseInt(value);
273
+ if (isNaN(num) || num <= 0) {
274
+ return 'Please enter a valid positive number';
275
+ }
276
+ return true;
277
+ }
278
+ },
279
+ {
280
+ type: 'input',
281
+ name: 'maxTurns',
282
+ message: 'Maximum AI turns:',
283
+ default: String(template.config.maxTurns || 50),
284
+ validate: (value) => {
285
+ if (!value || value.trim() === '')
286
+ return true; // Allow empty to use default
287
+ const num = parseInt(value);
288
+ if (isNaN(num) || num <= 0) {
289
+ return 'Please enter a valid positive number';
290
+ }
291
+ return true;
292
+ }
293
+ }
294
+ ];
295
+ if (provider === 'github') {
296
+ questions.push({
297
+ type: 'input',
298
+ name: 'environment',
299
+ message: 'GitHub environment (optional):',
300
+ default: template.config.environment || ''
301
+ });
302
+ }
303
+ const answers = await inquirer.prompt(questions);
304
+ if (answers.timeout && answers.timeout.trim() !== '') {
305
+ installOptions.timeout = parseInt(answers.timeout);
306
+ }
307
+ if (answers.maxTurns && answers.maxTurns.trim() !== '') {
308
+ installOptions.maxTurns = parseInt(answers.maxTurns);
309
+ }
310
+ if (provider === 'github' && answers.environment && answers.environment.trim() !== '') {
311
+ installOptions.environment = answers.environment;
312
+ }
313
+ console.log('');
314
+ console.log(chalk.dim('Configuration notes:'));
315
+ console.log(chalk.dim(' • Timeout: How long the workflow can run (15-60 minutes recommended)'));
316
+ console.log(chalk.dim(' • Max turns: AI conversation depth (50 = simple, 100+ = complex tasks)'));
317
+ if (provider === 'github') {
318
+ console.log(chalk.dim(' • Environment: GitHub deployment environment for protection rules\n'));
319
+ }
320
+ else {
321
+ console.log('');
322
+ }
323
+ }
324
+ else {
325
+ // Use CLI options
326
+ if (options.timeout)
327
+ installOptions.timeout = options.timeout;
328
+ if (options.maxTurns)
329
+ installOptions.maxTurns = options.maxTurns;
330
+ if (options.environment)
331
+ installOptions.environment = options.environment;
332
+ }
333
+ // Install workflow
334
+ const spinner = ora('Installing workflow...').start();
335
+ try {
336
+ const result = await installWorkflow(workflowId, provider, installOptions);
337
+ if (result.action === 'skipped') {
338
+ spinner.warn(chalk.yellow('Installation skipped'));
339
+ console.log('');
340
+ console.log(chalk.dim('Workflow is already installed at:'), result.path);
341
+ console.log('');
342
+ console.log(chalk.dim('Use --force to reinstall\n'));
343
+ return;
344
+ }
345
+ spinner.succeed(chalk.green('Workflow installed'));
346
+ console.log('');
347
+ console.log(chalk.bold('Installed to:'), result.path);
348
+ console.log('');
349
+ if (!options.dryRun) {
350
+ console.log(chalk.green('✅ Workflow installation complete'));
351
+ console.log('');
352
+ console.log(chalk.bold('Next steps:'));
353
+ console.log(chalk.dim(' 1. Configure required secrets in your repository settings'));
354
+ console.log(chalk.dim(' 2. Commit and push the workflow file'));
355
+ console.log(chalk.dim(' 3. The workflow will run automatically based on configured triggers\n'));
356
+ }
357
+ }
358
+ catch (error) {
359
+ spinner.fail(chalk.red('Installation failed'));
360
+ console.log(chalk.red(` ${error instanceof Error ? error.message : String(error)}\n`));
361
+ }
362
+ });
363
+ // Uninstall command
364
+ workflow
365
+ .command('uninstall <workflow-id>')
366
+ .description('Uninstall a workflow')
367
+ .option('--github', 'Force GitHub provider')
368
+ .option('--gitlab', 'Force GitLab provider')
369
+ .addHelpText('after', `
370
+
371
+ Examples:
372
+ $ codemie workflow uninstall pr-review # Remove PR review workflow
373
+ $ codemie workflow uninstall pr-review --github
374
+
375
+ Note: This removes the workflow file but doesn't delete workflow runs or history.
376
+ `)
377
+ .action(async (workflowId, options) => {
378
+ console.log(chalk.bold.cyan('\n╔═══════════════════════════════════════╗'));
379
+ console.log(chalk.bold.cyan('║ Uninstall Workflow ║'));
380
+ console.log(chalk.bold.cyan('╚═══════════════════════════════════════╝\n'));
381
+ // Determine provider
382
+ let provider;
383
+ if (options.github) {
384
+ provider = 'github';
385
+ }
386
+ else if (options.gitlab) {
387
+ provider = 'gitlab';
388
+ }
389
+ else {
390
+ const detection = detectVCSProvider();
391
+ if (!detection.provider) {
392
+ console.log(chalk.red('✗ Could not detect VCS provider'));
393
+ console.log(chalk.dim(' Use --github or --gitlab to specify provider\n'));
394
+ console.log(chalk.yellow('Uninstall cancelled\n'));
395
+ return;
396
+ }
397
+ provider = detection.provider;
398
+ }
399
+ const { confirm } = await inquirer.prompt([
400
+ {
401
+ type: 'confirm',
402
+ name: 'confirm',
403
+ message: `Are you sure you want to uninstall ${workflowId}?`,
404
+ default: false
405
+ }
406
+ ]);
407
+ if (!confirm) {
408
+ console.log(chalk.yellow('\nUninstall cancelled\n'));
409
+ return;
410
+ }
411
+ const spinner = ora('Uninstalling workflow...').start();
412
+ try {
413
+ await uninstallWorkflow(workflowId, provider);
414
+ spinner.succeed(chalk.green(`Workflow ${workflowId} uninstalled successfully`));
415
+ console.log('');
416
+ }
417
+ catch (error) {
418
+ spinner.fail(chalk.red('Uninstall failed'));
419
+ console.log(chalk.red(` ${error instanceof Error ? error.message : String(error)}\n`));
420
+ }
421
+ });
422
+ return workflow;
423
+ }
424
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/cli/commands/workflow.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -9,6 +9,9 @@ import { createVersionCommand } from './commands/version.js';
9
9
  import { createSetupCommand } from './commands/setup.js';
10
10
  import { createConfigCommand } from './commands/config.js';
11
11
  import { createEnvCommand } from './commands/env.js';
12
+ import { createAuthCommand } from './commands/auth.js';
13
+ import { createToolsCommand } from './commands/tools.js';
14
+ import { createWorkflowCommand } from './commands/workflow.js';
12
15
  import { FirstTimeExperience } from '../utils/first-time.js';
13
16
  import chalk from 'chalk';
14
17
  import { readFileSync } from 'fs';
@@ -28,10 +31,12 @@ catch {
28
31
  }
29
32
  program
30
33
  .name('codemie')
31
- .description('CLI wrapper for managing multiple AI coding agents')
32
- .version(version);
34
+ .description('AI/Run CodeMie CLI - Professional CLI wrapper for managing multiple AI coding agents')
35
+ .version(version)
36
+ .option('--task <task>', 'Execute a single task using the built-in agent and exit');
33
37
  // Add commands
34
38
  program.addCommand(createSetupCommand());
39
+ program.addCommand(createAuthCommand());
35
40
  program.addCommand(createEnvCommand());
36
41
  program.addCommand(createConfigCommand());
37
42
  program.addCommand(createListCommand());
@@ -40,9 +45,38 @@ program.addCommand(createUninstallCommand());
40
45
  program.addCommand(createRunCommand());
41
46
  program.addCommand(createDoctorCommand());
42
47
  program.addCommand(createVersionCommand());
43
- // Show help if no command provided
44
- if (process.argv.length === 2) {
45
- // Check if this is a first-time user
48
+ program.addCommand(createToolsCommand());
49
+ program.addCommand(createWorkflowCommand());
50
+ // Check for --task option before parsing commands
51
+ const taskIndex = process.argv.indexOf('--task');
52
+ if (taskIndex !== -1 && taskIndex < process.argv.length - 1) {
53
+ // Extract task and run the built-in agent
54
+ const task = process.argv[taskIndex + 1];
55
+ (async () => {
56
+ try {
57
+ const { CodeMieCode } = await import('../agents/codemie-code/index.js');
58
+ const { logger } = await import('../utils/logger.js');
59
+ const workingDir = process.cwd();
60
+ const codeMie = new CodeMieCode(workingDir);
61
+ try {
62
+ await codeMie.initialize();
63
+ }
64
+ catch {
65
+ logger.error('CodeMie configuration required. Please run: codemie setup');
66
+ process.exit(1);
67
+ }
68
+ // Execute task with UI
69
+ await codeMie.executeTaskWithUI(task);
70
+ process.exit(0);
71
+ }
72
+ catch (error) {
73
+ console.error('Failed to run task:', error);
74
+ process.exit(1);
75
+ }
76
+ })();
77
+ }
78
+ else if (process.argv.length === 2) {
79
+ // Show help if no command provided
46
80
  FirstTimeExperience.isFirstTime().then(isFirstTime => {
47
81
  if (isFirstTime) {
48
82
  // Show welcome message and recommendations for first-time users
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { ClientAdapter } from '../registry.js';
2
+ export declare class GitHubClientAdapter implements ClientAdapter {
3
+ name: string;
4
+ displayName: string;
5
+ description: string;
6
+ cliCommand: string;
7
+ isInstalled(): Promise<boolean>;
8
+ getVersion(): Promise<string | null>;
9
+ install(): Promise<void>;
10
+ private installOnMac;
11
+ private installOnLinux;
12
+ private installOnWindows;
13
+ uninstall(): Promise<void>;
14
+ isAuthenticated(): Promise<boolean>;
15
+ authenticate(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=github.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/clients/adapters/github.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAI/C,qBAAa,mBAAoB,YAAW,aAAa;IACvD,IAAI,SAAY;IAChB,WAAW,SAAgB;IAC3B,WAAW,SAA4C;IACvD,UAAU,SAAQ;IAEZ,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA2BhB,YAAY;YAUZ,cAAc;YA2Bd,gBAAgB;IAIxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B1B,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IASnC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAuBpC"}