Skip to main content

Agent and CLI for operating the Reachy Mini expressive robot — device setup, app management, and runtime ops.

Project description

reachy-mini-cli

Agent and CLI for operating the Reachy Mini expressive robot — device setup, app management, and runtime ops.

What you get

  • An agent-first CLI cited from teken (afi-cli) — the runtime package has no third-party dependencies.
  • A mesh identityculture.yaml (suffix + backend) and the matching prompt file (CLAUDE.md for backend: claude).
  • The canonical guildmaster skill kit (11 skills) under .claude/skills/, vendored cite-don't-import. See docs/skill-sources.md.
  • A build + deploy baseline — pytest, lint, the agent-first rubric gate, and PyPI Trusted Publishing wired into GitHub Actions.

Quickstart

uv sync
uv run pytest -n auto                 # run the test suite
uv run reachy-mini-cli whoami  # identity from culture.yaml
uv run reachy-mini-cli learn   # self-teaching prompt (add --json)
uv run teken cli doctor . --strict    # the agent-first rubric gate CI runs

CLI

Verb What it does
whoami Report this agent's nick, version, backend, and model from culture.yaml.
learn Print a structured self-teaching prompt.
explain <path> Markdown docs for any noun/verb path.
overview Read-only descriptive snapshot of the agent.
doctor Check the agent-identity invariants (prompt-file-present, backend-consistency).
cli overview Describe the CLI surface itself.

Every command supports --json. Results go to stdout, errors/diagnostics to stderr (never mixed). Exit codes: 0 success, 1 user error, 2 environment error, 3+ reserved.

Robot operations

The device, app, and move noun groups operate the Reachy Mini. They talk to the robot through a selectable transport flavor:

  • http (default) — the Reachy daemon's REST API. Uses only the Python standard library, so the default install keeps zero runtime dependencies. Point it at a daemon with --base-url or REACHY_BASE_URL (default http://localhost:8000).
  • sdk — the in-process reachy_mini client. Install the optional extra: pip install 'reachy-cli[sdk]'. Covers motion/state; daemon and app verbs still require http.

Select per command with --transport {http,sdk} (or REACHY_TRANSPORT). Action verbs also accept --timeout. If no daemon is reachable, the command exits 2 with a clean error:/hint: pair — never a traceback.

Verb What it does
device status Daemon status: state, version, wireless/lite, simulation, IP.
device state Live robot state: head pose, antenna positions, body yaw.
app list Available apps (installed and installable).
app status The currently running app, if any.
app start <name> Start an installed app by name.
app stop Stop the currently running app.
move goto Move head/antennas (mm + degrees); see reachy explain move for flags.
move wake Play the wake-up animation.
move sleep Play the go-to-sleep animation.

Each noun also exposes overview (e.g. reachy move overview).

# Start the daemon (from the reachy_mini SDK), then:
uv run reachy device status
uv run reachy app list --json
uv run reachy move goto --z 10 --pitch -5 --duration 2
uv run reachy move wake

Make it your own

  1. Rename the package reachy/ and the reachy-mini-cli CLI/dist name throughout pyproject.toml, the package, tests/, and sonar-project.properties.
  2. Edit culture.yaml with your suffix and backend.
  3. Rewrite CLAUDE.md for your agent and run /init.
  4. Re-vendor only the skills you need from guildmaster (see docs/skill-sources.md).

See CLAUDE.md for the full conventions (version-bump-every-PR, the cicd PR lane, deploy setup).

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reachy_cli-0.2.0.tar.gz (235.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reachy_cli-0.2.0-py3-none-any.whl (32.6 kB view details)

Uploaded Python 3

File details

Details for the file reachy_cli-0.2.0.tar.gz.

File metadata

  • Download URL: reachy_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 235.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for reachy_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a38d5cc72e0117ed8bd6c2dd7e62778b980d6216e0efc519f125e744753a284d
MD5 23237e06b2872efd19dd095cf939f33b
BLAKE2b-256 ae41274de97a6ce02475ce47553f1259296959ee18027d7a25c5a7425cc26039

See more details on using hashes here.

File details

Details for the file reachy_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: reachy_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 32.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for reachy_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2fe21121eab9b37cb44c304eebbf9061b8b7999972848cd2fc3dbc47eb81f493
MD5 7a2d992f5619e49c04bf4d483077766d
BLAKE2b-256 ec4efc20ff7e0f40601ba44b83c98da52ac723bcf1947dc5ed17ae6a5b58209a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page