juno-code 1.0.50 → 1.0.51
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/README.md +100 -8
- package/dist/bin/cli.js +2431 -1280
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/cli.mjs +2413 -1262
- package/dist/bin/cli.mjs.map +1 -1
- package/dist/index.d.mts +23 -12
- package/dist/index.d.ts +23 -12
- package/dist/index.js +40 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +40 -11
- package/dist/index.mjs.map +1 -1
- package/dist/templates/scripts/install_requirements.sh +14 -2
- package/dist/templates/scripts/kanban.sh +7 -0
- package/dist/templates/services/README.md +23 -4
- package/dist/templates/services/__pycache__/pi.cpython-313.pyc +0 -0
- package/dist/templates/services/pi.py +657 -29
- package/dist/templates/skills/claude/ralph-loop/scripts/kanban.sh +7 -0
- package/dist/templates/skills/codex/ralph-loop/scripts/kanban.sh +7 -0
- package/package.json +1 -1
|
@@ -276,10 +276,22 @@ check_all_for_updates() {
|
|
|
276
276
|
log_info "Performing periodic version check..."
|
|
277
277
|
|
|
278
278
|
for package in "${REQUIRED_PACKAGES[@]}"; do
|
|
279
|
-
|
|
280
|
-
|
|
279
|
+
local result=0
|
|
280
|
+
|
|
281
|
+
# check_and_upgrade_package can return 2 when an update is available.
|
|
282
|
+
# With `set -e`, calling it directly would abort the script before we
|
|
283
|
+
# can process that status. Wrap it in an if/else so we can capture and
|
|
284
|
+
# handle non-zero return codes intentionally.
|
|
285
|
+
if check_and_upgrade_package "$package" "true"; then
|
|
286
|
+
result=0
|
|
287
|
+
else
|
|
288
|
+
result=$?
|
|
289
|
+
fi
|
|
290
|
+
|
|
281
291
|
if [ $result -eq 2 ]; then
|
|
282
292
|
packages_needing_upgrade+=("$package")
|
|
293
|
+
elif [ $result -ne 0 ]; then
|
|
294
|
+
log_warning "Skipping upgrade decision for $package due to check error"
|
|
283
295
|
fi
|
|
284
296
|
done
|
|
285
297
|
|
|
@@ -194,6 +194,13 @@ cd "$PROJECT_ROOT"
|
|
|
194
194
|
# not from wherever the calling agent happens to be. Respects existing override.
|
|
195
195
|
export JUNO_TASK_ROOT="${JUNO_TASK_ROOT:-$PROJECT_ROOT}"
|
|
196
196
|
|
|
197
|
+
# Prefer local juno_kanban source when available (monorepo development).
|
|
198
|
+
# This keeps wrapper behavior aligned with working-tree changes without requiring
|
|
199
|
+
# immediate reinstall from PyPI between local iterations.
|
|
200
|
+
if [[ -d "$PROJECT_ROOT/juno_kanban/src" ]]; then
|
|
201
|
+
export PYTHONPATH="$PROJECT_ROOT/juno_kanban/src${PYTHONPATH:+:$PYTHONPATH}"
|
|
202
|
+
fi
|
|
203
|
+
|
|
197
204
|
# Arrays to store normalized arguments (declared at script level for proper handling)
|
|
198
205
|
declare -a NORMALIZED_GLOBAL_FLAGS=()
|
|
199
206
|
declare -a NORMALIZED_COMMAND_ARGS=()
|
|
@@ -239,15 +239,17 @@ npm install -g @mariozechner/pi-coding-agent
|
|
|
239
239
|
#### Features
|
|
240
240
|
|
|
241
241
|
- Multi-provider support (Anthropic, OpenAI, Google, Groq, xAI, etc.)
|
|
242
|
-
- Model shorthand aliases (`:pi`, `:sonnet`, `:opus`, `:gpt-5`, `:gemini-pro`, etc.)
|
|
242
|
+
- Model shorthand aliases (`:pi`, `:sonnet`, `:opus`, `:gpt-5`, `:api-codex`, `:gemini-pro`, etc.)
|
|
243
243
|
- Support for inline prompts or prompt files
|
|
244
|
-
- JSON
|
|
244
|
+
- Headless JSON mode (default) for structured automation output
|
|
245
|
+
- Live interactive mode via `--live` (Pi TUI + auto-exit on non-aborted `agent_end`)
|
|
246
|
+
- Temporary live extension capture (`JUNO_SUBAGENT_CAPTURE_PATH`) for iteration summaries/cost
|
|
245
247
|
- Verbose mode for debugging
|
|
246
248
|
|
|
247
249
|
#### Usage
|
|
248
250
|
|
|
249
251
|
```bash
|
|
250
|
-
# Basic usage with Anthropic model
|
|
252
|
+
# Basic headless JSON-mode usage with Anthropic model
|
|
251
253
|
~/.juno_code/services/pi.py -p "Write a hello world function" -m :sonnet
|
|
252
254
|
|
|
253
255
|
# Use with OpenAI model
|
|
@@ -256,6 +258,9 @@ npm install -g @mariozechner/pi-coding-agent
|
|
|
256
258
|
# Use with Gemini model
|
|
257
259
|
~/.juno_code/services/pi.py -p "Add tests" -m :gemini-pro
|
|
258
260
|
|
|
261
|
+
# Live interactive mode (Pi TUI + auto-exit extension on non-aborted completion)
|
|
262
|
+
~/.juno_code/services/pi.py --live -p "Summarize this repo" -m :api-codex
|
|
263
|
+
|
|
259
264
|
# Specify project directory
|
|
260
265
|
~/.juno_code/services/pi.py -p "Fix bugs" --cd /path/to/project
|
|
261
266
|
|
|
@@ -269,18 +274,32 @@ npm install -g @mariozechner/pi-coding-agent
|
|
|
269
274
|
- `-pp, --prompt-file <path>`: Path to prompt file (required if no --prompt)
|
|
270
275
|
- `--cd <path>`: Project path (default: current directory)
|
|
271
276
|
- `-m, --model <name>`: Model name (supports shorthand aliases)
|
|
277
|
+
- `--live`: Run Pi in interactive mode (no `--mode json`, prompt passed positionally)
|
|
278
|
+
- `--no-extensions`: Disable Pi extensions (incompatible with `--live`)
|
|
272
279
|
- `--verbose`: Enable verbose output
|
|
273
280
|
|
|
274
281
|
#### Via juno-code
|
|
275
282
|
|
|
276
283
|
```bash
|
|
277
|
-
# Run Pi through juno-code
|
|
284
|
+
# Run Pi through juno-code (headless default)
|
|
278
285
|
juno-code -b shell -s pi -m :sonnet -i 1 -v -p "your task"
|
|
279
286
|
|
|
287
|
+
# Run Pi in live interactive mode (auto-exits on non-aborted completion)
|
|
288
|
+
juno-code pi --live -p '/skill:ralph-loop' -i 1
|
|
289
|
+
|
|
290
|
+
# If :pi default model is unavailable in your provider config, set an explicit model
|
|
291
|
+
juno-code pi --live -m :api-codex -p "your task" -i 1
|
|
292
|
+
|
|
280
293
|
# Quick shortcut
|
|
281
294
|
juno-code pi "your task"
|
|
282
295
|
```
|
|
283
296
|
|
|
297
|
+
Notes:
|
|
298
|
+
- `--live` is Pi-only and expects an interactive terminal for clean TUI rendering.
|
|
299
|
+
- Esc interruptions do not auto-exit Pi: interrupted (`stopReason=aborted`) turns keep the live session open.
|
|
300
|
+
- To manually exit Pi and return control to juno-code, use Pi's normal exit keys (for example `Ctrl+C` twice quickly or `Ctrl+D` on an empty editor).
|
|
301
|
+
- Pi TUI should run on a modern Node runtime (Node 20+ recommended).
|
|
302
|
+
|
|
284
303
|
## Customization
|
|
285
304
|
|
|
286
305
|
All service scripts installed in `~/.juno_code/services/` can be modified to suit your needs. This directory is designed for user customization.
|
|
Binary file
|