Rush

⚠️ AI-Generated Content Notice: Much of this project's documentation has been generated with AI and may contain errors or incomplete information. This will get replaced as development continues. This is experimental software and NOT recommended for production use.

Rush is an experimental shell scripting language interpreter that combines simple syntax with strict validation and built-in concurrency.

Features

  • Variable interpolation with validation
  • Built-in variables ($USER, $HOME, $IS_ROOT)
  • Control flow with if/else and not
  • For loops for iteration
  • Parallel execution blocks for concurrent tasks
  • Interactive input with input(), confirm(), select(), and multiselect()
  • Strict parsing that catches errors before execution

Quick Start

Build:

cargo build --release

Your first script (hello.rsh):

#!/usr/bin/env rush

NAME = "World"
echo "Hello, $NAME!"

Run:

./target/debug/rush hello.rsh

Documentation

📚 Read the full documentation (built with mdBook)

Build and view docs locally:

mdbook serve docs

Then open http://localhost:3000 in your browser.

Or build static HTML:

mdbook build docs
# Open docs/book/index.html

Example Scripts

The documentation includes comprehensive examples:

  • Web Deployment - Multi-server deployment with parallel execution
  • System Maintenance - Permission-aware system tasks
  • Data Pipeline - Parallel batch processing
  • CI/CD Pipeline - Build, test, and deploy automation
  • Database Backup - Backup with integrity verification

See the Examples section in the documentation.

Project Status

⚠️ Experimental - Not for Production

Rush is under active development. The language design and implementation are subject to change. Current capabilities:

  • Basic scripting features
  • Parallel execution
  • Variable interpolation
  • ⚠️ Limited command support
  • No package management
  • No module system
  • Limited error handling

Do not use Rush for:

  • Production systems
  • Critical automation
  • Enterprise deployments
  • Anything requiring stability

Contributing

Found an issue? Have a suggestion? Contributions are welcome! This project is experimental and could benefit from community input.

License

See LICENSE file for details.

Description
a modern shell scripting language interpreter
Readme GPL-3.0 201 KiB
Languages
Rust 100%