ghcralph 0.1.0 β†’ 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +44 -22
  2. package/dist/cli.js +3 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/config.js +1 -1
  5. package/dist/commands/config.js.map +1 -1
  6. package/dist/commands/init.d.ts.map +1 -1
  7. package/dist/commands/init.js +242 -2
  8. package/dist/commands/init.js.map +1 -1
  9. package/dist/commands/run.d.ts +2 -9
  10. package/dist/commands/run.d.ts.map +1 -1
  11. package/dist/commands/run.js +288 -153
  12. package/dist/commands/run.js.map +1 -1
  13. package/dist/core/action-executor.d.ts +12 -0
  14. package/dist/core/action-executor.d.ts.map +1 -1
  15. package/dist/core/action-executor.js +36 -2
  16. package/dist/core/action-executor.js.map +1 -1
  17. package/dist/core/checkpoint-manager.d.ts +8 -0
  18. package/dist/core/checkpoint-manager.d.ts.map +1 -1
  19. package/dist/core/checkpoint-manager.js +101 -0
  20. package/dist/core/checkpoint-manager.js.map +1 -1
  21. package/dist/core/config-manager.d.ts.map +1 -1
  22. package/dist/core/config-manager.js +3 -0
  23. package/dist/core/config-manager.js.map +1 -1
  24. package/dist/core/config-schema.d.ts +11 -1
  25. package/dist/core/config-schema.d.ts.map +1 -1
  26. package/dist/core/config-schema.js +19 -1
  27. package/dist/core/config-schema.js.map +1 -1
  28. package/dist/core/context-builder.d.ts.map +1 -1
  29. package/dist/core/context-builder.js +28 -1
  30. package/dist/core/context-builder.js.map +1 -1
  31. package/dist/core/git-branch-manager.d.ts +8 -0
  32. package/dist/core/git-branch-manager.d.ts.map +1 -1
  33. package/dist/core/git-branch-manager.js +52 -0
  34. package/dist/core/git-branch-manager.js.map +1 -1
  35. package/dist/core/plan-manager.d.ts +4 -0
  36. package/dist/core/plan-manager.d.ts.map +1 -1
  37. package/dist/core/progress-tracker.d.ts +13 -0
  38. package/dist/core/progress-tracker.d.ts.map +1 -1
  39. package/dist/core/progress-tracker.js +69 -0
  40. package/dist/core/progress-tracker.js.map +1 -1
  41. package/dist/core/response-parser.d.ts +19 -2
  42. package/dist/core/response-parser.d.ts.map +1 -1
  43. package/dist/core/response-parser.js +47 -1
  44. package/dist/core/response-parser.js.map +1 -1
  45. package/dist/integrations/copilot-agent.d.ts +11 -0
  46. package/dist/integrations/copilot-agent.d.ts.map +1 -1
  47. package/dist/integrations/copilot-agent.js +57 -23
  48. package/dist/integrations/copilot-agent.js.map +1 -1
  49. package/dist/integrations/index.d.ts +1 -1
  50. package/dist/integrations/index.d.ts.map +1 -1
  51. package/dist/utils/shell.d.ts +5 -0
  52. package/dist/utils/shell.d.ts.map +1 -1
  53. package/dist/utils/shell.js +22 -0
  54. package/dist/utils/shell.js.map +1 -1
  55. package/package.json +1 -1
package/README.md CHANGED
@@ -11,6 +11,7 @@ Run **autonomous, checkpointed coding loops** with GitHub Copilotβ€”designed to
11
11
 
12
12
  - 🌿 **Branch isolation**: works on a `ghcralph/*` branch (never modifies `main`/`master` directly)
13
13
  - πŸ’Ύ **Automatic checkpoints**: commits after each iteration for easy rollback
14
+ - πŸ”„ **Multi-task processing**: processes ALL tasks in plan files automatically
14
15
  - πŸ›‘οΈ **Guardrails**: iteration limits, token budgets, timeouts, circuit breaker on repeated failures
15
16
  - πŸ“‹ **Flexible plan sources**: GitHub Issues or local Markdown task lists
16
17
  - πŸ’» **Cross-platform**: Windows, macOS, Linux
@@ -76,14 +77,15 @@ This approach prioritizes **safety** (automatic checkpoints, git isolation) and
76
77
 
77
78
  ## Key Features
78
79
 
79
- - πŸ”„ **Autonomous Loop**: Repeatedly invokes AI agent until task completion
80
+ - πŸ”„ **Multi-Task Loop**: Processes ALL tasks in a plan file automatically with fresh AI agent per task
80
81
  - πŸ“‹ **Flexible Plan Sources**: GitHub Issues or local Markdown task lists
81
82
  - πŸ›‘οΈ **Safety First**: Git branch isolation, file deletion safeguards
82
- - πŸ’Ύ **Automatic Checkpoints**: Git commits after each iteration for easy rollback
83
+ - πŸ’Ύ **Automatic Checkpoints**: Git commits after each task completion for easy rollback
83
84
  - πŸ“Š **Progress Tracking**: Real-time status, token usage, and session logs
84
- - ⚑ **Guardrails**: Iteration limits, token budgets, timeout controls
85
+ - ⚑ **Guardrails**: Iteration limits, token budgets, timeout controls, task-level retries
85
86
  - πŸ”§ **Highly Configurable**: Customize behavior via CLI, env vars, or config files
86
87
  - πŸ’» **Cross-Platform**: Works on Windows, macOS, and Linux
88
+ - πŸ€– **Dynamic Model Discovery**: Fetches available models from Copilot SDK
87
89
 
88
90
  ## Commands
89
91
 
@@ -107,13 +109,14 @@ ghcralph run --task "Refactor auth middleware to reduce duplication"
107
109
 
108
110
  ### Run from a local Markdown plan
109
111
  ```bash
110
- ghcralph run --plan TODO.md
112
+ ghcralph run --file TODO.md
111
113
  ```
112
114
 
113
115
  ### Run tasks from GitHub Issues
114
116
  ```bash
115
117
  ghcralph init --github
116
- ghcralph run --github owner/repo --label "ready"
118
+ # Configure githubRepo (and optional filters) via .ghcralph/config.json
119
+ ghcralph run --github
117
120
  ```
118
121
 
119
122
  ## Usage
@@ -144,17 +147,20 @@ ghcralph run --task "Add input validation to the login form"
144
147
  ghcralph run --file tasks/add-validation.md
145
148
 
146
149
  # Tasks from a Markdown plan file
147
- ghcralph run --plan TODO.md
150
+ ghcralph run --file TODO.md
148
151
 
149
- # Tasks from GitHub Issues
150
- ghcralph run --github owner/repo --label "ready"
152
+ # Tasks from GitHub Issues (configured via .ghcralph/config.json)
153
+ ghcralph run --github
151
154
  ```
152
155
 
153
156
  ### Advanced Run Options
154
157
 
155
158
  ```bash
156
- # Control iterations and tokens
157
- ghcralph run --task "Refactor auth" --max-iterations 20 --max-tokens 50000
159
+ # Control iterations, tokens, and model via configuration
160
+ # (set maxIterations / maxTokens / defaultModel in .ghcralph/config.json)
161
+
162
+ # Pause between tasks for human review (strict Ralph mode)
163
+ ghcralph run --file PLAN.md --pause-between-tasks
158
164
 
159
165
  # Specify context files
160
166
  ghcralph run --task "Fix tests" --context "src/**/*.test.ts"
@@ -183,16 +189,21 @@ GitHub Copilot Ralph uses a hierarchical configuration system:
183
189
 
184
190
  ### Configuration Options
185
191
 
186
- | Option | Default | Description |
187
- | --------------- | ----------- | ----------------------------------------------------- |
188
- | `planSource` | `local` | Plan source: `github` or `local` |
189
- | `maxIterations` | `10` | Maximum loop iterations |
190
- | `maxTokens` | `100000` | Token budget |
191
- | `defaultModel` | `gpt-4.1` | Copilot model to use |
192
- | `autoCommit` | `true` | Auto-commit after iterations |
193
- | `branchPrefix` | `ghcralph/` | Prefix for GitHub Copilot Ralph branches |
194
- | `githubRepo` | - | GitHub repository (owner/repo) for GitHub plan source |
195
- | `localPlanFile` | - | Path to local plan file |
192
+ | Option | Default | Description |
193
+ | ------------------ | ----------- | ----------------------------------------------------- |
194
+ | `planSource` | `local` | Plan source: `github` or `local` |
195
+ | `maxIterations` | `10` | Maximum loop iterations per task |
196
+ | `maxTokens` | `100000` | Token budget per task |
197
+ | `defaultModel` | `gpt-4.1` | Copilot model to use (dynamically fetched from SDK) |
198
+ | `autoCommit` | `true` | Auto-commit after iterations |
199
+ | `branchPrefix` | `ghcralph/` | Prefix for GitHub Copilot Ralph branches |
200
+ | `maxRetriesPerTask`| `2` | Retries per task before marking as failed |
201
+ | `autoPush` | `false` | Auto-push to remote after each task completion |
202
+ | `githubRepo` | - | GitHub repository (owner/repo) for GitHub plan source |
203
+ | `githubLabel` | - | Default GitHub issue label filter for GitHub plan |
204
+ | `githubMilestone` | - | Default GitHub issue milestone filter for GitHub plan |
205
+ | `githubAssignee` | - | Default GitHub issue assignee filter for GitHub plan |
206
+ | `localPlanFile` | - | Path to local plan file |
196
207
 
197
208
  ### Environment Variables
198
209
 
@@ -204,7 +215,13 @@ export GHCRALPH_MAX_TOKENS=50000
204
215
  export GHCRALPH_DEFAULT_MODEL=gpt-4.1
205
216
  export GHCRALPH_AUTO_COMMIT=true
206
217
  export GHCRALPH_BRANCH_PREFIX=ghcralph/
218
+ export GHCRALPH_MAX_RETRIES_PER_TASK=3
219
+ export GHCRALPH_AUTO_PUSH=true
207
220
  export GHCRALPH_PLAN_SOURCE=local
221
+ export GHCRALPH_GITHUB_REPO=owner/repo
222
+ export GHCRALPH_GITHUB_LABEL=ralph-ready
223
+ export GHCRALPH_GITHUB_MILESTONE=v1.0
224
+ export GHCRALPH_GITHUB_ASSIGNEE=octocat
208
225
  ```
209
226
 
210
227
  ### Example Configuration File
@@ -217,7 +234,12 @@ export GHCRALPH_PLAN_SOURCE=local
217
234
  "defaultModel": "gpt-4.1",
218
235
  "autoCommit": true,
219
236
  "branchPrefix": "ghcralph/",
220
- "githubRepo": "owner/repo"
237
+ "maxRetriesPerTask": 2,
238
+ "autoPush": false,
239
+ "githubRepo": "owner/repo",
240
+ "githubLabel": "ralph-ready",
241
+ "githubMilestone": "v1.0",
242
+ "githubAssignee": "octocat"
221
243
  }
222
244
  ```
223
245
 
@@ -288,7 +310,7 @@ gh auth login
288
310
  ```
289
311
 
290
312
  ### "Maximum iterations reached"
291
- Increase the limit: `--max-iterations 20`
313
+ Increase the limit: set `maxIterations` in `.ghcralph/config.json` (or `GHCRALPH_MAX_ITERATIONS`).
292
314
  Or for very long tasks: `--unlimited`
293
315
 
294
316
  ### Progress seems stuck
package/dist/cli.js CHANGED
@@ -24,8 +24,9 @@ program
24
24
  ${dim('Examples:')}
25
25
  $ ghcralph init # Initialize GitHub Copilot Ralph in your project
26
26
  $ ghcralph run --task "Add tests" # Run a coding loop for a task
27
- $ ghcralph run --plan TODO.md # Execute tasks from a plan file
28
- $ ghcralph run --github owner/repo # Work through GitHub Issues
27
+ $ ghcralph run --file TODO.md # Execute tasks from a plan file
28
+ $ ghcralph run --github # Work through GitHub Issues (repo set in config)
29
+ $ ghcralph config set githubRepo owner/repo
29
30
  $ ghcralph status # Check current session status
30
31
  $ ghcralph rollback --iterations 2 # Undo last 2 iterations
31
32
  $ ghcralph config list # View current configuration
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export function registerConfigCommand(program) {
45
45
  .action(async (key, value, options) => {
46
46
  if (!isValidConfigKey(key)) {
47
47
  error(`Unknown configuration key: ${key}`);
48
- info(`Valid keys: ${code('planSource, maxIterations, maxTokens, defaultModel, autoCommit, branchPrefix, githubRepo, localPlanFile')}`);
48
+ info(`Valid keys: ${code('planSource, maxIterations, maxTokens, defaultModel, autoCommit, branchPrefix, githubRepo, githubLabel, githubMilestone, githubAssignee, localPlanFile')}`);
49
49
  process.exit(1);
50
50
  }
51
51
  const parsedValue = parseConfigValue(key, value);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AA8B3D,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsF1D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAiK3D,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsQ1D"}
@@ -4,8 +4,17 @@
4
4
  * Initialize GitHub Copilot Ralph in a repository
5
5
  */
6
6
  import { execSync } from 'node:child_process';
7
+ import { createInterface } from 'node:readline/promises';
7
8
  import { info, success, error, warn, debug, heading, code, dim } from '../utils/index.js';
8
9
  import { ConfigManager } from '../core/config-manager.js';
10
+ import { CopilotAgent } from '../integrations/copilot-agent.js';
11
+ // Fallback models if SDK fetch fails
12
+ const FALLBACK_MODELS = [
13
+ 'gpt-4.1',
14
+ 'claude-sonnet-4.5',
15
+ 'gpt-5',
16
+ 'gpt-5.2-codex',
17
+ ];
9
18
  /**
10
19
  * Check if we're in a git repository
11
20
  */
@@ -34,6 +43,107 @@ function getGitRoot() {
34
43
  return null;
35
44
  }
36
45
  }
46
+ function isInteractiveTerminal() {
47
+ return Boolean(process.stdin.isTTY && process.stdout.isTTY);
48
+ }
49
+ async function promptConfirm(rl, message, defaultValue) {
50
+ while (true) {
51
+ const hint = defaultValue ? 'Y/n' : 'y/N';
52
+ const answer = (await rl.question(`${message} (${hint}) `)).trim().toLowerCase();
53
+ if (!answer)
54
+ return defaultValue;
55
+ if (answer === 'y' || answer === 'yes')
56
+ return true;
57
+ if (answer === 'n' || answer === 'no')
58
+ return false;
59
+ }
60
+ }
61
+ async function promptNumber(rl, message, defaultValue) {
62
+ while (true) {
63
+ const answer = (await rl.question(`${message} (${defaultValue}) `)).trim();
64
+ if (!answer)
65
+ return defaultValue;
66
+ const parsed = parseInt(answer, 10);
67
+ if (Number.isInteger(parsed) && parsed > 0)
68
+ return parsed;
69
+ console.log(dim('Please enter a positive number.'));
70
+ }
71
+ }
72
+ async function promptString(rl, message, defaultValue) {
73
+ const answer = (await rl.question(`${message} (${defaultValue}) `)).trim();
74
+ return answer || defaultValue;
75
+ }
76
+ async function promptGitHubRepo(rl, defaultValue) {
77
+ while (true) {
78
+ const hint = defaultValue ? ` (${defaultValue}) ` : ' ';
79
+ const answer = (await rl.question(`GitHub repo (owner/repo)${hint}`)).trim();
80
+ const value = answer || defaultValue || '';
81
+ const parts = value.split('/');
82
+ if (parts.length === 2 && parts[0] && parts[1])
83
+ return value;
84
+ console.log(dim('Please enter a valid repo in the form owner/repo.'));
85
+ }
86
+ }
87
+ async function promptOptionalString(rl, message, defaultValue) {
88
+ const hint = defaultValue ? ` (${defaultValue}) ` : ' ';
89
+ const answer = (await rl.question(`${message}${hint}`)).trim();
90
+ const value = answer || defaultValue || '';
91
+ return value ? value : undefined;
92
+ }
93
+ async function promptSelect(rl, message, options, defaultValue) {
94
+ const first = options[0];
95
+ if (!first) {
96
+ throw new Error(`No options provided for ${message}`);
97
+ }
98
+ let defaultIndex = options.findIndex(o => o.value === defaultValue);
99
+ if (defaultIndex < 0)
100
+ defaultIndex = 0;
101
+ while (true) {
102
+ console.log('');
103
+ console.log(dim(`${message}:`));
104
+ for (const [i, opt] of options.entries()) {
105
+ const isDefault = i === defaultIndex;
106
+ console.log(` ${i + 1}) ${opt.label}${isDefault ? dim(' (default)') : ''}`);
107
+ }
108
+ const answer = (await rl.question(`${message} [1-${options.length}] `)).trim();
109
+ if (!answer) {
110
+ return options[defaultIndex]?.value ?? first.value;
111
+ }
112
+ const idx = parseInt(answer, 10) - 1;
113
+ const selected = Number.isInteger(idx) ? options[idx] : undefined;
114
+ if (selected)
115
+ return selected.value;
116
+ console.log(dim('Please enter a valid option number.'));
117
+ }
118
+ }
119
+ /**
120
+ * Fetch available models from the Copilot SDK
121
+ * Falls back to hardcoded list if fetch fails
122
+ */
123
+ async function fetchModelOptions(_currentDefault) {
124
+ debug('Fetching available models from Copilot SDK...');
125
+ try {
126
+ const models = await CopilotAgent.fetchAvailableModels();
127
+ if (models.length > 0) {
128
+ debug(`Found ${models.length} models from SDK`);
129
+ const options = models.map((m) => ({
130
+ label: m.name || m.id,
131
+ value: m.id,
132
+ }));
133
+ // Add custom option at the end
134
+ options.push({ label: 'Custom (enter manually)', value: '__custom__' });
135
+ return options;
136
+ }
137
+ }
138
+ catch (err) {
139
+ debug(`Failed to fetch models: ${err instanceof Error ? err.message : String(err)}`);
140
+ }
141
+ // Fallback to hardcoded list
142
+ debug('Using fallback model list');
143
+ const fallbackOptions = FALLBACK_MODELS.map(m => ({ label: m, value: m }));
144
+ fallbackOptions.push({ label: 'Custom (enter manually)', value: '__custom__' });
145
+ return fallbackOptions;
146
+ }
37
147
  export function registerInitCommand(program) {
38
148
  program
39
149
  .command('init')
@@ -93,8 +203,122 @@ See also:
93
203
  }
94
204
  // Update configuration
95
205
  configManager.set('planSource', planSource);
96
- // Initialize local directory and save config
97
- const stateDir = await configManager.initLocal();
206
+ const shouldPrompt = isInteractiveTerminal() &&
207
+ options.planSource === undefined &&
208
+ options.github !== true &&
209
+ options.local !== true;
210
+ let stateDir;
211
+ try {
212
+ if (shouldPrompt) {
213
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
214
+ const current = configManager.getConfig();
215
+ console.log(dim('Default configuration:'));
216
+ console.log(` ${dim('Plan source:')} ${code(current.planSource)}`);
217
+ console.log(` ${dim('Max iterations:')} ${current.maxIterations}`);
218
+ console.log(` ${dim('Max tokens:')} ${current.maxTokens.toLocaleString()}`);
219
+ console.log(` ${dim('Model:')} ${code(current.defaultModel)}`);
220
+ console.log(` ${dim('Auto commit:')} ${current.autoCommit}`);
221
+ console.log(` ${dim('Branch prefix:')} ${code(current.branchPrefix)}`);
222
+ if (current.planSource === 'github') {
223
+ console.log(` ${dim('GitHub repo:')} ${code(current.githubRepo ?? '(not set)')}`);
224
+ if (current.githubLabel) {
225
+ console.log(` ${dim('GitHub label:')} ${code(current.githubLabel)}`);
226
+ }
227
+ if (current.githubMilestone) {
228
+ console.log(` ${dim('GitHub milestone:')} ${code(current.githubMilestone)}`);
229
+ }
230
+ if (current.githubAssignee) {
231
+ console.log(` ${dim('GitHub assignee:')} ${code(current.githubAssignee)}`);
232
+ }
233
+ }
234
+ console.log('');
235
+ const keepDefaults = await promptConfirm(rl, 'Keep these defaults?', true);
236
+ if (!keepDefaults) {
237
+ const selectedPlanSource = await promptSelect(rl, 'Plan source', [
238
+ { label: 'local', value: 'local' },
239
+ { label: 'github', value: 'github' },
240
+ ], current.planSource);
241
+ configManager.set('planSource', selectedPlanSource);
242
+ const maxIterations = await promptNumber(rl, 'Max iterations', current.maxIterations);
243
+ configManager.set('maxIterations', maxIterations);
244
+ const maxTokens = await promptNumber(rl, 'Max tokens', current.maxTokens);
245
+ configManager.set('maxTokens', maxTokens);
246
+ // Fetch available models dynamically from SDK
247
+ const modelOptions = await fetchModelOptions(current.defaultModel);
248
+ const selectedModel = await promptSelect(rl, 'Model', modelOptions, (modelOptions.some(o => o.value === current.defaultModel)
249
+ ? current.defaultModel
250
+ : '__custom__'));
251
+ if (selectedModel === '__custom__') {
252
+ const customModel = await promptString(rl, 'Custom model', current.defaultModel);
253
+ configManager.set('defaultModel', customModel);
254
+ }
255
+ else {
256
+ configManager.set('defaultModel', selectedModel);
257
+ }
258
+ const selectedAutoCommit = await promptSelect(rl, 'Auto commit', [
259
+ { label: 'true', value: 'true' },
260
+ { label: 'false', value: 'false' },
261
+ ], current.autoCommit ? 'true' : 'false');
262
+ configManager.set('autoCommit', selectedAutoCommit === 'true');
263
+ const branchPrefix = await promptString(rl, 'Branch prefix', current.branchPrefix);
264
+ configManager.set('branchPrefix', branchPrefix);
265
+ }
266
+ const finalPlanSource = configManager.getConfig().planSource;
267
+ if (finalPlanSource === 'github') {
268
+ const repo = await promptGitHubRepo(rl, configManager.getConfig().githubRepo);
269
+ configManager.set('githubRepo', repo);
270
+ const hasAnyFilters = Boolean(configManager.getConfig().githubLabel ||
271
+ configManager.getConfig().githubMilestone ||
272
+ configManager.getConfig().githubAssignee);
273
+ const setFilters = await promptConfirm(rl, 'Configure default GitHub issue filters (label/milestone/assignee)?', hasAnyFilters);
274
+ if (setFilters) {
275
+ const label = await promptOptionalString(rl, 'GitHub label filter', configManager.getConfig().githubLabel);
276
+ if (label)
277
+ configManager.set('githubLabel', label);
278
+ const milestone = await promptOptionalString(rl, 'GitHub milestone filter', configManager.getConfig().githubMilestone);
279
+ if (milestone)
280
+ configManager.set('githubMilestone', milestone);
281
+ const assignee = await promptOptionalString(rl, 'GitHub assignee filter', configManager.getConfig().githubAssignee);
282
+ if (assignee)
283
+ configManager.set('githubAssignee', assignee);
284
+ }
285
+ }
286
+ const finalConfig = configManager.getConfig();
287
+ console.log('');
288
+ console.log(dim('Configuration to write:'));
289
+ console.log(` ${dim('Plan source:')} ${code(finalConfig.planSource)}`);
290
+ console.log(` ${dim('Max iterations:')} ${finalConfig.maxIterations}`);
291
+ console.log(` ${dim('Max tokens:')} ${finalConfig.maxTokens.toLocaleString()}`);
292
+ console.log(` ${dim('Model:')} ${code(finalConfig.defaultModel)}`);
293
+ console.log(` ${dim('Auto commit:')} ${finalConfig.autoCommit}`);
294
+ console.log(` ${dim('Branch prefix:')} ${code(finalConfig.branchPrefix)}`);
295
+ if (finalConfig.planSource === 'github') {
296
+ console.log(` ${dim('GitHub repo:')} ${code(finalConfig.githubRepo ?? '(not set)')}`);
297
+ if (finalConfig.githubLabel) {
298
+ console.log(` ${dim('GitHub label:')} ${code(finalConfig.githubLabel)}`);
299
+ }
300
+ if (finalConfig.githubMilestone) {
301
+ console.log(` ${dim('GitHub milestone:')} ${code(finalConfig.githubMilestone)}`);
302
+ }
303
+ if (finalConfig.githubAssignee) {
304
+ console.log(` ${dim('GitHub assignee:')} ${code(finalConfig.githubAssignee)}`);
305
+ }
306
+ }
307
+ console.log('');
308
+ const confirmWrite = await promptConfirm(rl, 'Write configuration?', true);
309
+ rl.close();
310
+ if (!confirmWrite) {
311
+ info('Initialization cancelled.');
312
+ return;
313
+ }
314
+ }
315
+ // Initialize local directory and save config
316
+ stateDir = await configManager.initLocal();
317
+ }
318
+ catch (e) {
319
+ error(e.message);
320
+ process.exit(1);
321
+ }
98
322
  // Display configuration
99
323
  const config = configManager.getConfig();
100
324
  console.log(dim('Configuration:'));
@@ -104,7 +328,23 @@ See also:
104
328
  console.log(` ${dim('Model:')} ${code(config.defaultModel)}`);
105
329
  console.log(` ${dim('Auto commit:')} ${config.autoCommit}`);
106
330
  console.log(` ${dim('Branch prefix:')} ${code(config.branchPrefix)}`);
331
+ if (config.planSource === 'github') {
332
+ console.log(` ${dim('GitHub repo:')} ${code(config.githubRepo ?? '(not set)')}`);
333
+ if (config.githubLabel) {
334
+ console.log(` ${dim('GitHub label:')} ${code(config.githubLabel)}`);
335
+ }
336
+ if (config.githubMilestone) {
337
+ console.log(` ${dim('GitHub milestone:')} ${code(config.githubMilestone)}`);
338
+ }
339
+ if (config.githubAssignee) {
340
+ console.log(` ${dim('GitHub assignee:')} ${code(config.githubAssignee)}`);
341
+ }
342
+ }
107
343
  console.log('');
344
+ if (config.planSource === 'github' && !config.githubRepo) {
345
+ warn('GitHub plan source selected but githubRepo is not configured.');
346
+ info(`Set it with ${code('ghcralph config set githubRepo owner/repo')} (or GHCRALPH_GITHUB_REPO).`);
347
+ }
108
348
  console.log(dim('Created:'));
109
349
  console.log(` ${code(stateDir)}`);
110
350
  console.log('');
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -7,22 +7,15 @@ import type { Command } from 'commander';
7
7
  export interface RunOptions {
8
8
  task?: string;
9
9
  file?: string;
10
- plan?: string;
11
- github?: string;
12
- label?: string;
13
- milestone?: string;
14
- assignee?: string;
10
+ github?: boolean;
15
11
  context?: string[];
16
12
  branch?: string;
17
13
  force?: boolean;
18
- noCommit?: boolean;
19
14
  unlimited?: boolean;
20
15
  timeout?: string;
21
16
  allowDelete?: boolean;
22
- maxIterations: string;
23
- maxTokens?: string;
24
- model?: string;
25
17
  dryRun?: boolean;
18
+ pauseBetweenTasks?: boolean;
26
19
  }
27
20
  export declare function registerRunCommand(program: Command): void;
28
21
  //# sourceMappingURL=run.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA2ED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmXzD"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBzC,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AA+FD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsiBzD"}