ralph-tool 1.0.2 → 1.0.3

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.
package/bin/ralph.js CHANGED
@@ -209,7 +209,7 @@ function showHelp() {
209
209
  console.log(` ${cmd('plan')} ${dim('[--max N] [--model MODEL]')}`);
210
210
  console.log(' Plan features from vision.md (default: 10 iterations, cleanup every 5)');
211
211
  console.log('');
212
- console.log(` ${cmd('burn')} ${dim('[--plan-max N] [--start-max N] [--model MODEL] [--local]')}`);
212
+ console.log(` ${cmd('burn')} ${dim('[--plan-max N] [--start-max N] [--model MODEL] [--local] [--sandbox]')}`);
213
213
  console.log(' Auto mode: plan from vision.md then execute (plan → start)');
214
214
  console.log('');
215
215
  console.log(` ${cmd('status')}`);
@@ -317,6 +317,7 @@ program
317
317
  .option('--start-max <n>', 'Max execution iterations', '6')
318
318
  .option('--model <model>', 'AI model: sonnet, opus, haiku')
319
319
  .option('--local', 'Local mode: commit but skip branch/push/PR creation')
320
+ .option('--sandbox', 'Run execution phase inside Docker sandbox')
320
321
  .action((options) => {
321
322
  requireInit();
322
323
  const visionFile = path.join(PROJECT_RALPH_DIR, 'config', 'vision.md');
@@ -329,7 +330,7 @@ program
329
330
  }
330
331
  if (options.local) process.env.RALPH_LOCAL = '1';
331
332
  console.log(chalk.dim('Starting Ralph auto mode (plan → execute)...'));
332
- runScript('auto.sh', [options.planMax, options.startMax, options.model || '', options.local ? '1' : '']);
333
+ runScript('auto.sh', [options.planMax, options.startMax, options.model || '', options.local ? '1' : '', options.sandbox ? '1' : '']);
333
334
  });
334
335
 
335
336
  program
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ralph-tool",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "AI-powered task automation CLI for software development",
5
5
  "main": "bin/ralph.js",
6
6
  "bin": {
package/scripts/auto.sh CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bash
2
2
  # Auto mode: run plan-loop first, then start execution loop
3
- # Usage: ./auto.sh [plan_max] [start_max] [model] [local]
3
+ # Usage: ./auto.sh [plan_max] [start_max] [model] [local] [sandbox]
4
4
  # Environment: RALPH_HOME, PROJECT_DIR, PROJECT_RALPH_DIR
5
5
 
6
6
  set -euo pipefail
@@ -9,6 +9,7 @@ PLAN_MAX="${1:-10}"
9
9
  START_MAX="${2:-6}"
10
10
  MODEL="${3:-}"
11
11
  IS_LOCAL="${4:-}"
12
+ USE_SANDBOX="${5:-}"
12
13
 
13
14
  RALPH_HOME="${RALPH_HOME:?RALPH_HOME not set}"
14
15
  PROJECT_DIR="${PROJECT_DIR:?PROJECT_DIR not set}"
@@ -50,12 +51,19 @@ echo ""
50
51
  echo ">>> Starting Phase 2: EXECUTION"
51
52
  echo ""
52
53
 
53
- PROMPT_FILE="${PROJECT_RALPH_DIR}/config/prompt.md"
54
- LOOP_SCRIPT="${RALPH_HOME}/scripts/loop.sh"
55
-
56
54
  set +e
57
- bash "$LOOP_SCRIPT" "$PROMPT_FILE" "$START_MAX" "$MODEL"
58
- LOOP_EXIT=$?
55
+ if [[ "$USE_SANDBOX" == "1" ]]; then
56
+ echo " Running in Docker sandbox..."
57
+ echo ""
58
+ START_SCRIPT="${RALPH_HOME}/scripts/start.sh"
59
+ bash "$START_SCRIPT" "$START_MAX" "$MODEL"
60
+ LOOP_EXIT=$?
61
+ else
62
+ PROMPT_FILE="${PROJECT_RALPH_DIR}/config/prompt.md"
63
+ LOOP_SCRIPT="${RALPH_HOME}/scripts/loop.sh"
64
+ bash "$LOOP_SCRIPT" "$PROMPT_FILE" "$START_MAX" "$MODEL"
65
+ LOOP_EXIT=$?
66
+ fi
59
67
  set -e
60
68
 
61
69
  echo ""