ry-tool


Namery-tool JSON
Version 1.2.1 PyPI version JSON
download
home_pageNone
SummaryPure YAML command orchestrator - CI/CD for humans
upload_time2025-09-10 22:08:01
maintainerNone
docs_urlNone
authorFredrik Angelsen
requires_python>=3.12
licenseNone
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"
}
        
Elapsed time: 1.85808s