Extending Cargo with Custom Commands

Cargo is extensible. Any executable named cargo-<command> on your PATH can be invoked as cargo <command>.

A Simple Example

If you create an executable named cargo-oxide, you can run:

cargo oxide

Cargo will locate cargo-oxide and execute it, passing along any arguments.

Why This Matters

Custom Cargo commands are a convenient way to build project tooling:

  • Code generators
  • Lint wrappers
  • Release automation
  • Project-specific scripts

Because these commands are just executables, you can write them in Oxide, Rust, or any language.