Pure YAML command orchestrator - CI/CD for humans
Project description
ry
A command augmentation framework that wraps and enhances existing CLI tools without breaking their native behavior.
Features
- Command Augmentation: Enhance existing CLI tools with validation, safety checks, and workflows
- Clean Architecture: Modular design with single-responsibility components
- Type-Safe Processing: Recursive template processing with proper type dispatch
- Token-Based Safety: Time-limited tokens for dangerous operations
- Library System: Reusable command definitions with metadata
- Direct Execution: No shell escaping for safety
Installation
uv tool isntall ry-tool
This installs the ry command globally.
Quick Start
# List available libraries
ry --list
# Get help for a library
ry git --ry-help
# Execute augmented command
ry git commit -m "feat: new feature"
# Show execution plan (dry run)
ry --ry-run git commit -m "test"
Production Libraries
- git - Enhanced git workflow with review tokens and commit validation
- uv - Python package management with automated version workflows
- changelog - Simple changelog management following Keep a Changelog
- ry-lib - Library development and management tools
- site-builder - Static documentation site generator
Library System
Example: Git Enhancement
version: "2.0"
name: git
type: augmentation
target: /usr/bin/git
commands:
commit:
flags:
m/message: string
augment:
before:
- python: |
# Validation logic
relay: native
Token-Based Safety
Critical operations require preview and token verification:
# Preview changes
ry git diff --staged # → Generates REVIEW_TOKEN
# Execute with token
REVIEW_TOKEN=xxx ry git commit -m "message"
Project Structure
ry-tool/
├── src/ry_tool/ # Core implementation
├── docs/
│ ├── libraries/ # Production libraries
│ └── ARCHITECTURE.md # Technical documentation
├── examples/ # Example libraries
└── CLAUDE.md # AI assistant guidance
Development
# Run linter
ruff check src/ry_tool/ --fix
# Build distribution
uv build
# Create a new library
ry ry-lib create <name> <type>
# Validate libraries
ry ry-lib validate --all
Documentation
- Architecture Guide - Technical details and design
- Library Development - Creating custom libraries
- Examples - Working examples
- Style Guide - Output formatting standards
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ry_tool-1.3.0.tar.gz
(25.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
ry_tool-1.3.0-py3-none-any.whl
(31.3 kB
view details)
File details
Details for the file ry_tool-1.3.0.tar.gz.
File metadata
- Download URL: ry_tool-1.3.0.tar.gz
- Upload date:
- Size: 25.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b23dbc5051b05860119c8d468f947ca611033f97b1df0c45d63c365c27ee566
|
|
| MD5 |
aec085914b9d90c5439f51548013c9b3
|
|
| BLAKE2b-256 |
ebd126be0ff57d26571a58e5c05e186b365b9efe8da9e5fe6171946b7a3f9498
|
File details
Details for the file ry_tool-1.3.0-py3-none-any.whl.
File metadata
- Download URL: ry_tool-1.3.0-py3-none-any.whl
- Upload date:
- Size: 31.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e3efe79c7b90d075ecdbc1579ffb1d7b53e5c3f63a4a659eef25618c83575fb
|
|
| MD5 |
b2aa504a4ab4a9a58eabde28df10e70d
|
|
| BLAKE2b-256 |
075336f5311e9d85778a5f0ae9ef7ee1a80b07014f090de6116932c1d3c01075
|