Headless Mode
Use swarmie prompt for non-interactive runs in scripts, CI, and automation.
Primary sources:
- CLI args:
crates/cli/src/cli.rs - Runtime behavior:
crates/cli/src/cmd/oneshot.rs
Basic usage
swarmie prompt "Summarize this repository"Prompt input rules:
swarmie prompt "...": uses argument textswarmie prompt -: reads stdinswarmie promptwith no arg: reads stdin
Key flags
swarmie prompt "Check TODOs" --model sonnet --provider openai
swarmie prompt - --json < prompt.txt
swarmie prompt "Apply patch" --dangerously-bypass-approvals
swarmie prompt "Analyze" -C /path/to/workspaceBehavior details:
--jsonemits JSONL with event debug payloads ({"event":"..."})- Without
--json, assistant text is streamed as plain output - In non-interactive mode, permission requests are denied unless
--dangerously-bypass-approvalsis set
CI/CD example
name: swarmie-headless
on: [workflow_dispatch]
jobs:
run-agent:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Swarmie prompt
run: |
cat <<'PROMPT' | swarmie prompt - --json > swarmie-events.jsonl
Review crates/core/src for error handling gaps and propose fixes.
PROMPT
- name: Upload events
uses: actions/upload-artifact@v4
with:
name: swarmie-events
path: swarmie-events.jsonlOnly use --dangerously-bypass-approvals in trusted, controlled environments.