4 releases
Uses new Rust 2024
| 0.1.3 | Aug 18, 2025 |
|---|---|
| 0.1.2 | Aug 3, 2025 |
| 0.1.1 | Aug 3, 2025 |
| 0.1.0 | Jul 31, 2025 |
#540 in Configuration
71KB
1.5K
SLoC
yte
yte (yet-another task executor) 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 yte, you need to have Rust and Cargo installed. If you don't have them installed, you can get them from rustup.rs.
cargo install yte
Documentation
Command-line usage
yte command line usage is available by running the command:
yte --help
To get started, create a demo configuration file in the current directory:
yte --create-config
The basic usage is to run a task:
yte taskname arg0 arg1...
With the previously created configuration file:
yte hello world
The taskname is the identifier for a task as defined in the yte.yml file. When executing a task, yte automatically searches for yte.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:
yte path/to/subdir/taskname
This allows for flexible task management and execution across different directory levels.
yte.yml
Tasks are defined in a yte.yml file. Which contains a root tasks, which is a dictionary where the An example is provided bellow:
tasks:
install:
description: "Install yte."
command: !commands
- cargo install --path .
test:
description: "Run tests for yte."
command: !commands
- cargo test
- cd tests
- ruby test.rb
or more detailed information on configuring tasks, refer to the yte.yml documentation.
Rune
Rune is a scripting language with a syntax very similar to Rust. It is used as the primary scripting engine for yte. 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
yte provides shell completion integration for bash. Add the following line to your .bashrc or .bash_profile to enable completion:
eval "$(yte --shell-config bash)"
Dependencies
~16–47MB
~704K SLoC