Claude Code Plugin
The CppModel Toolkit is a free plugin for Claude Code that knows the CppModel libraries and the Workspace API. It helps you bring existing controller code under simulation, write and debug simulation tests, and query results without leaving your editor or terminal.
Installation
In Claude Code, add the CppModel marketplace and install the plugin:
/plugin marketplace add https://github.com/Control-Edge/cppmodel-claude.git
/plugin install cppmodel@cppmodel-tools
Installing the plugin is free. To use it with real data, you need a CppModel account and a .env file at your project root:
CPPMODEL_USERNAME=...
CPPMODEL_PASSWORD=...
CPPMODEL_CLIENT_ID=cppmodel-frontend
Keep the .env file out of version control.
Skills
Claude uses a skill automatically when your request matches it. You can also invoke one directly by name, for example /cppmodel:simulation-testing.
| Skill | What it does |
|---|---|
cppmodel:decouple-component | Decouples a controller component that calls a vendor BSW, RTOS or HAL API directly, so it can run in isolation under CppModel without the real hardware or vendor SDK. |
cppmodel:plant-model | Builds a minimal plant model for a new physical mechanism, such as an actuator, motor or sensor pair. It asks about the mechanism's sensors, actuators and timing, then scaffolds a starter simulation that connects the model to your controller. |
cppmodel:simulation-testing | Writes, extends, builds, runs and debugs simulation tests in C or C++. When a test fails, it traces the run to find why, instead of guessing from the console output. |
cppmodel:simulations | Queries the Workspace API: lists your simulations, fetches the latest results of a simulation, or lists its execution history. |
cppmodel:language | Decides whether a new file is written in C or C++. It follows your project's existing convention, or asks once and remembers the answer. |
cppmodel:update-dependencies | Downloads the latest CppModel library for your platform and toolchain, flags interface changes, fixes affected call sites and rebuilds your project to verify the update. |
Example requests
- "Add a simulation for the boom controller in
src/boom.c." - "Our
hydraulics.ccalls the vendor I/O driver directly. Make it simulate-able." - "Model a DC motor with an encoder and wire it to the speed controller."
- "Why did the
TempControlsimulation fail on the last run?" - "Update the CppModel dependencies to the latest version."