Repository Summary
| Description | |
| Checkout URI | https://github.com/copper-project/copper-rs.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gpio_caterpillar | 0.0.0 |
README
    Copper Runtime & SDK
ðĪ     Copper is to robots what a game engine is to games - build, run, and replay your entire robot deterministically.
Why Copper
ðĶ Rust-first â ergonomic & safe
⥠Sub-microsecond latency â zero-alloc, data-oriented runtime
âąïļ Deterministic replay â every run, bit-for-bit identical
ð§ Interoperable with ROS2 â bridges via Zenoh opening the path for a progressive migration.
ðŠķ Runs anywhere â from Linux servers, workstations, SBC to bare-metal MPUs
ðĶ Built to ship â one stack from simulation to production ### Showcasing copper-rs âïļ Flying | ð Driving | ð Swimming | ð Spacefaring | ðĪ Humanoids [](https://youtu.be/weV_JYaUsmo) ### You don't have a real robot yet? Try it in our toy example right now in a sim environment! [](https://youtu.be/kC6sGRZUxLE) Here is a Copper-based robot in action in a Bevy simulation environment! The realistic sim is created using [Bevy](https://crates.io/crates/bevy) (A Rust Game Engine) and [Avian3d](https://crates.io/crates/avian3d) (Physics Engine in Rust). On your mac or linux machine (x86-64 or Arm) just run ... ```bash $ cargo install cu-rp-balancebot $ balancebot-sim ``` ... to try it locally. The source code for this demo is available in the [examples/cu_rp_balancebot](examples/cu_rp_balancebot) directory. ## Get Started - Start a new project from templates: [Project Templates](https://copper-project.github.io/copper-rs/Project-Templates) - See a full task graph + runtime walkthrough: [Copper Application Overview](https://copper-project.github.io/copper-rs/Copper-Application-Overview) - Build and deploy an application: [Build and Deploy a Copper Application](https://copper-project.github.io/copper-rs/Build-and-Deploy-a-Copper-Application) - RON configuration reference: [Copper RON Configuration Reference](https://copper-project.github.io/copper-rs/Copper-RON-Configuration-Reference) ## Documentation [Link to the full documentation](https://copper-project.github.io/copper-rs/) - Runtime concepts and SDK features: [Copper Runtime Overview](https://copper-project.github.io/copper-rs/Copper-Runtime-Overview) - Task lifecycle: [Task Lifecycle](https://copper-project.github.io/copper-rs/Task-Lifecycle) - Modular configuration: [Modular Configuration](https://copper-project.github.io/copper-rs/Modular-Configuration) - Task automation: [Task Automation with just](https://copper-project.github.io/copper-rs/Task-Automation-with-Just) - Supported platforms: [Supported Platforms](https://copper-project.github.io/copper-rs/Supported-Platforms) - Bare-metal development: [Baremetal Development](https://copper-project.github.io/copper-rs/Baremetal-Development) - Available components: [Available Components](https://copper-project.github.io/copper-rs/Available-Components) - FAQ: [FAQ](https://copper-project.github.io/copper-rs/FAQ) - Release notes: [Copper Release Notes](https://copper-project.github.io/copper-rs/Copper-Release-Notes) - Roadmap: [Roadmap](https://copper-project.github.io/copper-rs/Roadmap) ## Citation If you use Copper-rs in your research, please cite it as: ```bibtex @misc{copperrs2026, author = {Guillaume Binet and Copper Project contributors}, title = {Copper-rs: A deterministic runtime and SDK for robotics}, year = {2026}, howpublished = {GitHub repository}, url = {https://github.com/copper-project/copper-rs}, note = {Version v0.13 or latest} } ``` ## Project > [!NOTE] > We are looking for contributors to help us build the best robotics framework possible. If you are interested, please > join us on [Discord](https://discord.gg/VkCG7Sb9Kw) or open an issue.
CONTRIBUTING
Contributing to Copper-rs
First off, thank you for considering contributing to Copper-rs! We welcome contributions from everyone. This document provides guidelines for contributing to the project.
Getting Started
Prerequisites
- Rust: Ensure you have a recent stable Rust toolchain installed. You can install it using rustup.
curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs) | sh
- just: We use just as a command runner for common development tasks. Install it via cargo or your package manager:
cargo install just
- cargo-nextest: For running tests efficiently.
cargo install cargo-nextest
- typos: For spell checking.
cargo install typos-cli
- Platform-Specific Dependencies: Depending on your operating system and the features you intend to work with, you might need additional dependencies. For Ubuntu 22.04, please checkout our Dockerfile.
Using justfile (Recommended)
The project includes a justfile that mirrors the CI workflow. This is the recommended way to run checks locally before submitting a PR:
# Run the default PR pipeline (format + lint + tests for std/no_std)
just pr-check
# Same as above (default target)
just
# Run lint checks (fmt-check + typos + clippy for std and no_std)
just lint
# Run unit tests (std + no_std)
just test
# Run CI-aligned std checks (build/tests/templates)
just std-ci
# Run CI-aligned embedded/no_std checks
just nostd-ci
# Run in release mode
just std-ci release
# Run with CUDA features
just std-ci cuda-release
The just pr-check command runs:
- Formatting (
just fmt) - Lint checks (
just lint: format check + typos + std/no_std clippy) - Unit tests (
just test: std + no_std)
The just std-ci command remains CI-aligned for std paths, including:
- Format check (
just fmt-check) - Typos check (
typos -c .config/_typos.toml) - Clippy with
--deny warnings - Build with all features
- Unit tests with cargo-nextest
- Project generation tests (debug mode only)
Prek hooks (Recommended)
To mirror the CI lint steps locally, you can install prek hooks that run formatting and typos checks on each commit.
- Install
prek
cargo binstall install prek
# or
cargo install install prek
- Reinstall the git hooks if you previously executed
pre-commit install
prek install -f
- Run once to verify:
prek run --all-files
If you want to customize prek, please modify .pre-commit-config.yaml.
Proc-macro expansion (cargo expand)
Prefer cargo expand when inspecting generated code from Copper proc-macros.
Install it once with:
cargo install cargo-expand
File truncated at 100 lines see the full file
Repository Summary
| Description | |
| Checkout URI | https://github.com/copper-project/copper-rs.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gpio_caterpillar | 0.0.0 |
README
    Copper Runtime & SDK
ðĪ     Copper is to robots what a game engine is to games - build, run, and replay your entire robot deterministically.
Why Copper
ðĶ Rust-first â ergonomic & safe
⥠Sub-microsecond latency â zero-alloc, data-oriented runtime
âąïļ Deterministic replay â every run, bit-for-bit identical
ð§ Interoperable with ROS2 â bridges via Zenoh opening the path for a progressive migration.
ðŠķ Runs anywhere â from Linux servers, workstations, SBC to bare-metal MPUs
ðĶ Built to ship â one stack from simulation to production ### Showcasing copper-rs âïļ Flying | ð Driving | ð Swimming | ð Spacefaring | ðĪ Humanoids [](https://youtu.be/weV_JYaUsmo) ### You don't have a real robot yet? Try it in our toy example right now in a sim environment! [](https://youtu.be/kC6sGRZUxLE) Here is a Copper-based robot in action in a Bevy simulation environment! The realistic sim is created using [Bevy](https://crates.io/crates/bevy) (A Rust Game Engine) and [Avian3d](https://crates.io/crates/avian3d) (Physics Engine in Rust). On your mac or linux machine (x86-64 or Arm) just run ... ```bash $ cargo install cu-rp-balancebot $ balancebot-sim ``` ... to try it locally. The source code for this demo is available in the [examples/cu_rp_balancebot](examples/cu_rp_balancebot) directory. ## Get Started - Start a new project from templates: [Project Templates](https://copper-project.github.io/copper-rs/Project-Templates) - See a full task graph + runtime walkthrough: [Copper Application Overview](https://copper-project.github.io/copper-rs/Copper-Application-Overview) - Build and deploy an application: [Build and Deploy a Copper Application](https://copper-project.github.io/copper-rs/Build-and-Deploy-a-Copper-Application) - RON configuration reference: [Copper RON Configuration Reference](https://copper-project.github.io/copper-rs/Copper-RON-Configuration-Reference) ## Documentation [Link to the full documentation](https://copper-project.github.io/copper-rs/) - Runtime concepts and SDK features: [Copper Runtime Overview](https://copper-project.github.io/copper-rs/Copper-Runtime-Overview) - Task lifecycle: [Task Lifecycle](https://copper-project.github.io/copper-rs/Task-Lifecycle) - Modular configuration: [Modular Configuration](https://copper-project.github.io/copper-rs/Modular-Configuration) - Task automation: [Task Automation with just](https://copper-project.github.io/copper-rs/Task-Automation-with-Just) - Supported platforms: [Supported Platforms](https://copper-project.github.io/copper-rs/Supported-Platforms) - Bare-metal development: [Baremetal Development](https://copper-project.github.io/copper-rs/Baremetal-Development) - Available components: [Available Components](https://copper-project.github.io/copper-rs/Available-Components) - FAQ: [FAQ](https://copper-project.github.io/copper-rs/FAQ) - Release notes: [Copper Release Notes](https://copper-project.github.io/copper-rs/Copper-Release-Notes) - Roadmap: [Roadmap](https://copper-project.github.io/copper-rs/Roadmap) ## Citation If you use Copper-rs in your research, please cite it as: ```bibtex @misc{copperrs2026, author = {Guillaume Binet and Copper Project contributors}, title = {Copper-rs: A deterministic runtime and SDK for robotics}, year = {2026}, howpublished = {GitHub repository}, url = {https://github.com/copper-project/copper-rs}, note = {Version v0.13 or latest} } ``` ## Project > [!NOTE] > We are looking for contributors to help us build the best robotics framework possible. If you are interested, please > join us on [Discord](https://discord.gg/VkCG7Sb9Kw) or open an issue.
CONTRIBUTING
Contributing to Copper-rs
First off, thank you for considering contributing to Copper-rs! We welcome contributions from everyone. This document provides guidelines for contributing to the project.
Getting Started
Prerequisites
- Rust: Ensure you have a recent stable Rust toolchain installed. You can install it using rustup.
curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs) | sh
- just: We use just as a command runner for common development tasks. Install it via cargo or your package manager:
cargo install just
- cargo-nextest: For running tests efficiently.
cargo install cargo-nextest
- typos: For spell checking.
cargo install typos-cli
- Platform-Specific Dependencies: Depending on your operating system and the features you intend to work with, you might need additional dependencies. For Ubuntu 22.04, please checkout our Dockerfile.
Using justfile (Recommended)
The project includes a justfile that mirrors the CI workflow. This is the recommended way to run checks locally before submitting a PR:
# Run the default PR pipeline (format + lint + tests for std/no_std)
just pr-check
# Same as above (default target)
just
# Run lint checks (fmt-check + typos + clippy for std and no_std)
just lint
# Run unit tests (std + no_std)
just test
# Run CI-aligned std checks (build/tests/templates)
just std-ci
# Run CI-aligned embedded/no_std checks
just nostd-ci
# Run in release mode
just std-ci release
# Run with CUDA features
just std-ci cuda-release
The just pr-check command runs:
- Formatting (
just fmt) - Lint checks (
just lint: format check + typos + std/no_std clippy) - Unit tests (
just test: std + no_std)
The just std-ci command remains CI-aligned for std paths, including:
- Format check (
just fmt-check) - Typos check (
typos -c .config/_typos.toml) - Clippy with
--deny warnings - Build with all features
- Unit tests with cargo-nextest
- Project generation tests (debug mode only)
Prek hooks (Recommended)
To mirror the CI lint steps locally, you can install prek hooks that run formatting and typos checks on each commit.
- Install
prek
cargo binstall install prek
# or
cargo install install prek
- Reinstall the git hooks if you previously executed
pre-commit install
prek install -f
- Run once to verify:
prek run --all-files
If you want to customize prek, please modify .pre-commit-config.yaml.
Proc-macro expansion (cargo expand)
Prefer cargo expand when inspecting generated code from Copper proc-macros.
Install it once with:
cargo install cargo-expand
File truncated at 100 lines see the full file
Repository Summary
| Description | |
| Checkout URI | https://github.com/copper-project/copper-rs.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gpio_caterpillar | 0.0.0 |
README
    Copper Runtime & SDK
ðĪ     Copper is to robots what a game engine is to games - build, run, and replay your entire robot deterministically.
Why Copper
ðĶ Rust-first â ergonomic & safe
⥠Sub-microsecond latency â zero-alloc, data-oriented runtime
âąïļ Deterministic replay â every run, bit-for-bit identical
ð§ Interoperable with ROS2 â bridges via Zenoh opening the path for a progressive migration.
ðŠķ Runs anywhere â from Linux servers, workstations, SBC to bare-metal MPUs
ðĶ Built to ship â one stack from simulation to production ### Showcasing copper-rs âïļ Flying | ð Driving | ð Swimming | ð Spacefaring | ðĪ Humanoids [](https://youtu.be/weV_JYaUsmo) ### You don't have a real robot yet? Try it in our toy example right now in a sim environment! [](https://youtu.be/kC6sGRZUxLE) Here is a Copper-based robot in action in a Bevy simulation environment! The realistic sim is created using [Bevy](https://crates.io/crates/bevy) (A Rust Game Engine) and [Avian3d](https://crates.io/crates/avian3d) (Physics Engine in Rust). On your mac or linux machine (x86-64 or Arm) just run ... ```bash $ cargo install cu-rp-balancebot $ balancebot-sim ``` ... to try it locally. The source code for this demo is available in the [examples/cu_rp_balancebot](examples/cu_rp_balancebot) directory. ## Get Started - Start a new project from templates: [Project Templates](https://copper-project.github.io/copper-rs/Project-Templates) - See a full task graph + runtime walkthrough: [Copper Application Overview](https://copper-project.github.io/copper-rs/Copper-Application-Overview) - Build and deploy an application: [Build and Deploy a Copper Application](https://copper-project.github.io/copper-rs/Build-and-Deploy-a-Copper-Application) - RON configuration reference: [Copper RON Configuration Reference](https://copper-project.github.io/copper-rs/Copper-RON-Configuration-Reference) ## Documentation [Link to the full documentation](https://copper-project.github.io/copper-rs/) - Runtime concepts and SDK features: [Copper Runtime Overview](https://copper-project.github.io/copper-rs/Copper-Runtime-Overview) - Task lifecycle: [Task Lifecycle](https://copper-project.github.io/copper-rs/Task-Lifecycle) - Modular configuration: [Modular Configuration](https://copper-project.github.io/copper-rs/Modular-Configuration) - Task automation: [Task Automation with just](https://copper-project.github.io/copper-rs/Task-Automation-with-Just) - Supported platforms: [Supported Platforms](https://copper-project.github.io/copper-rs/Supported-Platforms) - Bare-metal development: [Baremetal Development](https://copper-project.github.io/copper-rs/Baremetal-Development) - Available components: [Available Components](https://copper-project.github.io/copper-rs/Available-Components) - FAQ: [FAQ](https://copper-project.github.io/copper-rs/FAQ) - Release notes: [Copper Release Notes](https://copper-project.github.io/copper-rs/Copper-Release-Notes) - Roadmap: [Roadmap](https://copper-project.github.io/copper-rs/Roadmap) ## Citation If you use Copper-rs in your research, please cite it as: ```bibtex @misc{copperrs2026, author = {Guillaume Binet and Copper Project contributors}, title = {Copper-rs: A deterministic runtime and SDK for robotics}, year = {2026}, howpublished = {GitHub repository}, url = {https://github.com/copper-project/copper-rs}, note = {Version v0.13 or latest} } ``` ## Project > [!NOTE] > We are looking for contributors to help us build the best robotics framework possible. If you are interested, please > join us on [Discord](https://discord.gg/VkCG7Sb9Kw) or open an issue.
CONTRIBUTING
Contributing to Copper-rs
First off, thank you for considering contributing to Copper-rs! We welcome contributions from everyone. This document provides guidelines for contributing to the project.
Getting Started
Prerequisites
- Rust: Ensure you have a recent stable Rust toolchain installed. You can install it using rustup.
curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs) | sh
- just: We use just as a command runner for common development tasks. Install it via cargo or your package manager:
cargo install just
- cargo-nextest: For running tests efficiently.
cargo install cargo-nextest
- typos: For spell checking.
cargo install typos-cli
- Platform-Specific Dependencies: Depending on your operating system and the features you intend to work with, you might need additional dependencies. For Ubuntu 22.04, please checkout our Dockerfile.
Using justfile (Recommended)
The project includes a justfile that mirrors the CI workflow. This is the recommended way to run checks locally before submitting a PR:
# Run the default PR pipeline (format + lint + tests for std/no_std)
just pr-check
# Same as above (default target)
just
# Run lint checks (fmt-check + typos + clippy for std and no_std)
just lint
# Run unit tests (std + no_std)
just test
# Run CI-aligned std checks (build/tests/templates)
just std-ci
# Run CI-aligned embedded/no_std checks
just nostd-ci
# Run in release mode
just std-ci release
# Run with CUDA features
just std-ci cuda-release
The just pr-check command runs:
- Formatting (
just fmt) - Lint checks (
just lint: format check + typos + std/no_std clippy) - Unit tests (
just test: std + no_std)
The just std-ci command remains CI-aligned for std paths, including:
- Format check (
just fmt-check) - Typos check (
typos -c .config/_typos.toml) - Clippy with
--deny warnings - Build with all features
- Unit tests with cargo-nextest
- Project generation tests (debug mode only)
Prek hooks (Recommended)
To mirror the CI lint steps locally, you can install prek hooks that run formatting and typos checks on each commit.
- Install
prek
cargo binstall install prek
# or
cargo install install prek
- Reinstall the git hooks if you previously executed
pre-commit install
prek install -f
- Run once to verify:
prek run --all-files
If you want to customize prek, please modify .pre-commit-config.yaml.
Proc-macro expansion (cargo expand)
Prefer cargo expand when inspecting generated code from Copper proc-macros.
Install it once with:
cargo install cargo-expand
File truncated at 100 lines see the full file
Repository Summary
| Description | |
| Checkout URI | https://github.com/copper-project/copper-rs.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gpio_caterpillar | 0.0.0 |
README
    Copper Runtime & SDK
ðĪ     Copper is to robots what a game engine is to games - build, run, and replay your entire robot deterministically.
Why Copper
ðĶ Rust-first â ergonomic & safe
⥠Sub-microsecond latency â zero-alloc, data-oriented runtime
âąïļ Deterministic replay â every run, bit-for-bit identical
ð§ Interoperable with ROS2 â bridges via Zenoh opening the path for a progressive migration.
ðŠķ Runs anywhere â from Linux servers, workstations, SBC to bare-metal MPUs
ðĶ Built to ship â one stack from simulation to production ### Showcasing copper-rs âïļ Flying | ð Driving | ð Swimming | ð Spacefaring | ðĪ Humanoids [](https://youtu.be/weV_JYaUsmo) ### You don't have a real robot yet? Try it in our toy example right now in a sim environment! [](https://youtu.be/kC6sGRZUxLE) Here is a Copper-based robot in action in a Bevy simulation environment! The realistic sim is created using [Bevy](https://crates.io/crates/bevy) (A Rust Game Engine) and [Avian3d](https://crates.io/crates/avian3d) (Physics Engine in Rust). On your mac or linux machine (x86-64 or Arm) just run ... ```bash $ cargo install cu-rp-balancebot $ balancebot-sim ``` ... to try it locally. The source code for this demo is available in the [examples/cu_rp_balancebot](examples/cu_rp_balancebot) directory. ## Get Started - Start a new project from templates: [Project Templates](https://copper-project.github.io/copper-rs/Project-Templates) - See a full task graph + runtime walkthrough: [Copper Application Overview](https://copper-project.github.io/copper-rs/Copper-Application-Overview) - Build and deploy an application: [Build and Deploy a Copper Application](https://copper-project.github.io/copper-rs/Build-and-Deploy-a-Copper-Application) - RON configuration reference: [Copper RON Configuration Reference](https://copper-project.github.io/copper-rs/Copper-RON-Configuration-Reference) ## Documentation [Link to the full documentation](https://copper-project.github.io/copper-rs/) - Runtime concepts and SDK features: [Copper Runtime Overview](https://copper-project.github.io/copper-rs/Copper-Runtime-Overview) - Task lifecycle: [Task Lifecycle](https://copper-project.github.io/copper-rs/Task-Lifecycle) - Modular configuration: [Modular Configuration](https://copper-project.github.io/copper-rs/Modular-Configuration) - Task automation: [Task Automation with just](https://copper-project.github.io/copper-rs/Task-Automation-with-Just) - Supported platforms: [Supported Platforms](https://copper-project.github.io/copper-rs/Supported-Platforms) - Bare-metal development: [Baremetal Development](https://copper-project.github.io/copper-rs/Baremetal-Development) - Available components: [Available Components](https://copper-project.github.io/copper-rs/Available-Components) - FAQ: [FAQ](https://copper-project.github.io/copper-rs/FAQ) - Release notes: [Copper Release Notes](https://copper-project.github.io/copper-rs/Copper-Release-Notes) - Roadmap: [Roadmap](https://copper-project.github.io/copper-rs/Roadmap) ## Citation If you use Copper-rs in your research, please cite it as: ```bibtex @misc{copperrs2026, author = {Guillaume Binet and Copper Project contributors}, title = {Copper-rs: A deterministic runtime and SDK for robotics}, year = {2026}, howpublished = {GitHub repository}, url = {https://github.com/copper-project/copper-rs}, note = {Version v0.13 or latest} } ``` ## Project > [!NOTE] > We are looking for contributors to help us build the best robotics framework possible. If you are interested, please > join us on [Discord](https://discord.gg/VkCG7Sb9Kw) or open an issue.
CONTRIBUTING
Contributing to Copper-rs
First off, thank you for considering contributing to Copper-rs! We welcome contributions from everyone. This document provides guidelines for contributing to the project.
Getting Started
Prerequisites
- Rust: Ensure you have a recent stable Rust toolchain installed. You can install it using rustup.
curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs) | sh
- just: We use just as a command runner for common development tasks. Install it via cargo or your package manager:
cargo install just
- cargo-nextest: For running tests efficiently.
cargo install cargo-nextest
- typos: For spell checking.
cargo install typos-cli
- Platform-Specific Dependencies: Depending on your operating system and the features you intend to work with, you might need additional dependencies. For Ubuntu 22.04, please checkout our Dockerfile.
Using justfile (Recommended)
The project includes a justfile that mirrors the CI workflow. This is the recommended way to run checks locally before submitting a PR:
# Run the default PR pipeline (format + lint + tests for std/no_std)
just pr-check
# Same as above (default target)
just
# Run lint checks (fmt-check + typos + clippy for std and no_std)
just lint
# Run unit tests (std + no_std)
just test
# Run CI-aligned std checks (build/tests/templates)
just std-ci
# Run CI-aligned embedded/no_std checks
just nostd-ci
# Run in release mode
just std-ci release
# Run with CUDA features
just std-ci cuda-release
The just pr-check command runs:
- Formatting (
just fmt) - Lint checks (
just lint: format check + typos + std/no_std clippy) - Unit tests (
just test: std + no_std)
The just std-ci command remains CI-aligned for std paths, including:
- Format check (
just fmt-check) - Typos check (
typos -c .config/_typos.toml) - Clippy with
--deny warnings - Build with all features
- Unit tests with cargo-nextest
- Project generation tests (debug mode only)
Prek hooks (Recommended)
To mirror the CI lint steps locally, you can install prek hooks that run formatting and typos checks on each commit.
- Install
prek
cargo binstall install prek
# or
cargo install install prek
- Reinstall the git hooks if you previously executed
pre-commit install
prek install -f
- Run once to verify:
prek run --all-files
If you want to customize prek, please modify .pre-commit-config.yaml.
Proc-macro expansion (cargo expand)
Prefer cargo expand when inspecting generated code from Copper proc-macros.
Install it once with:
cargo install cargo-expand
File truncated at 100 lines see the full file
Repository Summary
| Description | |
| Checkout URI | https://github.com/copper-project/copper-rs.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gpio_caterpillar | 0.0.0 |
README
    Copper Runtime & SDK
ðĪ     Copper is to robots what a game engine is to games - build, run, and replay your entire robot deterministically.
Why Copper
ðĶ Rust-first â ergonomic & safe
⥠Sub-microsecond latency â zero-alloc, data-oriented runtime
âąïļ Deterministic replay â every run, bit-for-bit identical
ð§ Interoperable with ROS2 â bridges via Zenoh opening the path for a progressive migration.
ðŠķ Runs anywhere â from Linux servers, workstations, SBC to bare-metal MPUs
ðĶ Built to ship â one stack from simulation to production ### Showcasing copper-rs âïļ Flying | ð Driving | ð Swimming | ð Spacefaring | ðĪ Humanoids [](https://youtu.be/weV_JYaUsmo) ### You don't have a real robot yet? Try it in our toy example right now in a sim environment! [](https://youtu.be/kC6sGRZUxLE) Here is a Copper-based robot in action in a Bevy simulation environment! The realistic sim is created using [Bevy](https://crates.io/crates/bevy) (A Rust Game Engine) and [Avian3d](https://crates.io/crates/avian3d) (Physics Engine in Rust). On your mac or linux machine (x86-64 or Arm) just run ... ```bash $ cargo install cu-rp-balancebot $ balancebot-sim ``` ... to try it locally. The source code for this demo is available in the [examples/cu_rp_balancebot](examples/cu_rp_balancebot) directory. ## Get Started - Start a new project from templates: [Project Templates](https://copper-project.github.io/copper-rs/Project-Templates) - See a full task graph + runtime walkthrough: [Copper Application Overview](https://copper-project.github.io/copper-rs/Copper-Application-Overview) - Build and deploy an application: [Build and Deploy a Copper Application](https://copper-project.github.io/copper-rs/Build-and-Deploy-a-Copper-Application) - RON configuration reference: [Copper RON Configuration Reference](https://copper-project.github.io/copper-rs/Copper-RON-Configuration-Reference) ## Documentation [Link to the full documentation](https://copper-project.github.io/copper-rs/) - Runtime concepts and SDK features: [Copper Runtime Overview](https://copper-project.github.io/copper-rs/Copper-Runtime-Overview) - Task lifecycle: [Task Lifecycle](https://copper-project.github.io/copper-rs/Task-Lifecycle) - Modular configuration: [Modular Configuration](https://copper-project.github.io/copper-rs/Modular-Configuration) - Task automation: [Task Automation with just](https://copper-project.github.io/copper-rs/Task-Automation-with-Just) - Supported platforms: [Supported Platforms](https://copper-project.github.io/copper-rs/Supported-Platforms) - Bare-metal development: [Baremetal Development](https://copper-project.github.io/copper-rs/Baremetal-Development) - Available components: [Available Components](https://copper-project.github.io/copper-rs/Available-Components) - FAQ: [FAQ](https://copper-project.github.io/copper-rs/FAQ) - Release notes: [Copper Release Notes](https://copper-project.github.io/copper-rs/Copper-Release-Notes) - Roadmap: [Roadmap](https://copper-project.github.io/copper-rs/Roadmap) ## Citation If you use Copper-rs in your research, please cite it as: ```bibtex @misc{copperrs2026, author = {Guillaume Binet and Copper Project contributors}, title = {Copper-rs: A deterministic runtime and SDK for robotics}, year = {2026}, howpublished = {GitHub repository}, url = {https://github.com/copper-project/copper-rs}, note = {Version v0.13 or latest} } ``` ## Project > [!NOTE] > We are looking for contributors to help us build the best robotics framework possible. If you are interested, please > join us on [Discord](https://discord.gg/VkCG7Sb9Kw) or open an issue.
CONTRIBUTING
Contributing to Copper-rs
First off, thank you for considering contributing to Copper-rs! We welcome contributions from everyone. This document provides guidelines for contributing to the project.
Getting Started
Prerequisites
- Rust: Ensure you have a recent stable Rust toolchain installed. You can install it using rustup.
curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs) | sh
- just: We use just as a command runner for common development tasks. Install it via cargo or your package manager:
cargo install just
- cargo-nextest: For running tests efficiently.
cargo install cargo-nextest
- typos: For spell checking.
cargo install typos-cli
- Platform-Specific Dependencies: Depending on your operating system and the features you intend to work with, you might need additional dependencies. For Ubuntu 22.04, please checkout our Dockerfile.
Using justfile (Recommended)
The project includes a justfile that mirrors the CI workflow. This is the recommended way to run checks locally before submitting a PR:
# Run the default PR pipeline (format + lint + tests for std/no_std)
just pr-check
# Same as above (default target)
just
# Run lint checks (fmt-check + typos + clippy for std and no_std)
just lint
# Run unit tests (std + no_std)
just test
# Run CI-aligned std checks (build/tests/templates)
just std-ci
# Run CI-aligned embedded/no_std checks
just nostd-ci
# Run in release mode
just std-ci release
# Run with CUDA features
just std-ci cuda-release
The just pr-check command runs:
- Formatting (
just fmt) - Lint checks (
just lint: format check + typos + std/no_std clippy) - Unit tests (
just test: std + no_std)
The just std-ci command remains CI-aligned for std paths, including:
- Format check (
just fmt-check) - Typos check (
typos -c .config/_typos.toml) - Clippy with
--deny warnings - Build with all features
- Unit tests with cargo-nextest
- Project generation tests (debug mode only)
Prek hooks (Recommended)
To mirror the CI lint steps locally, you can install prek hooks that run formatting and typos checks on each commit.
- Install
prek
cargo binstall install prek
# or
cargo install install prek
- Reinstall the git hooks if you previously executed
pre-commit install
prek install -f
- Run once to verify:
prek run --all-files
If you want to customize prek, please modify .pre-commit-config.yaml.
Proc-macro expansion (cargo expand)
Prefer cargo expand when inspecting generated code from Copper proc-macros.
Install it once with:
cargo install cargo-expand
File truncated at 100 lines see the full file
Repository Summary
| Description | |
| Checkout URI | https://github.com/copper-project/copper-rs.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gpio_caterpillar | 0.0.0 |
README
    Copper Runtime & SDK
ðĪ     Copper is to robots what a game engine is to games - build, run, and replay your entire robot deterministically.
Why Copper
ðĶ Rust-first â ergonomic & safe
⥠Sub-microsecond latency â zero-alloc, data-oriented runtime
âąïļ Deterministic replay â every run, bit-for-bit identical
ð§ Interoperable with ROS2 â bridges via Zenoh opening the path for a progressive migration.
ðŠķ Runs anywhere â from Linux servers, workstations, SBC to bare-metal MPUs
ðĶ Built to ship â one stack from simulation to production ### Showcasing copper-rs âïļ Flying | ð Driving | ð Swimming | ð Spacefaring | ðĪ Humanoids [](https://youtu.be/weV_JYaUsmo) ### You don't have a real robot yet? Try it in our toy example right now in a sim environment! [](https://youtu.be/kC6sGRZUxLE) Here is a Copper-based robot in action in a Bevy simulation environment! The realistic sim is created using [Bevy](https://crates.io/crates/bevy) (A Rust Game Engine) and [Avian3d](https://crates.io/crates/avian3d) (Physics Engine in Rust). On your mac or linux machine (x86-64 or Arm) just run ... ```bash $ cargo install cu-rp-balancebot $ balancebot-sim ``` ... to try it locally. The source code for this demo is available in the [examples/cu_rp_balancebot](examples/cu_rp_balancebot) directory. ## Get Started - Start a new project from templates: [Project Templates](https://copper-project.github.io/copper-rs/Project-Templates) - See a full task graph + runtime walkthrough: [Copper Application Overview](https://copper-project.github.io/copper-rs/Copper-Application-Overview) - Build and deploy an application: [Build and Deploy a Copper Application](https://copper-project.github.io/copper-rs/Build-and-Deploy-a-Copper-Application) - RON configuration reference: [Copper RON Configuration Reference](https://copper-project.github.io/copper-rs/Copper-RON-Configuration-Reference) ## Documentation [Link to the full documentation](https://copper-project.github.io/copper-rs/) - Runtime concepts and SDK features: [Copper Runtime Overview](https://copper-project.github.io/copper-rs/Copper-Runtime-Overview) - Task lifecycle: [Task Lifecycle](https://copper-project.github.io/copper-rs/Task-Lifecycle) - Modular configuration: [Modular Configuration](https://copper-project.github.io/copper-rs/Modular-Configuration) - Task automation: [Task Automation with just](https://copper-project.github.io/copper-rs/Task-Automation-with-Just) - Supported platforms: [Supported Platforms](https://copper-project.github.io/copper-rs/Supported-Platforms) - Bare-metal development: [Baremetal Development](https://copper-project.github.io/copper-rs/Baremetal-Development) - Available components: [Available Components](https://copper-project.github.io/copper-rs/Available-Components) - FAQ: [FAQ](https://copper-project.github.io/copper-rs/FAQ) - Release notes: [Copper Release Notes](https://copper-project.github.io/copper-rs/Copper-Release-Notes) - Roadmap: [Roadmap](https://copper-project.github.io/copper-rs/Roadmap) ## Citation If you use Copper-rs in your research, please cite it as: ```bibtex @misc{copperrs2026, author = {Guillaume Binet and Copper Project contributors}, title = {Copper-rs: A deterministic runtime and SDK for robotics}, year = {2026}, howpublished = {GitHub repository}, url = {https://github.com/copper-project/copper-rs}, note = {Version v0.13 or latest} } ``` ## Project > [!NOTE] > We are looking for contributors to help us build the best robotics framework possible. If you are interested, please > join us on [Discord](https://discord.gg/VkCG7Sb9Kw) or open an issue.
CONTRIBUTING
Contributing to Copper-rs
First off, thank you for considering contributing to Copper-rs! We welcome contributions from everyone. This document provides guidelines for contributing to the project.
Getting Started
Prerequisites
- Rust: Ensure you have a recent stable Rust toolchain installed. You can install it using rustup.
curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs) | sh
- just: We use just as a command runner for common development tasks. Install it via cargo or your package manager:
cargo install just
- cargo-nextest: For running tests efficiently.
cargo install cargo-nextest
- typos: For spell checking.
cargo install typos-cli
- Platform-Specific Dependencies: Depending on your operating system and the features you intend to work with, you might need additional dependencies. For Ubuntu 22.04, please checkout our Dockerfile.
Using justfile (Recommended)
The project includes a justfile that mirrors the CI workflow. This is the recommended way to run checks locally before submitting a PR:
# Run the default PR pipeline (format + lint + tests for std/no_std)
just pr-check
# Same as above (default target)
just
# Run lint checks (fmt-check + typos + clippy for std and no_std)
just lint
# Run unit tests (std + no_std)
just test
# Run CI-aligned std checks (build/tests/templates)
just std-ci
# Run CI-aligned embedded/no_std checks
just nostd-ci
# Run in release mode
just std-ci release
# Run with CUDA features
just std-ci cuda-release
The just pr-check command runs:
- Formatting (
just fmt) - Lint checks (
just lint: format check + typos + std/no_std clippy) - Unit tests (
just test: std + no_std)
The just std-ci command remains CI-aligned for std paths, including:
- Format check (
just fmt-check) - Typos check (
typos -c .config/_typos.toml) - Clippy with
--deny warnings - Build with all features
- Unit tests with cargo-nextest
- Project generation tests (debug mode only)
Prek hooks (Recommended)
To mirror the CI lint steps locally, you can install prek hooks that run formatting and typos checks on each commit.
- Install
prek
cargo binstall install prek
# or
cargo install install prek
- Reinstall the git hooks if you previously executed
pre-commit install
prek install -f
- Run once to verify:
prek run --all-files
If you want to customize prek, please modify .pre-commit-config.yaml.
Proc-macro expansion (cargo expand)
Prefer cargo expand when inspecting generated code from Copper proc-macros.
Install it once with:
cargo install cargo-expand
File truncated at 100 lines see the full file
Repository Summary
| Description | |
| Checkout URI | https://github.com/copper-project/copper-rs.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gpio_caterpillar | 0.0.0 |
README
    Copper Runtime & SDK
ðĪ     Copper is to robots what a game engine is to games - build, run, and replay your entire robot deterministically.
Why Copper
ðĶ Rust-first â ergonomic & safe
⥠Sub-microsecond latency â zero-alloc, data-oriented runtime
âąïļ Deterministic replay â every run, bit-for-bit identical
ð§ Interoperable with ROS2 â bridges via Zenoh opening the path for a progressive migration.
ðŠķ Runs anywhere â from Linux servers, workstations, SBC to bare-metal MPUs
ðĶ Built to ship â one stack from simulation to production ### Showcasing copper-rs âïļ Flying | ð Driving | ð Swimming | ð Spacefaring | ðĪ Humanoids [](https://youtu.be/weV_JYaUsmo) ### You don't have a real robot yet? Try it in our toy example right now in a sim environment! [](https://youtu.be/kC6sGRZUxLE) Here is a Copper-based robot in action in a Bevy simulation environment! The realistic sim is created using [Bevy](https://crates.io/crates/bevy) (A Rust Game Engine) and [Avian3d](https://crates.io/crates/avian3d) (Physics Engine in Rust). On your mac or linux machine (x86-64 or Arm) just run ... ```bash $ cargo install cu-rp-balancebot $ balancebot-sim ``` ... to try it locally. The source code for this demo is available in the [examples/cu_rp_balancebot](examples/cu_rp_balancebot) directory. ## Get Started - Start a new project from templates: [Project Templates](https://copper-project.github.io/copper-rs/Project-Templates) - See a full task graph + runtime walkthrough: [Copper Application Overview](https://copper-project.github.io/copper-rs/Copper-Application-Overview) - Build and deploy an application: [Build and Deploy a Copper Application](https://copper-project.github.io/copper-rs/Build-and-Deploy-a-Copper-Application) - RON configuration reference: [Copper RON Configuration Reference](https://copper-project.github.io/copper-rs/Copper-RON-Configuration-Reference) ## Documentation [Link to the full documentation](https://copper-project.github.io/copper-rs/) - Runtime concepts and SDK features: [Copper Runtime Overview](https://copper-project.github.io/copper-rs/Copper-Runtime-Overview) - Task lifecycle: [Task Lifecycle](https://copper-project.github.io/copper-rs/Task-Lifecycle) - Modular configuration: [Modular Configuration](https://copper-project.github.io/copper-rs/Modular-Configuration) - Task automation: [Task Automation with just](https://copper-project.github.io/copper-rs/Task-Automation-with-Just) - Supported platforms: [Supported Platforms](https://copper-project.github.io/copper-rs/Supported-Platforms) - Bare-metal development: [Baremetal Development](https://copper-project.github.io/copper-rs/Baremetal-Development) - Available components: [Available Components](https://copper-project.github.io/copper-rs/Available-Components) - FAQ: [FAQ](https://copper-project.github.io/copper-rs/FAQ) - Release notes: [Copper Release Notes](https://copper-project.github.io/copper-rs/Copper-Release-Notes) - Roadmap: [Roadmap](https://copper-project.github.io/copper-rs/Roadmap) ## Citation If you use Copper-rs in your research, please cite it as: ```bibtex @misc{copperrs2026, author = {Guillaume Binet and Copper Project contributors}, title = {Copper-rs: A deterministic runtime and SDK for robotics}, year = {2026}, howpublished = {GitHub repository}, url = {https://github.com/copper-project/copper-rs}, note = {Version v0.13 or latest} } ``` ## Project > [!NOTE] > We are looking for contributors to help us build the best robotics framework possible. If you are interested, please > join us on [Discord](https://discord.gg/VkCG7Sb9Kw) or open an issue.
CONTRIBUTING
Contributing to Copper-rs
First off, thank you for considering contributing to Copper-rs! We welcome contributions from everyone. This document provides guidelines for contributing to the project.
Getting Started
Prerequisites
- Rust: Ensure you have a recent stable Rust toolchain installed. You can install it using rustup.
curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs) | sh
- just: We use just as a command runner for common development tasks. Install it via cargo or your package manager:
cargo install just
- cargo-nextest: For running tests efficiently.
cargo install cargo-nextest
- typos: For spell checking.
cargo install typos-cli
- Platform-Specific Dependencies: Depending on your operating system and the features you intend to work with, you might need additional dependencies. For Ubuntu 22.04, please checkout our Dockerfile.
Using justfile (Recommended)
The project includes a justfile that mirrors the CI workflow. This is the recommended way to run checks locally before submitting a PR:
# Run the default PR pipeline (format + lint + tests for std/no_std)
just pr-check
# Same as above (default target)
just
# Run lint checks (fmt-check + typos + clippy for std and no_std)
just lint
# Run unit tests (std + no_std)
just test
# Run CI-aligned std checks (build/tests/templates)
just std-ci
# Run CI-aligned embedded/no_std checks
just nostd-ci
# Run in release mode
just std-ci release
# Run with CUDA features
just std-ci cuda-release
The just pr-check command runs:
- Formatting (
just fmt) - Lint checks (
just lint: format check + typos + std/no_std clippy) - Unit tests (
just test: std + no_std)
The just std-ci command remains CI-aligned for std paths, including:
- Format check (
just fmt-check) - Typos check (
typos -c .config/_typos.toml) - Clippy with
--deny warnings - Build with all features
- Unit tests with cargo-nextest
- Project generation tests (debug mode only)
Prek hooks (Recommended)
To mirror the CI lint steps locally, you can install prek hooks that run formatting and typos checks on each commit.
- Install
prek
cargo binstall install prek
# or
cargo install install prek
- Reinstall the git hooks if you previously executed
pre-commit install
prek install -f
- Run once to verify:
prek run --all-files
If you want to customize prek, please modify .pre-commit-config.yaml.
Proc-macro expansion (cargo expand)
Prefer cargo expand when inspecting generated code from Copper proc-macros.
Install it once with:
cargo install cargo-expand
File truncated at 100 lines see the full file
Repository Summary
| Description | |
| Checkout URI | https://github.com/copper-project/copper-rs.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gpio_caterpillar | 0.0.0 |
README
    Copper Runtime & SDK
ðĪ     Copper is to robots what a game engine is to games - build, run, and replay your entire robot deterministically.
Why Copper
ðĶ Rust-first â ergonomic & safe
⥠Sub-microsecond latency â zero-alloc, data-oriented runtime
âąïļ Deterministic replay â every run, bit-for-bit identical
ð§ Interoperable with ROS2 â bridges via Zenoh opening the path for a progressive migration.
ðŠķ Runs anywhere â from Linux servers, workstations, SBC to bare-metal MPUs
ðĶ Built to ship â one stack from simulation to production ### Showcasing copper-rs âïļ Flying | ð Driving | ð Swimming | ð Spacefaring | ðĪ Humanoids [](https://youtu.be/weV_JYaUsmo) ### You don't have a real robot yet? Try it in our toy example right now in a sim environment! [](https://youtu.be/kC6sGRZUxLE) Here is a Copper-based robot in action in a Bevy simulation environment! The realistic sim is created using [Bevy](https://crates.io/crates/bevy) (A Rust Game Engine) and [Avian3d](https://crates.io/crates/avian3d) (Physics Engine in Rust). On your mac or linux machine (x86-64 or Arm) just run ... ```bash $ cargo install cu-rp-balancebot $ balancebot-sim ``` ... to try it locally. The source code for this demo is available in the [examples/cu_rp_balancebot](examples/cu_rp_balancebot) directory. ## Get Started - Start a new project from templates: [Project Templates](https://copper-project.github.io/copper-rs/Project-Templates) - See a full task graph + runtime walkthrough: [Copper Application Overview](https://copper-project.github.io/copper-rs/Copper-Application-Overview) - Build and deploy an application: [Build and Deploy a Copper Application](https://copper-project.github.io/copper-rs/Build-and-Deploy-a-Copper-Application) - RON configuration reference: [Copper RON Configuration Reference](https://copper-project.github.io/copper-rs/Copper-RON-Configuration-Reference) ## Documentation [Link to the full documentation](https://copper-project.github.io/copper-rs/) - Runtime concepts and SDK features: [Copper Runtime Overview](https://copper-project.github.io/copper-rs/Copper-Runtime-Overview) - Task lifecycle: [Task Lifecycle](https://copper-project.github.io/copper-rs/Task-Lifecycle) - Modular configuration: [Modular Configuration](https://copper-project.github.io/copper-rs/Modular-Configuration) - Task automation: [Task Automation with just](https://copper-project.github.io/copper-rs/Task-Automation-with-Just) - Supported platforms: [Supported Platforms](https://copper-project.github.io/copper-rs/Supported-Platforms) - Bare-metal development: [Baremetal Development](https://copper-project.github.io/copper-rs/Baremetal-Development) - Available components: [Available Components](https://copper-project.github.io/copper-rs/Available-Components) - FAQ: [FAQ](https://copper-project.github.io/copper-rs/FAQ) - Release notes: [Copper Release Notes](https://copper-project.github.io/copper-rs/Copper-Release-Notes) - Roadmap: [Roadmap](https://copper-project.github.io/copper-rs/Roadmap) ## Citation If you use Copper-rs in your research, please cite it as: ```bibtex @misc{copperrs2026, author = {Guillaume Binet and Copper Project contributors}, title = {Copper-rs: A deterministic runtime and SDK for robotics}, year = {2026}, howpublished = {GitHub repository}, url = {https://github.com/copper-project/copper-rs}, note = {Version v0.13 or latest} } ``` ## Project > [!NOTE] > We are looking for contributors to help us build the best robotics framework possible. If you are interested, please > join us on [Discord](https://discord.gg/VkCG7Sb9Kw) or open an issue.
CONTRIBUTING
Contributing to Copper-rs
First off, thank you for considering contributing to Copper-rs! We welcome contributions from everyone. This document provides guidelines for contributing to the project.
Getting Started
Prerequisites
- Rust: Ensure you have a recent stable Rust toolchain installed. You can install it using rustup.
curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs) | sh
- just: We use just as a command runner for common development tasks. Install it via cargo or your package manager:
cargo install just
- cargo-nextest: For running tests efficiently.
cargo install cargo-nextest
- typos: For spell checking.
cargo install typos-cli
- Platform-Specific Dependencies: Depending on your operating system and the features you intend to work with, you might need additional dependencies. For Ubuntu 22.04, please checkout our Dockerfile.
Using justfile (Recommended)
The project includes a justfile that mirrors the CI workflow. This is the recommended way to run checks locally before submitting a PR:
# Run the default PR pipeline (format + lint + tests for std/no_std)
just pr-check
# Same as above (default target)
just
# Run lint checks (fmt-check + typos + clippy for std and no_std)
just lint
# Run unit tests (std + no_std)
just test
# Run CI-aligned std checks (build/tests/templates)
just std-ci
# Run CI-aligned embedded/no_std checks
just nostd-ci
# Run in release mode
just std-ci release
# Run with CUDA features
just std-ci cuda-release
The just pr-check command runs:
- Formatting (
just fmt) - Lint checks (
just lint: format check + typos + std/no_std clippy) - Unit tests (
just test: std + no_std)
The just std-ci command remains CI-aligned for std paths, including:
- Format check (
just fmt-check) - Typos check (
typos -c .config/_typos.toml) - Clippy with
--deny warnings - Build with all features
- Unit tests with cargo-nextest
- Project generation tests (debug mode only)
Prek hooks (Recommended)
To mirror the CI lint steps locally, you can install prek hooks that run formatting and typos checks on each commit.
- Install
prek
cargo binstall install prek
# or
cargo install install prek
- Reinstall the git hooks if you previously executed
pre-commit install
prek install -f
- Run once to verify:
prek run --all-files
If you want to customize prek, please modify .pre-commit-config.yaml.
Proc-macro expansion (cargo expand)
Prefer cargo expand when inspecting generated code from Copper proc-macros.
Install it once with:
cargo install cargo-expand
File truncated at 100 lines see the full file
Repository Summary
| Description | |
| Checkout URI | https://github.com/copper-project/copper-rs.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| gpio_caterpillar | 0.0.0 |
README
    Copper Runtime & SDK
ðĪ     Copper is to robots what a game engine is to games - build, run, and replay your entire robot deterministically.
Why Copper
ðĶ Rust-first â ergonomic & safe
⥠Sub-microsecond latency â zero-alloc, data-oriented runtime
âąïļ Deterministic replay â every run, bit-for-bit identical
ð§ Interoperable with ROS2 â bridges via Zenoh opening the path for a progressive migration.
ðŠķ Runs anywhere â from Linux servers, workstations, SBC to bare-metal MPUs
ðĶ Built to ship â one stack from simulation to production ### Showcasing copper-rs âïļ Flying | ð Driving | ð Swimming | ð Spacefaring | ðĪ Humanoids [](https://youtu.be/weV_JYaUsmo) ### You don't have a real robot yet? Try it in our toy example right now in a sim environment! [](https://youtu.be/kC6sGRZUxLE) Here is a Copper-based robot in action in a Bevy simulation environment! The realistic sim is created using [Bevy](https://crates.io/crates/bevy) (A Rust Game Engine) and [Avian3d](https://crates.io/crates/avian3d) (Physics Engine in Rust). On your mac or linux machine (x86-64 or Arm) just run ... ```bash $ cargo install cu-rp-balancebot $ balancebot-sim ``` ... to try it locally. The source code for this demo is available in the [examples/cu_rp_balancebot](examples/cu_rp_balancebot) directory. ## Get Started - Start a new project from templates: [Project Templates](https://copper-project.github.io/copper-rs/Project-Templates) - See a full task graph + runtime walkthrough: [Copper Application Overview](https://copper-project.github.io/copper-rs/Copper-Application-Overview) - Build and deploy an application: [Build and Deploy a Copper Application](https://copper-project.github.io/copper-rs/Build-and-Deploy-a-Copper-Application) - RON configuration reference: [Copper RON Configuration Reference](https://copper-project.github.io/copper-rs/Copper-RON-Configuration-Reference) ## Documentation [Link to the full documentation](https://copper-project.github.io/copper-rs/) - Runtime concepts and SDK features: [Copper Runtime Overview](https://copper-project.github.io/copper-rs/Copper-Runtime-Overview) - Task lifecycle: [Task Lifecycle](https://copper-project.github.io/copper-rs/Task-Lifecycle) - Modular configuration: [Modular Configuration](https://copper-project.github.io/copper-rs/Modular-Configuration) - Task automation: [Task Automation with just](https://copper-project.github.io/copper-rs/Task-Automation-with-Just) - Supported platforms: [Supported Platforms](https://copper-project.github.io/copper-rs/Supported-Platforms) - Bare-metal development: [Baremetal Development](https://copper-project.github.io/copper-rs/Baremetal-Development) - Available components: [Available Components](https://copper-project.github.io/copper-rs/Available-Components) - FAQ: [FAQ](https://copper-project.github.io/copper-rs/FAQ) - Release notes: [Copper Release Notes](https://copper-project.github.io/copper-rs/Copper-Release-Notes) - Roadmap: [Roadmap](https://copper-project.github.io/copper-rs/Roadmap) ## Citation If you use Copper-rs in your research, please cite it as: ```bibtex @misc{copperrs2026, author = {Guillaume Binet and Copper Project contributors}, title = {Copper-rs: A deterministic runtime and SDK for robotics}, year = {2026}, howpublished = {GitHub repository}, url = {https://github.com/copper-project/copper-rs}, note = {Version v0.13 or latest} } ``` ## Project > [!NOTE] > We are looking for contributors to help us build the best robotics framework possible. If you are interested, please > join us on [Discord](https://discord.gg/VkCG7Sb9Kw) or open an issue.
CONTRIBUTING
Contributing to Copper-rs
First off, thank you for considering contributing to Copper-rs! We welcome contributions from everyone. This document provides guidelines for contributing to the project.
Getting Started
Prerequisites
- Rust: Ensure you have a recent stable Rust toolchain installed. You can install it using rustup.
curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs) | sh
- just: We use just as a command runner for common development tasks. Install it via cargo or your package manager:
cargo install just
- cargo-nextest: For running tests efficiently.
cargo install cargo-nextest
- typos: For spell checking.
cargo install typos-cli
- Platform-Specific Dependencies: Depending on your operating system and the features you intend to work with, you might need additional dependencies. For Ubuntu 22.04, please checkout our Dockerfile.
Using justfile (Recommended)
The project includes a justfile that mirrors the CI workflow. This is the recommended way to run checks locally before submitting a PR:
# Run the default PR pipeline (format + lint + tests for std/no_std)
just pr-check
# Same as above (default target)
just
# Run lint checks (fmt-check + typos + clippy for std and no_std)
just lint
# Run unit tests (std + no_std)
just test
# Run CI-aligned std checks (build/tests/templates)
just std-ci
# Run CI-aligned embedded/no_std checks
just nostd-ci
# Run in release mode
just std-ci release
# Run with CUDA features
just std-ci cuda-release
The just pr-check command runs:
- Formatting (
just fmt) - Lint checks (
just lint: format check + typos + std/no_std clippy) - Unit tests (
just test: std + no_std)
The just std-ci command remains CI-aligned for std paths, including:
- Format check (
just fmt-check) - Typos check (
typos -c .config/_typos.toml) - Clippy with
--deny warnings - Build with all features
- Unit tests with cargo-nextest
- Project generation tests (debug mode only)
Prek hooks (Recommended)
To mirror the CI lint steps locally, you can install prek hooks that run formatting and typos checks on each commit.
- Install
prek
cargo binstall install prek
# or
cargo install install prek
- Reinstall the git hooks if you previously executed
pre-commit install
prek install -f
- Run once to verify:
prek run --all-files
If you want to customize prek, please modify .pre-commit-config.yaml.
Proc-macro expansion (cargo expand)
Prefer cargo expand when inspecting generated code from Copper proc-macros.
Install it once with:
cargo install cargo-expand
File truncated at 100 lines see the full file