All Projects β†’ rednafi β†’ rush

rednafi / rush

Licence: MIT license
πŸƒβ€β™€οΈ Minimalistic CLI Tool for Managing and Running Bash Snippets

Programming Languages

139335 projects - #7 most used programming language
77523 projects

Projects that are alternatives of or similar to rush

A simple task runner which will run all tasks till completion, while maintaining concurrency limits.
Stars: ✭ 27 (-22.86%)
Mutual labels:  task, task-runner, task-list
🎭 A CLI task runner defined by a simple markdown file
Stars: ✭ 495 (+1314.29%)
Mutual labels:  task, task-runner
A task runner / simpler Make alternative written in Go
Stars: ✭ 4,282 (+12134.29%)
Mutual labels:  task, task-runner
Run When
Run tasks based on "Git diff" changes πŸƒ βž• βž–
Stars: ✭ 63 (+80%)
Mutual labels:  task, task-runner
CLI task runner for developers - a better alternative to make
Stars: ✭ 50 (+42.86%)
Mutual labels:  task, task-runner
The task manager for php
Stars: ✭ 294 (+740%)
Mutual labels:  task, task-runner
Bake is a bash task runner
Stars: ✭ 27 (-22.86%)
Mutual labels:  task, task-runner
API-first task runner with three methods: task, run and watch.
Stars: ✭ 35 (+0%)
Mutual labels:  task, task-runner
A fast and reliable background task processing library for Python 3.
Stars: ✭ 2,844 (+8025.71%)
Mutual labels:  task, task-runner
Tasker is a multipurpose task runner
Stars: ✭ 160 (+357.14%)
Mutual labels:  task, task-runner
Functions to keep TODO tasks in orgmode sorted and organized.
Stars: ✭ 26 (-25.71%)
Mutual labels:  task-list, task-management
A simple task runner.
Stars: ✭ 36 (+2.86%)
Mutual labels:  task, task-runner
Cargo Make
Rust task runner and build tool.
Stars: ✭ 895 (+2457.14%)
Mutual labels:  task, task-runner
JavaScript task runner
Stars: ✭ 135 (+285.71%)
Mutual labels:  task, task-runner
A drag and drop Kanban board for React Native.
Stars: ✭ 41 (+17.14%)
Mutual labels:  task, task-management
基于 Laravel5 εΌ€ε‘ηš„ε­¦η”Ÿε€„δ»»εŠ‘ε‘εΈƒη›‘ζŽ§η³»η»Ÿ
Stars: ✭ 22 (-37.14%)
Mutual labels:  task, task-list
xxl-job go client
Stars: ✭ 36 (+2.86%)
Mutual labels:  task
Task management for the Obsidian knowledge base.
Stars: ✭ 648 (+1751.43%)
Mutual labels:  task-management
Eliminate the annoying work within ticketing systems (Jira, GitHub, Trello). Allows automating (without admin access) daily actions like tickets fields verification, email notifications by JQL/GQL, meeting requests to your (or teammates) calendar.
Stars: ✭ 42 (+20%)
Mutual labels:  task
Streak Tasks Habit Tracker
Stars: ✭ 27 (-22.86%)
Mutual labels:  task

Rush πŸƒ

♆ Rush: A Minimalistic Bash Utility


Run all your task automation Bash commands from a single rushfile.yml file.


  • Supports all bash commands
  • Option to ignore or run specific tasks
  • By default, runs commands in interactive mode
  • Option to catch or ignore command errors
  • Option to show or supress command outputs
  • Command chaining is supported (See the example rushfile.yml where task_2 is chained to task_1)


$ pip3 install rush-cli



Here is an example rushfile.yml. It needs to reside in the root directory:

# rushfile.yml

task_1: |
    echo "task1 is running"

task_2: |
    # Task chaining [task_1 is a dependency of task_2]
    echo "task2 is running"

task_3: |
    ls -a
    sudo apt-get install cowsay | head -n 0
    cowsay "Around the world in 80 days!"

//task_4: |
    # Ignoring a task [task_4 will be ignored while execution]
    ls | grep "ce"
    ls > he.txt1

task_5: |
    # Running a bash script from rush

Available Options

To see all the available options, run:

$ rush


$ rush --help

This should show:

Usage: rush [OPTIONS] [FILTER_NAMES]...

  ♆ Rush: A Minimalistic Bash Utility

  -a, --all          Run all tasks
  --hide-outputs     Option to hide interactive output
  --ignore-errors    Option to ignore errors
  -p, --path         Show the absolute path of rushfile.yml
  --no-deps          Do not run dependent tasks
  --view-tasks       View task commands
  -ls, --list-tasks  List task commands with dependencies
  --no-warns         Do not show warnings
  -v, --version      Show rush version
  -h, --help         Show this message and exit.

Running Tasks

  • Run all the tasks

    $ rush --all
  • Run specific tasks

    $ rush task_1 task_4
  • Ignore specific tasks

    See the example rushfile.yml where the '//' before a task name means that the task will be ignored during execution

    # rushfile.yml
    //task_4: |
        echo "This task will be ignored during execution."

    This ignores the task named //task_4.

  • Run tasks non interactively (supress the outputs)

    $ rush --hide-outputs
  • Run tasks ignoring errors

    $ rush --ignore-errors
  • Do not run the dependent tasks

    $ rush task_2 --no-deps

Viewing Tasks

  • View absolute path of rushfile.yml

    $ rush --path


  • View task commands

    $ rush task_5 task_6 task_7 --view-tasks


  • View task list with dependencies

    $ rush -ls


  • Rush runs all the commands using /usr/bin/bash. So shell specific syntax with other shebangs might throw error.

  • If you are running Bash script from rush, use shebang (#!/usr/bin/env bash)


  • Rush works better with python 3.7 and up
  • If your have installed Rush globally and it throws a runtime error, you can try to solve it via adding the following variables to your ~./bashrc:
export LC_ALL=C.UTF-8
export LANG=C.UTF-8

You can find more information about the issue and why it's a non-trivial problem here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].