https://github.com/xenoverseup/trane
A parallel task runner with a better UX built using Node.
https://github.com/xenoverseup/trane
concurrently nodejs npm task tui
Last synced: 6 months ago
JSON representation
A parallel task runner with a better UX built using Node.
- Host: GitHub
- URL: https://github.com/xenoverseup/trane
- Owner: XenoverseUp
- Created: 2025-06-13T22:57:42.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-13T23:16:07.000Z (about 1 year ago)
- Last Synced: 2025-06-14T00:18:24.554Z (about 1 year ago)
- Topics: concurrently, nodejs, npm, task, tui
- Language: TypeScript
- Homepage:
- Size: 10.6 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Trane · [](https://github.com/xenoverseup/trane/blob/main/LICENSE) [](https://www.npmjs.com/package/@xenoverseup/trane) [](https://www.npmjs.com/package/@xenoverseup/trane) [](https://github.com/xenoverseup/trane/stargazers)
**Trane** is a modern CLI for running parallel tasks with a user-friendly TUI.
Think [Concurrently](https://www.npmjs.com/package/concurrently), but with a better interface, alias support, runtime validation, and developer-first ergonomics. Create `trane.json` file in the root directory. Define commands and the working directories. Then simply run `trane`.
## Install
```bash
npm install --global @xenoverseup/trane
```
## Usage
```bash
trane --help
```
### CLI Options
```
Usage
$ trane [options] [alias]
Options
--file, -f Path to command config (default: ./trane.json)
--list List all available aliases
--version, -v Show CLI version
--help, -h Show CLI help
Examples
$ trane # Launch interactive TUI from trane.json
$ trane --file=custom.json
$ trane --list # Show all available aliases
$ trane build # Run alias "build" defined in config
```
## Config File (`trane.json`)
Define tasks in a config file:
```json
{
"tasks": {
"server": {
"label": "Server",
"command": "bun",
"args": ["run", "dev"]
},
"dashboard": {
"label": "Dashboard",
"command": "bun",
"args": ["dev"],
"cwd": "./www/dashboard"
},
"landing": {
"label": "Landing",
"command": "npm",
"args": ["run", "dev"],
"cwd": "./www/landing"
}
}
}
```
### Types for `trane.json`
If your editor supports it, enable auto-completion and type-checking:
```jsonc
// @ts-check
// @type {import('@xenoverseup/trane/config').default}
{
"tasks": {...}
}
```
## TODO Roadmap
- [x] Go migration
- [ ] Fix posinstall script
- [ ] Export logs to file
- [ ] Timestamp each output
- [ ] Native buffer support
- [ ] Clear/reset output buffer
- [ ] Dual modes: interactive / headless
- [ ] Autocomplete alias names
---
[Muhammed Can Durmus](https://github.com/xenoverseup) · 2025
Licensed under the [MIT License](./LICENSE).