https://github.com/thomas3577/tano
Just another Task Runner
https://github.com/thomas3577/tano
deno task-runner
Last synced: 5 months ago
JSON representation
Just another Task Runner
- Host: GitHub
- URL: https://github.com/thomas3577/tano
- Owner: thomas3577
- License: mit
- Created: 2023-02-03T22:38:28.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-01-20T21:39:19.000Z (5 months ago)
- Last Synced: 2026-01-21T07:11:50.865Z (5 months ago)
- Topics: deno, task-runner
- Language: TypeScript
- Homepage: https://jsr.io/@dx/tano
- Size: 367 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tano
[](https://jsr.io/@dx/tano)
[](https://jsr.io/@dx/tano/score)
[](https://github.com/thomas3577/tano/actions/workflows/deno.yml)
[](https://deno.land/std)
Yet another task runner.
There is a very good article on the Deno blog with the title [You Don't Need a Build Step](https://deno.com/blog/you-dont-need-a-build-step).
Yes, you don't need this task runner either, but it works (maybe) and it was fun to implement it.
## Install
```bash
deno install --allow-run -RWE --unstable-kv -g -n tano jsr:@dx/tano/cli
```
**Note:**
Your tasks may need additional permissions.
## Upgrade
Upgrades the dx cli.
```bash
tano --upgrade
```
## Help
```bash
tano --help
```
## Preparation
Create a TypeScript file with the name `tanofile.ts` and import the 'task' function and create your tasks.
```ts
import { needs, task } from 'jsr:@dx/tano';
task('pre-task', `echo 'These were ...'`);
task('default', needs('pre-task'), `echo '...two tasks.'`);
```
## Using
**Execute default task:**
```bash
tano
```
**Execute my-task:**
```bash
tano --task my-task
```
**...or shorthand:**
```bash
tano my-task
```
## Help
```bash
tano --help
```