Metadata-Version: 2.4
Name: lus
Version: 0.2.1
Summary: A simple task-runner using KDL for configuration
Home-page: https://github.com/jhasse/lus
Download-URL: https://github.com/jhasse/lus/archive/v0.2.1.tar.gz
Author: Jan Niklas Hasse
Author-email: jhasse@bixense.com
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: ckdl
Requires-Dist: expandvars
Dynamic: author
Dynamic: author-email
Dynamic: description
Dynamic: description-content-type
Dynamic: download-url
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: summary

# lus

`lus` is a task runner similar to [just](https://just.systems). It's key differentiators are:

* No DSL, `lus` uses the existing [KDL](https://kdl.dev)
* Runs tasks directly without a shell
* Comes with a simple built-in shell, so it works out-of-the-box on Windows
* Less features

```kdl
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
}
```

## Special environment variables

| Variable                   | Description                       |
|----------------------------|-----------------------------------|
| `$subcommand`              | Current subcommand being executed |
| `$invocation_directory`    | Directory where `lus` was invoked |

# Development

Run unit and integration tests:

```
python -m venv .venv
. .venv/bin/activate.fish
pip install ckdl expandvars pytest
pytest
```
