lus is a task runner similar to just. It's key differentiators are:
- No DSL,
lususes the existing KDL - Runs tasks directly without a shell
- Comes with a simple built-in shell, so it works out-of-the-box on Windows
- Less features
b {
- lus build
}
- host="$(uname -a)"
// build main
build {
- cc *.a -o main
}
// test everything
test-all {
- lus build
- "./test" --all
}
// run a specific test
test {
- lus build
- "./test" --test $args
}| Variable | Description |
|---|---|
$args |
Additional arguments passed to lus |
$subcommand |
Current subcommand being executed |
$flags |
Arguments starting with -- |
$invocation_directory |
Directory where lus was invoked |
lus supports tab completion for bash, zsh, fish, and PowerShell. Add one of the following to your shell configuration:
Bash (~/.bashrc):
eval "$(lus --completions bash)"Zsh (~/.zshrc):
autoload -Uz compinit && compinit; source <(lus --completions zsh)Fish (~/.config/fish/config.fish):
lus --completions fish | sourcePowerShell ($PROFILE):
Invoke-Expression (& lus --completions powershell)Run unit and integration tests:
python -m venv .venv
. .venv/bin/activate.fish
pip install kdl-py expandvars pytest
pytest