cargo-make is a free, open source build & deployment project written in Rust and released under Apache-2.0. It has 2,952 GitHub stars, 144 forks and 89 open issues, and was last pushed 7 months ago. On this registry it ranks #40 of 59 tracked projects in Build & Deployment, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is cargo-make?

What it is

cargo-make is a Rust task runner and build tool. It lives in the Rust and Cargo ecosystem, and it is distributed as a cargo subcommand.

The project solves the problem of coordinating repeated build, coverage, and automation steps without scattering shell snippets across repositories. It lets a team describe tasks, dependencies, aliases, commands, scripts, and sub tasks in makefiles, then run them consistently across local workstations and continuous integration services such as GitHub Actions, Azure Pipelines, CircleCI, and AppVeyor.

Key capabilities

  • Tasks can declare dependencies, aliases, commands, scripts, sub tasks, default tasks, and extended tasks, so a workflow can be organized as a set of related tasks instead of a single shell line.
  • Scripts can use Duckscript, Rust code, a cross-platform shell, other programming languages, and shebang support, which gives teams several ways to write task logic.
  • Environment variables can be declared globally, per task, on the command line, from an env file, and from setup scripts, with a documented loading order and working-directory setup.
  • Conditions can be based on criteria, scripts, or and/or/group-or expressions, can combine with sub tasks, and can run tasks only if sources changed.
  • Dependency installation can cover Cargo plugins, crates, rustup components, and native dependencies, with version definitions, global version locking, alternate cargo install commands, installation priorities, and multiple installations.
  • Workspace support includes composite flow, profiles, skipping or including specific members, workspace emulation, and automatic extension of a workspace makefile.

Who uses it and how

  • Rust developers use it as a cargo subcommand to define local build, coverage, and automation workflows that can be run from the same project root.
  • Continuous integration maintainers use it on GitHub Actions, Azure Pipelines, CircleCI, and AppVeyor to standardize commands across jobs and reduce duplicated inline script logic.
  • Workspace owners use profiles, composite flow, and member selection to run tasks across multiple crates while still targeting specific members when needed.

Getting started

Install cargo-make from Arch Linux packages, a binary release, or the crates.io package, then invoke it as a cargo subcommand from a Rust project. Define a makefile with tasks, dependencies, and scripts, and run the desired task from the command line.

When to use it — and when not to

Use cargo-make when a Rust project needs a Cargo-native task runner with makefiles, workspace profiles, conditions, and dependency installation. The provided facts do not list paid products it replaces, nor a hosted option, Docker image, database, storage, or SMTP requirement, so users must install and maintain the tool through the listed package or binary-release methods. The repository shows 89 open issues.

project readme (upstream, from github) — read inline

cargo-make

crates.io CI codecov license Crates.io GitHub All Releases Built with cargo-make

Rust task runner and build tool.

Overview

The cargo-make task runner enables to define and configure sets of tasks and run them as a flow.
A task is a command, script, rust code, or other sub tasks to execute.
Tasks can have dependencies which are also t

readme truncated — read the full docs on github

Frequently asked questions

Is cargo-make free to use?

cargo-make is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does cargo-make do?

Rust task runner and build tool.

What is cargo-make written in?

cargo-make is primarily written in Rust. Its source is publicly available at https://github.com/sagiegurari/cargo-make, and it has 2,952 GitHub stars.