Features
Jake features and comparison

jake (crasis for “just make”) is a Make-like task executor for Unix-based operating systems. It is based on TOML task definitions (stored in a file called jakefile.toml) and can execute commands by resolving their dependencies and forwarding additional options from the command line.

Features

Comparison

The table below compares jake against just and make across key features:

Feature jake just make
Dependency graph resolution ✅ ✅ ✅
Circular dependency detection ✅ ✅ ❌
Extra arguments / options ✅ ✅ ⚠️
Default task execution ✅ ✅ ✅
Composite commands ✅ ✅ ✅
Subdirectory invocation ✅ ✅ ❌
Simple, readable syntax ✅ ✅ ❌
No special spacing rules ✅ ✅ ❌
Read .env ✅ ✅ ❌
List available commands ✅ ✅ ❌
Recipes written in arbitrary languages ✅ ✅ ❌
Initialize a boilerplate jake/just/makefile ✅ ❌ ❌
Execute inline scripts in jakefile.toml ✅ ❌ ❌
Execute scripts in package.json ✅ ❌ ❌
Custom working directory (--cwd) ✅ ❌ ❌
Dry-run (print commands only) ✅ ✅ ✅
Suppress command echo (--no-print-command) ✅ ❌ ❌

⚠️ make supports passing variables from the command line but not named options in the same ergonomic way.