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
- Host: GitHub
- URL: https://github.com/dirvine/saorsa-cli
- Owner: dirvine
- Created: 2025-08-19T21:26:36.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-08T15:24:52.000Z (9 months ago)
- Last Synced: 2025-09-08T16:27:02.222Z (9 months ago)
- Language: Rust
- Size: 748 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
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*