An open API service indexing awesome lists of open source software.

https://github.com/dirvine/saorsa-cli

Collection of powerful command-line tools for developers and system administrators
https://github.com/dirvine/saorsa-cli

Last synced: 8 months ago
JSON representation

Collection of powerful command-line tools for developers and system administrators

Awesome Lists containing this project

README

          

# Saorsa CLI Tools

A collection of powerful command-line tools for developers and system administrators.

## ๐Ÿ› ๏ธ Available Tools

### saorsa - Interactive CLI Menu
An interactive menu system for all Saorsa tools with automatic binary management.

**Features:**
- ๐Ÿ“ฑ Interactive terminal UI menu
- ๐Ÿ”„ Automatic binary downloads from GitHub releases
- ๐Ÿ–ฅ๏ธ Platform detection (macOS, Linux, Windows)
- ๐Ÿ“ฆ Binary caching and version management
- โšก Direct tool execution mode

**Usage:**
```bash
# Interactive menu
saorsa

# Run tool directly
saorsa --run sb
saorsa --run sdisk
```

### sb - Terminal Markdown Browser/Editor
A terminal-based Markdown browser and editor with Git integration, syntax highlighting, and media support.

**Features:**
- ๐Ÿ“ Browse and edit Markdown files in the terminal
- ๐ŸŽจ Syntax highlighting for code blocks
- ๐Ÿ–ผ๏ธ Image and video preview support
- ๐Ÿ”„ Git integration with diff view
- โŒจ๏ธ Vim-like keybindings
- ๐ŸŒฒ File tree navigation

**Installation:**
```bash
cargo install sb
```

**Usage:**
```bash
# Browse current directory
sb

# Browse specific directory
sb /path/to/notes

# Open specific file
sb README.md
```

### sdisk - Disk Usage Analyzer
Cross-platform CLI tool to analyze disk usage and suggest safe cleanups.

**Features:**
- ๐Ÿ“Š Analyze disk space usage
- ๐Ÿงน Identify safe files to clean
- ๐Ÿ” Find large files and directories
- ๐Ÿ—‘๏ธ Smart cleanup suggestions
- ๐Ÿ“ˆ Progress indicators
- ๐Ÿ–ฅ๏ธ Cross-platform support

**Installation:**
```bash
cargo install sdisk
```

**Usage:**
```bash
# Analyze current directory
sdisk

# Analyze specific directory
sdisk /path/to/analyze

# Interactive cleanup mode
sdisk --interactive
```

## ๐Ÿš€ Installation

### Quick Install (Recommended)
Download the latest release from [GitHub Releases](https://github.com/dirvine/saorsa-cli/releases):

1. Download the `cli-` archive for your system
2. Extract and run `saorsa` (or `saorsa.exe` on Windows)
3. The menu will automatically download other tools as needed

### Install All Tools from Source
```bash
# Clone the repository
git clone https://github.com/dirvine/saorsa-cli
cd saorsa-cli

# Build and install all tools
cargo install --path sb
cargo install --path sdisk
cargo install --path cli
```

### Install from crates.io
Each tool is also available individually on crates.io:

```bash
cargo install sb
cargo install sdisk
```

## ๐Ÿ”ง Building from Source

### Prerequisites
- Rust 1.70 or later
- Git

### Build Commands
```bash
# Clone the repository
git clone https://github.com/dirvine/saorsa-cli
cd saorsa-cli

# Build all tools
cargo build --release

# Build specific tool
cargo build --release -p sb
cargo build --release -p sdisk
cargo build --release -p cli

# Run tests
cargo test --all

# Run with cargo
cargo run --bin sb
cargo run --bin sdisk
cargo run --bin saorsa
```

## ๐Ÿ“ฆ Project Structure

```
saorsa-cli/
โ”œโ”€โ”€ Cargo.toml # Workspace configuration
โ”œโ”€โ”€ README.md # This file
โ”œโ”€โ”€ .github/
โ”‚ โ””โ”€โ”€ workflows/
โ”‚ โ”œโ”€โ”€ ci.yml # Continuous Integration
โ”‚ โ””โ”€โ”€ release.yml # Release automation
โ”œโ”€โ”€ cli/ # Interactive CLI Menu
โ”‚ โ”œโ”€โ”€ Cargo.toml
โ”‚ โ”œโ”€โ”€ src/
โ”‚ โ””โ”€โ”€ README.md
โ”œโ”€โ”€ sb/ # Terminal Markdown Browser/Editor
โ”‚ โ”œโ”€โ”€ Cargo.toml
โ”‚ โ”œโ”€โ”€ src/
โ”‚ โ””โ”€โ”€ README.md
โ”œโ”€โ”€ sdisk/ # Disk Usage Analyzer
โ”‚ โ”œโ”€โ”€ Cargo.toml
โ”‚ โ”œโ”€โ”€ src/
โ”‚ โ””โ”€โ”€ README.md
โ””โ”€โ”€ scripts/
โ””โ”€โ”€ create-release.sh # Release helper script
```

## ๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## ๐Ÿ“ License

This project is dual-licensed under:
- MIT License
- Apache License 2.0

You may choose either license for your use.

## ๐Ÿ‘ค Author

**David Irvine**
- GitHub: [@dirvine](https://github.com/dirvine)
- Email: david.irvine@saorsa.net

## ๐ŸŒŸ Acknowledgments

- Built with Rust ๐Ÿฆ€
- Uses the amazing Ratatui TUI framework
- Powered by the Saorsa ecosystem

## ๐Ÿ“š More Information

For detailed documentation on each tool, see their respective README files:
- [CLI Menu README](./cli/README.md)
- [sb README](./sb/README.md)
- [sdisk README](./sdisk/README.md)

## ๐Ÿšข Releases

### Creating a Release

1. **Update version numbers** in `Cargo.toml` files
2. **Run the release script**:
```bash
./scripts/create-release.sh v0.1.0
```
3. **Push the tag** to trigger GitHub Actions:
```bash
git push origin v0.1.0
```

GitHub Actions will automatically:
- Build binaries for all platforms
- Create individual and combined archives
- Generate SHA256 checksums
- Create a GitHub release with all assets

### Supported Platforms

Releases include pre-built binaries for:
- **macOS**: Apple Silicon (M1/M2) and Intel
- **Linux**: x86_64 and ARM64
- **Windows**: x86_64

## ๐Ÿ”ฎ Future Tools

This repository will continue to grow with more CLI tools. Stay tuned for:
- Network utilities
- Development helpers
- System monitoring tools
- And more!

---

*Part of the Saorsa ecosystem - Building tools for a better development experience*