Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

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 text
  • swarmie prompt -: reads stdin
  • swarmie prompt with 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/workspace

Behavior details:

  • --json emits 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-approvals is 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.jsonl

Only use --dangerously-bypass-approvals in trusted, controlled environments.