A task runner and build tool with a simple, readable syntax.
Note: Quake is an internal tool built by the Miren team. We built it to give us something a little bit nicer than
make, and also for fun. See CONTRIBUTING.md for more context on the project's scope.
go install miren.dev/quake@latestCreate a Quakefile in your project:
task default => build
task build {
go build -o myapp .
}
task test {
go test ./...
}
task clean {
rm -rf build/
}
Run tasks:
quake # runs default task
quake build # runs build task
quake -l # list all tasks- Simple, readable task syntax
- Task dependencies (
task build => test) - Task arguments (
task deploy(env)) - Variables and expressions
- Namespaces for organization
- Go task integration (write tasks in Go)
- Claude AI integration for generating tasks (
quake -g)
quake [options] [task] [args...]
Options:
-l, --list List all tasks
-v Verbose output (show source locations with -l)
-g, --generate Generate a new task using Claude AI
--init Initialize a new Quakefile using Claude AI
-f, --file Path to Quakefile
See the included Quakefile for a full example.
A Neovim plugin with syntax highlighting is included in the nvim/ directory.
Apache License 2.0 - see LICENSE for details.