Skip to main content

AI-powered terminal assistant for coding tasks

Project description

Ripperdoc

an open-source, extensible AI coding agent that runs in your terminal

GitHub stars

Ripperdoc is your on-machine AI coding assistant, similar to Claude Code, Codex, Gemini CLI, Aider, and Goose. It can write code, refactor projects, execute shell commands, and manage files - all through natural language conversations in your terminal.

Designed for maximum flexibility, Ripperdoc works with any LLM (Anthropic Claude, OpenAI, DeepSeek, local models via OpenAI-compatible APIs), supports custom hooks to intercept and control tool execution, and offers both an interactive CLI and a Python SDK for headless automation.

中文文档 | Contributing | Documentation

Features

  • AI-Powered Assistance - Uses AI models to understand and respond to coding requests
  • Multi-Model Support - Support for Anthropic Claude and OpenAI models
  • Rich UI - Beautiful terminal interface with syntax highlighting
  • Code Editing - Directly edit files with intelligent suggestions
  • Codebase Understanding - Analyzes project structure and code relationships
  • Command Execution - Run shell commands with real-time feedback
  • Tool System - Extensible architecture with specialized tools
  • Agent Skills - Load SKILL.md bundles to extend the agent on demand
  • Subagents - Delegate tasks to specialized agents with their own tool scopes
  • File Operations - Read, write, edit, search, and manage files
  • Todo Tracking - Plan, read, and update persistent todo lists per project
  • Background Commands - Run commands in background and monitor output
  • Permission System - Safe mode with permission prompts for operations
  • Multi-Edit Support - Batch edit operations on files
  • MCP Server Support - Integration with Model Context Protocol servers
  • Session Management - Persistent session history and usage tracking
  • Jupyter Notebook Support - Edit .ipynb files directly
  • Hooks System - Execute custom scripts at lifecycle events with decision control
  • Custom Commands - Define reusable slash commands with parameter substitution

Installation

Quick Installation

Install from git repository:

pip install git+https://github.com/quantmew/ripperdoc.git

Or install from source:

# Clone the repository
git clone https://github.com/quantmew/ripperdoc.git
cd ripperdoc

# Install from source
pip install -e .

Usage

Interactive Mode (Recommended)

ripperdoc
# or use the short alias
rd

This launches an interactive session where you can:

  • Ask questions about your codebase
  • Request code modifications
  • Execute commands
  • Navigate and explore files

Options:

  • --yolo - Skip permission prompts (safe mode is on by default)
  • --model <model_name> - Specify a model (e.g., claude-sonnet-4-20250514, gpt-4o)
  • --tools <tool_list> - Filter available tools (comma-separated, or "" for none)
  • --no-mcp - Disable MCP server integration
  • --verbose - Enable verbose logging

Python SDK (headless)

Use Ripperdoc without the terminal UI via the Python SDK. See SDK Documentation for examples of the one-shot query helper and the session-based RipperdocClient.

SDK Examples

  • Basic Usage: Simple one-shot queries
  • Session Management: Persistent sessions with context
  • Tool Integration: Direct tool access and customization
  • Configuration: Custom model providers and settings

See the examples/ directory for complete SDK usage examples.

Safe Mode Permissions

Safe mode is enabled by default. When prompted:

  • Type y or yes to allow a single operation
  • Type a or always to allow all operations of that type for the session
  • Type n or no to deny the operation

Use --yolo flag to skip all permission prompts:

ripperdoc --yolo

Agent Skills

Extend Ripperdoc with reusable Skill bundles:

  • Personal skills: ~/.ripperdoc/skills/<skill-name>/SKILL.md
  • Project skills: .ripperdoc/skills/<skill-name>/SKILL.md (can be checked into git)
  • Each SKILL.md starts with YAML frontmatter:
    • name - Skill identifier
    • description - What the skill does
    • allowed-tools (optional) - Restrict which tools the skill can use
    • model (optional) - Suggest a specific model for this skill
    • max-thinking-tokens (optional) - Control thinking budget
    • disable-model-invocation (optional) - Use skill without calling the model
  • Add supporting files alongside SKILL.md as needed
  • Skills are auto-discovered and loaded on demand via the Skill tool

Built-in skills: PDF manipulation (pdf), PowerPoint (pptx), Excel (xlsx)

Examples

Code Analysis

> Can you explain what this function does?
> Find all references to the `parse_config` function

File Operations

> Read the main.py file and suggest improvements
> Create a new component called UserProfile.tsx
> Update all imports to use the new package structure

Code Generation

> Create a new Python script that implements a REST API client
> Generate unit tests for the auth module
> Add error handling to the database connection code

Project Navigation

> Show me all the Python files in the project
> Find where the user authentication logic is implemented
> List all API endpoints in the project

MCP Integration

> What MCP servers are available?
> Query the context7 documentation for React hooks

Development

Setup Development Environment

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Type checking
mypy ripperdoc

# Code formatting
black ripperdoc

# Linting
ruff ripperdoc

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Key License Terms

  • Commercial Use: Permitted
  • Distribution: Permitted
  • Modification: Permitted
  • Patent Grant: Included
  • Private Use: Permitted
  • Sublicensing: Permitted
  • Trademark Use: Not granted

For full license terms and conditions, please refer to the LICENSE file.

Credits

Inspired by:

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

ripperdoc-0.3.3.tar.gz (449.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ripperdoc-0.3.3-py3-none-any.whl (465.8 kB view details)

Uploaded Python 3

File details

Details for the file ripperdoc-0.3.3.tar.gz.

File metadata

  • Download URL: ripperdoc-0.3.3.tar.gz
  • Upload date:
  • Size: 449.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ripperdoc-0.3.3.tar.gz
Algorithm Hash digest
SHA256 c8a294be9fef8d4a010380c638eaeac744a67ace59d191ea174e6e2d3a16f8fe
MD5 a0d931fe4116eade7012c2f46700cd2a
BLAKE2b-256 6b51cc9af228f9a1c2608e406a79a8247a9ba0962b4b8c8d7057e3bde3c13cab

See more details on using hashes here.

File details

Details for the file ripperdoc-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: ripperdoc-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 465.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ripperdoc-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 97128a79dd90fe4dc87062407fd274181ae7b03be4dc79c329e5c243b13a1374
MD5 13b790f8595499da70b200b1c2cc484d
BLAKE2b-256 2b5725860d0a6a99a2b2432ba18d0e000266a2660eb46312bf7a4110dc27593d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page