BREAD hardware provider for the Anolis runtime.
Implements the Anolis Device Provider Protocol (ADPP) v1 over BREAD-over-CRUMBS, exposing RLHT and DCMT devices to the Anolis runtime via framed stdio. Supports Linux hardware integration and a no-hardware build for development and CI.
Repository documentation:
- docs/index.md — scope, design decisions, key rules
- docs/build.md — dependency install, configure, build, and test workflow
- docs/troubleshooting.md — common failure modes and log signatures
- docs/versioning.md — provider and dependency version expectations
- CONTRIBUTING.md — workspace setup, adding device types, cross-repo workflow
Local API docs: run doxygen docs/Doxyfile from the repo root.
Generated output goes to build/docs/doxygen/html/ and remains untracked.
Download the latest release binary (Linux x86_64):
VERSION=$(curl -fsSL https://api.github.com/repos/anolishq/anolis-provider-bread/releases/latest | grep '"tag_name"' | sed 's/.*"v\([^"]*\)".*/\1/')
curl -fsSL "https://github.com/anolishq/anolis-provider-bread/releases/download/v${VERSION}/anolis-provider-bread-${VERSION}-linux-x86_64.tar.gz" \
| tar -xz
# binary is at ./bin/anolis-provider-breadProvider-bread is started by the Anolis runtime as a subprocess — it is not run directly.
Point your anolis runtime config at it:
# in your anolis-runtime.yaml providers section:
providers:
- id: bread0
command: ./bin/anolis-provider-bread
args: ["--config", "./providers/bread0.yaml"]
timeout_ms: 5000A sample provider config is at config/example.local.yaml in the source. See
docs/index.md for device types, signal surfaces, and hardware wiring.
Linux hardware builds require CRUMBS and linux-wire as sibling checkouts. See docs/build.md for the full dependency install and configure workflow.
No-hardware build (dev/CI):
git clone https://github.com/anolishq/anolis-provider-bread.git
cd anolis-provider-bread
git clone https://github.com/feastorg/CRUMBS.git ../CRUMBS
git clone https://github.com/feastorg/bread-crumbs-contracts.git ../bread-crumbs-contracts
cmake --preset dev-debug \
-DCRUMBS_DIR=../CRUMBS \
-DBREAD_CONTRACTS_DIR=../bread-crumbs-contracts
cmake --build --preset dev-debug --parallel
ctest --preset dev-debugLinux hardware build:
cmake --preset dev-linux-hardware-release
cmake --build --preset dev-linux-hardware-release --parallel