Name | ry-tool JSON |
Version |
1.2.1
JSON |
| download |
home_page | None |
Summary | Pure YAML command orchestrator - CI/CD for humans |
upload_time | 2025-09-10 22:08:01 |
maintainer | None |
docs_url | None |
author | Fredrik Angelsen |
requires_python | >=3.12 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 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
```bash
pip install -e .
```
This installs the `ry` command globally.
## Quick Start
```bash
# 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
```yaml
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:
```bash
# 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
```bash
# 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](docs/ARCHITECTURE.md) - Technical details and design
- [Library Development](docs/libraries/ry-lib/README.md) - Creating custom libraries
- [Examples](examples/README.md) - Working examples
- [Style Guide](docs/libraries/OUTPUT_STYLE_GUIDE.md) - Output formatting standards
## License
MIT
Raw data
{
"_id": null,
"home_page": null,
"name": "ry-tool",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": null,
"author": "Fredrik Angelsen",
"author_email": "Fredrik Angelsen <fredrikangelsen@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/c9/81/9dc110e94d11c48dc9bf4a610a96505633695608146c5561e4a9dcb13f7e/ry_tool-1.2.1.tar.gz",
"platform": null,
"description": "# ry\n\nA command augmentation framework that wraps and enhances existing CLI tools without breaking their native behavior.\n\n## Features\n\n- **Command Augmentation**: Enhance existing CLI tools with validation, safety checks, and workflows\n- **Clean Architecture**: Modular design with single-responsibility components \n- **Type-Safe Processing**: Recursive template processing with proper type dispatch\n- **Token-Based Safety**: Time-limited tokens for dangerous operations\n- **Library System**: Reusable command definitions with metadata\n- **Direct Execution**: No shell escaping for safety\n\n## Installation\n\n```bash\npip install -e .\n```\n\nThis installs the `ry` command globally.\n\n## Quick Start\n\n```bash\n# List available libraries\nry --list\n\n# Get help for a library\nry git --ry-help\n\n# Execute augmented command\nry git commit -m \"feat: new feature\"\n\n# Show execution plan (dry run)\nry --ry-run git commit -m \"test\"\n```\n\n## Production Libraries\n\n- **git** - Enhanced git workflow with review tokens and commit validation\n- **uv** - Python package management with automated version workflows\n- **changelog** - Simple changelog management following Keep a Changelog\n- **ry-lib** - Library development and management tools\n- **site-builder** - Static documentation site generator\n\n## Library System\n\n### Example: Git Enhancement\n\n```yaml\nversion: \"2.0\"\nname: git\ntype: augmentation\ntarget: /usr/bin/git\n\ncommands:\n commit:\n flags:\n m/message: string\n augment:\n before:\n - python: |\n # Validation logic\n relay: native\n```\n\n### Token-Based Safety\n\nCritical operations require preview and token verification:\n\n```bash\n# Preview changes\nry git diff --staged # \u2192 Generates REVIEW_TOKEN\n\n# Execute with token\nREVIEW_TOKEN=xxx ry git commit -m \"message\"\n```\n\n## Project Structure\n\n```\nry-tool/\n\u251c\u2500\u2500 src/ry_tool/ # Core implementation\n\u251c\u2500\u2500 docs/\n\u2502 \u251c\u2500\u2500 libraries/ # Production libraries\n\u2502 \u2514\u2500\u2500 ARCHITECTURE.md # Technical documentation\n\u251c\u2500\u2500 examples/ # Example libraries\n\u2514\u2500\u2500 CLAUDE.md # AI assistant guidance\n```\n\n## Development\n\n```bash\n# Run linter\nruff check src/ry_tool/ --fix\n\n# Build distribution\nuv build\n\n# Create a new library\nry ry-lib create <name> <type>\n\n# Validate libraries\nry ry-lib validate --all\n```\n\n## Documentation\n\n- [Architecture Guide](docs/ARCHITECTURE.md) - Technical details and design\n- [Library Development](docs/libraries/ry-lib/README.md) - Creating custom libraries\n- [Examples](examples/README.md) - Working examples\n- [Style Guide](docs/libraries/OUTPUT_STYLE_GUIDE.md) - Output formatting standards\n\n## License\n\nMIT",
"bugtrack_url": null,
"license": null,
"summary": "Pure YAML command orchestrator - CI/CD for humans",
"version": "1.2.1",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e4dd18f01cfd130d78d82b4241593fcc1194ec55b96e27f57d348afc4289add2",
"md5": "0b6c1ed7592190e131959b48021a20da",
"sha256": "508124ec76db37c56cfb0ff519885556dc42fed130cb135aab83c876beed0430"
},
"downloads": -1,
"filename": "ry_tool-1.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0b6c1ed7592190e131959b48021a20da",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 31334,
"upload_time": "2025-09-10T22:07:59",
"upload_time_iso_8601": "2025-09-10T22:07:59.415765Z",
"url": "https://files.pythonhosted.org/packages/e4/dd/18f01cfd130d78d82b4241593fcc1194ec55b96e27f57d348afc4289add2/ry_tool-1.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c9819dc110e94d11c48dc9bf4a610a96505633695608146c5561e4a9dcb13f7e",
"md5": "ebb1a66dbf404eba92df1d9a48823144",
"sha256": "983b04501356f6e1311dea4e1341c0dc802279ccafaf47cbf1eeee944610433a"
},
"downloads": -1,
"filename": "ry_tool-1.2.1.tar.gz",
"has_sig": false,
"md5_digest": "ebb1a66dbf404eba92df1d9a48823144",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 25640,
"upload_time": "2025-09-10T22:08:01",
"upload_time_iso_8601": "2025-09-10T22:08:01.677123Z",
"url": "https://files.pythonhosted.org/packages/c9/81/9dc110e94d11c48dc9bf4a610a96505633695608146c5561e4a9dcb13f7e/ry_tool-1.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-10 22:08:01",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ry-tool"
}