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 calibrateRobot calibration.
Run one calibration phase at a time: calibrate ticks calibrate autotune calibrate servos
raccoon checkpointManage invisible git checkpoints.raccoon codegenGenerate Python code from raccoon.project.yml.
Runs locally using the raccoon type index — no Pi connection needed.
raccoon connectConnect 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 createCreate projects and missions.raccoon disconnectDisconnect from the current Raccoon Pi.raccoon doctorShow system health: connection, tools, and package versions.raccoon lcmLCM spy and debugging commands.
Spy on LCM traffic, record sessions, and playback recordings.
raccoon listList projects and missions.raccoon logsBrowse and inspect libstp log runs.
Fetches logs from the connected Pi by default. Use –local to read logs from a local directory.
raccoon migrateApply pending project migrations.
Reads format_version from raccoon.project.yml and applies all migration scripts with a higher NUMBER in order.
raccoon removeRemove projects and missions.raccoon reorderReorder items in the project.raccoon runRun 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 shellOpen an interactive SSH shell on the connected Pi.raccoon syncSync 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 updateCheck 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 validateCheck that config, mission files, and imports are consistent.raccoon webStart 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 wizardInteractive 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 autotunePhase 2: run auto_tune() as a mission step.raccoon calibrate servosPhase 3: jog servos to find named positions.raccoon calibrate step-responseRecord a motor step response and plot BEMF vs time.raccoon calibrate ticksPhase 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 cleanPrune old checkpoints.raccoon checkpoint deleteDelete a single checkpoint.
IDENTIFIER is either the index number from ’list’ or a short SHA.
raccoon checkpoint listList all saved checkpoints.raccoon checkpoint restoreApply a checkpoint to the working tree.
IDENTIFIER is either the index number from ’list’ or a short SHA.
raccoon checkpoint showShow 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-dirOverride 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 missionCreate a new mission with the given NAME in the current project.raccoon create projectCreate 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 deleteDelete an LCM recording from the Pi.raccoon lcm listList available LCM recordings on the Pi.raccoon lcm playbackPlayback 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 recordRecord 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 spySpy 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 statusShow 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 missionsList all missions in the current project.raccoon list projectsList 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
--dirPath to a local .raccoon/logs/ directory (implies –local).-n,--lastShow 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 clearDelete all log files (on Pi or locally with –local).raccoon logs servicesList project services and their journald output.
Only works against the connected Pi — project services are systemd units on the robot.
raccoon logs showShow log entries for a specific run.
RUN_ID is the run number from ‘raccoon logs’ (default: 1 = most recent).
raccoon logs sourcesList all log sources (files) seen in a run.raccoon logs tailShow 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 showShow 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,--levelFilter by level (info, warn, error, …).-s,--sourceFilter by source file substring.-g,--grepFilter 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,--levelFilter by level.-s,--sourceFilter by source file substring.-g,--grepFilter 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,-tMigrate 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 missionRemove a mission with the given NAME from the current project.raccoon remove projectRemove 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 missionsReorder 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-hzRecorder 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--bundlePin 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