A GUI for cargo xtask workflows.
Instead of typing cargo xtask <task> <target> in the terminal, open a GUI that lists all your tasks, lets you check which ones to run, and streams the output to a built-in console - all without leaving your project or blocking the terminal
cargo install cargo-xtask-runnerNavigate to any Rust project that has an xtask runner and run:
cd my-rust-project
cargo xtask-runnerThe GUI will open. The terminal is free to use for anything else while it runs.
Your project's xtask runner must support a --list flag that outputs tasks in this format:
target|task_id|description
For example:
workspace|fmt|Format all code
package|test|Run unit tests
package|build|Build release binary
Each line is one task. The target field groups tasks in the dropdown. Use workspace (or any other keyword) for tasks that apply globally and don't need a target argument.
// in xtask/src/main.rs
if args.contains(&"--list") {
println!("workspace|fmt|Format all code");
println!("workspace|clippy|Run clippy lints");
println!("package|test|Run unit tests");
println!("package|build|Build release binary");
return;
}MIT — see LICENSE



