yet
yet (yet-another executor of tasks) is a tool for executing task written using the rune programming language.
It aims at fitting my use-cases and workflow for the CylonCore and auKsys projects.
But you are very welcome to use it for your own projects, and contribute to the project, through merge requests.
Installation
To install yet, you need to have Rust and Cargo installed. If you don't have them installed, you can get them from rustup.rs.
Documentation
Command-line usage
yet command line usage is available by running the command:
To get started, create a demo configuration file in the current directory:
The basic usage is to run a task:
With the previously created configuration file:
The taskname is the identifier for a task as defined in the yet.yml file. When executing a task, yet automatically searches for yet.yml files in the current directory and all parent directories, importing the tasks specified within them.
If a task with the same name is defined in both a parent directory and a subdirectory, the task in the subdirectory will override the one in the parent directory.
To run a task located in a subdirectory, you can specify the path to the task using the command:
This allows for flexible task management and execution across different directory levels.
yet.yml
Tasks are defined in a yet.yml file. Which contains a root tasks, which is a dictionary where the An example is provided bellow:
tasks:
install:
description: "Install yet."
command:
- cargo install --path .
test:
description: "Run tests for yet."
command:
- cargo test
- cd tests
- ruby test.rb
or more detailed information on configuring tasks, refer to the yet.yml documentation.
Rune
Rune is a scripting language with a syntax very similar to Rust. It is used as the primary scripting engine for yet. The documentation for the language can be found here:
- Rune: introduction to the Rune programming language.
- Rune Modules: documentation about the general Rune modules.
Shell Integration
bash: add the following line to your.bashrcor.bash_profileto enable completion:
nu: add the output ofyet --shell-config nuto your nu config. Auto-completion with nushell is experimental.