- Added documentation via mdbook - Created basic VS code extension - Implemented if else blocks and changed some syntax - fixed some issues
92 lines
2.3 KiB
Markdown
92 lines
2.3 KiB
Markdown
# 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
|
|
- **Strict parsing** that catches errors before execution
|
|
|
|
## Quick Start
|
|
|
|
**Build:**
|
|
```bash
|
|
cargo build --release
|
|
```
|
|
|
|
**Your first script** (`hello.rsh`):
|
|
```rush
|
|
#!/usr/bin/env rush
|
|
|
|
NAME = "World"
|
|
echo "Hello, $NAME!"
|
|
```
|
|
|
|
**Run:**
|
|
```bash
|
|
./target/debug/rush hello.rsh
|
|
```
|
|
|
|
## Documentation
|
|
|
|
📚 **[Read the full documentation](docs/)** (built with mdBook)
|
|
|
|
**Build and view docs locally:**
|
|
```bash
|
|
mdbook serve docs
|
|
```
|
|
|
|
Then open http://localhost:3000 in your browser.
|
|
|
|
**Or build static HTML:**
|
|
```bash
|
|
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](docs/src/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.
|