microduck-cli
Agent-agnostic CLI for controlling the MicroDuck robot. Any agent, any human, one CLI. Built on the neurosymbolic-system runtime and following the reachy-mini-cli architecture.
Status: scaffold
There is no MicroDuck control code yet. What ships today is the AgentCulture mesh-agent baseline — an agent-first introspection CLI, a mesh identity, the vendored guildmaster skill kit, and a build/CI/deploy pipeline. The duck domain is the destination; the CLI below is the chassis it grows on.
The neurosymbolic-system runtime it is meant to import (senses, rules,
arbitration and motion on one 50 Hz tick) is itself still a scaffold, so it is
not a dependency of this package yet.
What you get
- An agent-first CLI cited from teken
(
afi-cli) — the runtime package has no third-party dependencies. - A mesh identity —
culture.yaml(suffix+backend) and the matching prompt file (AGENTS.colleague.mdfor this agent'sbackend: colleague). - The vendored guildmaster skill kit under
.claude/skills/, cite-don't-import. Seedocs/skill-sources.md. - A build + deploy baseline — pytest, lint, the agent-first rubric gate, and PyPI Trusted Publishing wired into GitHub Actions.
Quickstart
The installed console script is microduck (not microduck-cli — that is
the distribution name and the name the CLI prints in its own output):
uv sync
uv run pytest -n auto # run the test suite
uv run microduck whoami # identity from culture.yaml
uv run microduck 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.
Sibling projects
microduck-cli is built by composing three siblings rather than inventing a fourth architecture:
| Repo | Role here |
|---|---|
neurosymbolic-system |
The robot runtime to import once it ships — never re-implement the tick loop in this repo. |
reachy-mini-cli |
The architecture to follow: noun groups, one tick seam for all senses, the single-SDK-owner model. |
arm101-cli |
The hardware-safety patterns: gated motion (--apply / dry-run / TTY confirm), release-on-abnormal-exit, hardware deps behind an extra. |
Contributing
See CLAUDE.md for the full conventions: the CLI contracts, what
to take from each sibling, version-bump-every-PR, the cicd PR lane, worktree
layout, and memory discipline.
License
Apache 2.0 — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file microduck_cli-0.8.0.tar.gz.
File metadata
- Download URL: microduck_cli-0.8.0.tar.gz
- Upload date:
- Size: 169.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07ae3cc727d905103451f10a0e8a93c38d262ba02022584c70479d826cc26729
|
|
| MD5 |
dc0d0420337fada2647871d717a8c2aa
|
|
| BLAKE2b-256 |
d77938a6cd409d851806ec04d998a14435174c1127e1249f27fda5d530234a2e
|
File details
Details for the file microduck_cli-0.8.0-py3-none-any.whl.
File metadata
- Download URL: microduck_cli-0.8.0-py3-none-any.whl
- Upload date:
- Size: 22.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02d82be5116eea360b8863d97af19e6098e60b0dcb4666d119700883640c2c38
|
|
| MD5 |
ff7bb34e69ba92cd7ee1d86167961a6c
|
|
| BLAKE2b-256 |
70c0fb4b57e056844b8bb5700bdffc09092d2dc6ba12497b27b392d9c506a637
|