Command Reference (Generated)

This page is generated from the actual CLI implementation under raccoon/toolchain/. Do not edit by hand; update the CLI or the generator instead.

raccoon

Raccoon - Toolchain CLI for raccoon projects.

Usage: raccoon [OPTIONS] COMMAND [ARGS]...

Arguments & Options

  • --no-validate (flag) (default: False) Skip pre-command project validation.

Subcommands

  • raccoon calibrate Robot calibration.

 Run one calibration phase at a time: calibrate ticks calibrate autotune calibrate servos

  • raccoon checkpoint Manage invisible git checkpoints.
  • raccoon codegen Generate Python code from raccoon.project.yml.

Runs locally using the raccoon type index — no Pi connection needed.

  • raccoon connect Connect to a Raccoon Pi server at ADDRESS.

ADDRESS is the IP address or hostname of the Pi.

Examples: raccoon connect 192.168.4.1 raccoon connect raspberrypi.local raccoon connect 192.168.1.100 –port 8421

  • raccoon create Create projects and missions.
  • raccoon disconnect Disconnect from the current Raccoon Pi.
  • raccoon doctor Show system health: connection, tools, and package versions.
  • raccoon lcm LCM spy and debugging commands.

Spy on LCM traffic, record sessions, and playback recordings.

  • raccoon list List projects and missions.
  • raccoon logs Browse and inspect libstp log runs.

Fetches logs from the connected Pi by default. Use –local to read logs from a local directory.

  • raccoon migrate Apply pending project migrations.

Reads format_version from raccoon.project.yml and applies all migration scripts with a higher NUMBER in order.

  • raccoon remove Remove projects and missions.
  • raccoon reorder Reorder items in the project.
  • raccoon run Run codegen and then execute src.main.

If connected to a Pi, syncs the project and runs remotely. Use –local to force local execution.

The first positional argument may name a run configuration declared under run_configurations: in raccoon.project.yml (e.g. raccoon run dev). The configuration provides defaults for the flags below; explicit CLI flags still win.

Use –no-mN (e.g. –no-m0 –no-m2) to skip missions at those order indices.

  • raccoon shell Open an interactive SSH shell on the connected Pi.
  • raccoon sync Sync the current project with the connected Pi using rsync.

By default, pushes local files to the Pi (local -> Pi).

Use –push for explicit push (local -> Pi). Use –pull for pull (Pi -> local). Use –no-delete to keep extraneous files on the destination.

  • raccoon update Check for and install updates across all packages.

Uses the raccoon-image bundle manifest to determine target versions.

Examples: raccoon update # Stable bundle (bundles/latest.json) raccoon update –dev # Latest component tips (bundles/dev.json) raccoon update –bundle 2026.4.25.1 # Specific bundle raccoon update –check # Dry run, just show status

  • raccoon validate Check that config, mission files, and imports are consistent.
  • raccoon web Start the Web IDE with full backend support.

Serves the web IDE with a full API backend on a local port.

When run inside a project directory (containing raccoon.project.yml), the browser opens directly to that project.

Automatically opens the browser unless –no-open is specified.

Examples:

raccoon web              # Serve on port 4200

raccoon web -p 8080      # Serve on port 8080

raccoon web --no-open    # Don't auto-open browser
  • raccoon wizard Interactive wizard to scaffold or update raccoon.project.yml.

Guides you through drivetrain type, motor ports, physical measurements, button sensor, optional extra definitions, and encoder ticks calibration. Hardware types and their parameters are read directly from the installed raccoon stubs so the wizard always reflects the available API.

raccoon calibrate

Robot calibration.

 Run one calibration phase at a time: calibrate ticks calibrate autotune calibrate servos

Usage: raccoon calibrate [OPTIONS] COMMAND [ARGS]...

Arguments & Options

  • --local, -l (flag) (default: False) Run locally on this machine (requires hardware)

Subcommands

  • raccoon calibrate autotune Phase 2: run auto_tune() as a mission step.
  • raccoon calibrate servos Phase 3: jog servos to find named positions.
  • raccoon calibrate step-response Record a motor step response and plot BEMF vs time.
  • raccoon calibrate ticks Phase 1: measure encoder ticks/revolution.

raccoon calibrate autotune

Phase 2: run auto_tune() as a mission step.

Usage: raccoon calibrate autotune [OPTIONS]

raccoon calibrate servos

Phase 3: jog servos to find named positions.

Usage: raccoon calibrate servos [OPTIONS]

raccoon calibrate step-response

Record a motor step response and plot BEMF vs time.

Usage: raccoon calibrate step-response [OPTIONS]

Arguments & Options

  • --local (flag) (default: False) Run directly on this machine (requires hardware)
  • --ports (default: 0,1,2,3) Comma-separated motor ports to record
  • --mode (default: speed) speed = set_speed() [%%], velocity = set_velocity() [BEMF units, PID]
  • --speed (default: 70) Speed value (percent or BEMF units)
  • --duration (default: 3.0) Run duration in seconds
  • --brake-tail (default: 2.0) Extra seconds to record after braking
  • --hz (default: 100) Sample rate in Hz
  • --out (default: step_response.csv) CSV output filename
  • --plot (default: step_response.png) Plot output filename
  • --no-plot (flag) (default: False) Skip generating the plot

raccoon calibrate ticks

Phase 1: measure encoder ticks/revolution.

Usage: raccoon calibrate ticks [OPTIONS]

raccoon checkpoint

Manage invisible git checkpoints.

Usage: raccoon checkpoint [OPTIONS] COMMAND [ARGS]...

Subcommands

  • raccoon checkpoint clean Prune old checkpoints.
  • raccoon checkpoint delete Delete a single checkpoint.

IDENTIFIER is either the index number from ’list’ or a short SHA.

  • raccoon checkpoint list List all saved checkpoints.
  • raccoon checkpoint restore Apply a checkpoint to the working tree.

IDENTIFIER is either the index number from ’list’ or a short SHA.

  • raccoon checkpoint show Show the diff of a checkpoint.

IDENTIFIER is either the index number from ’list’ or a short SHA.

raccoon checkpoint clean

Prune old checkpoints.

Usage: raccoon checkpoint clean [OPTIONS]

Arguments & Options

  • --all (flag) (default: False) Delete all checkpoints
  • --older-than (default: 7) Delete checkpoints older than this many days

raccoon checkpoint delete

Delete a single checkpoint.

IDENTIFIER is either the index number from ’list’ or a short SHA.

Usage: raccoon checkpoint delete [OPTIONS] IDENTIFIER

Arguments & Options

  • IDENTIFIER (argument)

raccoon checkpoint list

List all saved checkpoints.

Usage: raccoon checkpoint list [OPTIONS]

raccoon checkpoint restore

Apply a checkpoint to the working tree.

IDENTIFIER is either the index number from ’list’ or a short SHA.

Usage: raccoon checkpoint restore [OPTIONS] IDENTIFIER

Arguments & Options

  • IDENTIFIER (argument)

raccoon checkpoint show

Show the diff of a checkpoint.

IDENTIFIER is either the index number from ’list’ or a short SHA.

Usage: raccoon checkpoint show [OPTIONS] IDENTIFIER

Arguments & Options

  • IDENTIFIER (argument)

raccoon codegen

Generate Python code from raccoon.project.yml.

Runs locally using the raccoon type index — no Pi connection needed.

Usage: raccoon codegen [OPTIONS]

Arguments & Options

  • --only (repeatable) (default: Sentinel.UNSET) Generate specific file(s): defs, robot. May be given multiple times.
  • --no-format (flag) (default: False) Skip black formatting
  • -o, --output-dir Override output directory (default: src/hardware/)
  • --no-validate (flag) (default: False) Skip pre-codegen validation checks.

raccoon connect

Connect to a Raccoon Pi server at ADDRESS.

ADDRESS is the IP address or hostname of the Pi.

Examples: raccoon connect 192.168.4.1 raccoon connect raspberrypi.local raccoon connect 192.168.1.100 –port 8421

Usage: raccoon connect [OPTIONS] ADDRESS

Arguments & Options

  • ADDRESS (argument)
  • --port, -p (default: 8421) Pi server port
  • --user, -u (default: pi) SSH username
  • --save, --no-save (flag) (default: True) Save connection to project config

raccoon create

Create projects and missions.

Usage: raccoon create [OPTIONS] COMMAND [ARGS]...

Subcommands

  • raccoon create mission Create a new mission with the given NAME in the current project.
  • raccoon create project Create a new raccoon project with the given NAME.

raccoon create mission

Create a new mission with the given NAME in the current project.

Usage: raccoon create mission [OPTIONS] NAME

Arguments & Options

  • NAME (argument)

raccoon create project

Create a new raccoon project with the given NAME.

Usage: raccoon create project [OPTIONS] NAME

Arguments & Options

  • NAME (argument)
  • --path (default: .) Directory to create project in
  • --no-wizard (flag) (default: False) Skip the setup wizard (not recommended)

raccoon disconnect

Disconnect from the current Raccoon Pi.

Usage: raccoon disconnect [OPTIONS]

raccoon doctor

Show system health: connection, tools, and package versions.

Usage: raccoon doctor [OPTIONS]

raccoon lcm

LCM spy and debugging commands.

Spy on LCM traffic, record sessions, and playback recordings.

Usage: raccoon lcm [OPTIONS] COMMAND [ARGS]...

Subcommands

  • raccoon lcm delete Delete an LCM recording from the Pi.
  • raccoon lcm list List available LCM recordings on the Pi.
  • raccoon lcm playback Playback a recorded LCM session.

Republishes recorded messages to LCM on the Pi.

Examples:

raccoon lcm playback my_session.jsonl

raccoon lcm playback test_run.jsonl --speed 2.0

raccoon lcm playback demo.jsonl --loop
  • raccoon lcm record Record LCM traffic to a file on the Pi.

Records are stored on the Pi and can be listed with ‘raccoon lcm list’.

Examples:

raccoon lcm record my_session

raccoon lcm record test_run --channel "SENSOR_*" --duration 60
  • raccoon lcm spy Spy on LCM traffic in real-time.

By default, shows all channels. Use –channel to filter.

Examples:

raccoon lcm spy

raccoon lcm spy --channel "SENSOR_*"

raccoon lcm spy --channel "MOTOR_CMD" --channel "SENSOR_DATA"

raccoon lcm spy --record my_session
  • raccoon lcm status Show current LCM spy/playback status.

raccoon lcm delete

Delete an LCM recording from the Pi.

Usage: raccoon lcm delete [OPTIONS] FILENAME

Arguments & Options

  • FILENAME (argument)
  • --yes, -y (flag) (default: False) Skip confirmation

raccoon lcm list

List available LCM recordings on the Pi.

Usage: raccoon lcm list [OPTIONS]

raccoon lcm playback

Playback a recorded LCM session.

Republishes recorded messages to LCM on the Pi.

Examples:

raccoon lcm playback my_session.jsonl

raccoon lcm playback test_run.jsonl --speed 2.0

raccoon lcm playback demo.jsonl --loop
Usage: raccoon lcm playback [OPTIONS] FILENAME

Arguments & Options

  • FILENAME (argument)
  • --speed, -s (default: 1.0) Playback speed multiplier
  • --loop, -l (flag) (default: False) Loop playback
  • --channel, -c (repeatable) (default: Sentinel.UNSET) Channel pattern to filter (supports wildcards)

raccoon lcm record

Record LCM traffic to a file on the Pi.

Records are stored on the Pi and can be listed with ‘raccoon lcm list’.

Examples:

raccoon lcm record my_session

raccoon lcm record test_run --channel "SENSOR_*" --duration 60
Usage: raccoon lcm record [OPTIONS] FILENAME

Arguments & Options

  • FILENAME (argument)
  • --channel, -c (repeatable) (default: Sentinel.UNSET) Channel pattern to filter (supports wildcards)
  • --duration, -d (default: 0) Recording duration in seconds (0 = until stopped)

raccoon lcm spy

Spy on LCM traffic in real-time.

By default, shows all channels. Use –channel to filter.

Examples:

raccoon lcm spy

raccoon lcm spy --channel "SENSOR_*"

raccoon lcm spy --channel "MOTOR_CMD" --channel "SENSOR_DATA"

raccoon lcm spy --record my_session
Usage: raccoon lcm spy [OPTIONS]

Arguments & Options

  • --channel, -c (repeatable) (default: Sentinel.UNSET) Channel pattern to filter (can specify multiple, supports wildcards)
  • --record, -r (default: Sentinel.UNSET) Record to file (filename)
  • --format, -f (default: table) Output format

raccoon lcm status

Show current LCM spy/playback status.

Usage: raccoon lcm status [OPTIONS]

raccoon list

List projects and missions.

Usage: raccoon list [OPTIONS] COMMAND [ARGS]...

Subcommands

  • raccoon list missions List all missions in the current project.
  • raccoon list projects List all raccoon projects in the specified directory.

raccoon list missions

List all missions in the current project.

Usage: raccoon list missions [OPTIONS]

raccoon list projects

List all raccoon projects in the specified directory.

Usage: raccoon list projects [OPTIONS]

Arguments & Options

  • --path (default: .) Directory to search for projects

raccoon logs

Browse and inspect libstp log runs.

Fetches logs from the connected Pi by default. Use –local to read logs from a local directory.

Usage: raccoon logs [OPTIONS] COMMAND [ARGS]...

Arguments & Options

  • --dir Path to a local .raccoon/logs/ directory (implies –local).
  • -n, --last Show last N runs.
  • -a, --all (flag) (default: False) Include rotated log files.
  • --local (flag) (default: False) Read local logs instead of fetching from Pi.

Subcommands

  • raccoon logs clear Delete all log files (on Pi or locally with –local).
  • raccoon logs services List project services and their journald output.

Only works against the connected Pi — project services are systemd units on the robot.

  • raccoon logs show Show log entries for a specific run.

RUN_ID is the run number from ‘raccoon logs’ (default: 1 = most recent).

  • raccoon logs sources List all log sources (files) seen in a run.
  • raccoon logs tail Show the most recent log lines, optionally following for new output.

Use -f to continuously watch for new log entries (requires –local).

raccoon logs clear

Delete all log files (on Pi or locally with –local).

Usage: raccoon logs clear [OPTIONS]

Arguments & Options

  • --yes, -y (flag) (default: False) Skip confirmation.

raccoon logs services

List project services and their journald output.

Only works against the connected Pi — project services are systemd units on the robot.

Usage: raccoon logs services [OPTIONS] COMMAND [ARGS]...

Subcommands

  • raccoon logs services show Show the last N journald entries for a project service.

raccoon logs services show

Show the last N journald entries for a project service.

Usage: raccoon logs services show [OPTIONS] SERVICE_NAME

Arguments & Options

  • SERVICE_NAME (argument)
  • -n, --lines (default: 200) Number of journal lines to fetch.
  • --no-pager (flag) (default: False) Don’t use a pager for output.

raccoon logs show

Show log entries for a specific run.

RUN_ID is the run number from ‘raccoon logs’ (default: 1 = most recent).

Usage: raccoon logs show [OPTIONS] [RUN_ID]

Arguments & Options

  • RUN_ID (argument)
  • -l, --level Filter by level (info, warn, error, …).
  • -s, --source Filter by source file substring.
  • -g, --grep Filter messages by regex.
  • --no-pager (flag) (default: False) Don’t use a pager for output.

raccoon logs sources

List all log sources (files) seen in a run.

Usage: raccoon logs sources [OPTIONS] [RUN_ID]

Arguments & Options

  • RUN_ID (argument)

raccoon logs tail

Show the most recent log lines, optionally following for new output.

Use -f to continuously watch for new log entries (requires –local).

Usage: raccoon logs tail [OPTIONS]

Arguments & Options

  • -n, --lines (default: 20) Number of lines to show initially.
  • -f, --follow (flag) (default: False) Follow the log file for new output (requires –local).
  • -l, --level Filter by level.
  • -s, --source Filter by source file substring.
  • -g, --grep Filter messages by regex.

raccoon migrate

Apply pending project migrations.

Reads format_version from raccoon.project.yml and applies all migration scripts with a higher NUMBER in order.

Usage: raccoon migrate [OPTIONS]

Arguments & Options

  • --target, -t Migrate to this version (default: latest)
  • --dry-run (flag) (default: False) Show pending migrations without applying them

raccoon remove

Remove projects and missions.

Usage: raccoon remove [OPTIONS] COMMAND [ARGS]...

Subcommands

  • raccoon remove mission Remove a mission with the given NAME from the current project.
  • raccoon remove project Remove a project with the given NAME.

raccoon remove mission

Remove a mission with the given NAME from the current project.

Usage: raccoon remove mission [OPTIONS] NAME

Arguments & Options

  • NAME (argument)
  • --keep-file (flag) (default: False) Keep the mission file, only remove from config

raccoon remove project

Remove a project with the given NAME.

Usage: raccoon remove project [OPTIONS] NAME

Arguments & Options

  • NAME (argument)
  • --path (default: .) Directory containing the project
  • --force (flag) (default: False) Skip confirmation prompt

raccoon reorder

Reorder items in the project.

Usage: raccoon reorder [OPTIONS] COMMAND [ARGS]...

Subcommands

  • raccoon reorder missions Reorder missions in the project config.

Without arguments, launches an interactive TUI (setup/shutdown are pinned).

With arguments, reorders non-interactively:

 By index (1-based): raccoon reorder missions 1 3 2

By class name (with or without Mission suffix / M-prefix): raccoon reorder missions M010Drive M000Setup M020Return

All missions are automatically renumbered M010, M020, M030 … after reordering.

raccoon reorder missions

Reorder missions in the project config.

Without arguments, launches an interactive TUI (setup/shutdown are pinned).

With arguments, reorders non-interactively:

 By index (1-based): raccoon reorder missions 1 3 2

By class name (with or without Mission suffix / M-prefix): raccoon reorder missions M010Drive M000Setup M020Return

All missions are automatically renumbered M010, M020, M030 … after reordering.

Usage: raccoon reorder missions [OPTIONS] [ORDER]...

Arguments & Options

  • ORDER... (argument)

raccoon run

Run codegen and then execute src.main.

If connected to a Pi, syncs the project and runs remotely. Use –local to force local execution.

The first positional argument may name a run configuration declared under run_configurations: in raccoon.project.yml (e.g. raccoon run dev). The configuration provides defaults for the flags below; explicit CLI flags still win.

Use –no-mN (e.g. –no-m0 –no-m2) to skip missions at those order indices.

Usage: raccoon run [OPTIONS] [ARGS]...

Arguments & Options

  • ARGS... (argument)
  • --dev (flag) (default: False) Dev mode: use button instead of wait-for-light
  • --local, -l (flag) (default: False) Force local execution (skip remote)
  • --no-sync (flag) (default: False) Skip syncing before remote run
  • --no-calibrate (flag) (default: False) Skip calibration steps, use stored values
  • --no-codegen (flag) (default: False) Skip code generation (used by server when codegen was done client-side)
  • --no-checkpoints (flag) (default: False) Skip waiting for time checkpoints (wait_for_checkpoint steps return immediately)
  • --record-localization (flag) (default: False) Record particle filter state during the run to .raccoon/runs//localization.jsonl for replay in the Web-IDE.
  • --record-hz Recorder downsample rate in Hz (default 20). Only effective with –record-localization.

raccoon shell

Open an interactive SSH shell on the connected Pi.

Usage: raccoon shell [OPTIONS]

raccoon sync

Sync the current project with the connected Pi using rsync.

By default, pushes local files to the Pi (local -> Pi).

Use –push for explicit push (local -> Pi). Use –pull for pull (Pi -> local). Use –no-delete to keep extraneous files on the destination.

Usage: raccoon sync [OPTIONS]

Arguments & Options

  • --push (flag) (default: False) Push-only: upload local files to Pi
  • --pull (flag) (default: False) Pull-only: download files from Pi to local
  • --delete, --no-delete (flag) (default: True) Delete extraneous files on destination (default: on)
  • --verbose, -v (flag) (default: False) Print detailed per-file sync actions
  • --no-validate (flag) (default: False) Skip pre-sync validation checks for push syncs.

raccoon update

Check for and install updates across all packages.

Uses the raccoon-image bundle manifest to determine target versions.

Examples: raccoon update # Stable bundle (bundles/latest.json) raccoon update –dev # Latest component tips (bundles/dev.json) raccoon update –bundle 2026.4.25.1 # Specific bundle raccoon update –check # Dry run, just show status

Usage: raccoon update [OPTIONS]

Arguments & Options

  • --check (flag) (default: False) Only check, don’t install
  • --laptop-only (flag) (default: False) Only update laptop packages
  • --pi-only (flag) (default: False) Only update Pi packages
  • --force (flag) (default: False) Force reinstall even if versions match
  • --bundle Pin to a specific bundle (e.g. 2026.4.25.1)
  • --dev (flag) (default: False) Use the dev manifest (latest component tips, auto-updated by CI)
  • --allow-missing-pypi-version-fallback (flag) (default: False) If the requested bundle version is missing on PyPI, install the latest available PyPI release instead.

raccoon validate

Check that config, mission files, and imports are consistent.

Usage: raccoon validate [OPTIONS]

Arguments & Options

  • --no-python-compile (flag) (default: False) Skip Python bytecode compile checks for project source files.

raccoon web

Start the Web IDE with full backend support.

Serves the web IDE with a full API backend on a local port.

When run inside a project directory (containing raccoon.project.yml), the browser opens directly to that project.

Automatically opens the browser unless –no-open is specified.

Examples:

raccoon web              # Serve on port 4200

raccoon web -p 8080      # Serve on port 8080

raccoon web --no-open    # Don't auto-open browser
Usage: raccoon web [OPTIONS]

Arguments & Options

  • --port, -p (default: 4200) Port to serve on
  • --no-open (flag) (default: False) Don’t open browser automatically

raccoon wizard

Interactive wizard to scaffold or update raccoon.project.yml.

Guides you through drivetrain type, motor ports, physical measurements, button sensor, optional extra definitions, and encoder ticks calibration. Hardware types and their parameters are read directly from the installed raccoon stubs so the wizard always reflects the available API.

Usage: raccoon wizard [OPTIONS]

Arguments & Options

  • --dry-run (flag) (default: False) Preview output without writing raccoon.project.yml
Written by Docs Bot