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
- 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
Install from git repository:
pip install git+https://github.com/quantmew/ripperdoc.gitOr install from source:
# Clone the repository
git clone https://github.com/quantmew/ripperdoc.git
cd ripperdoc
# Install from source
pip install -e .ripperdoc
# or use the short alias
rdThis 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
Use Ripperdoc without the terminal UI via the new Python SDK. See docs/SDK_USAGE.md for examples of the one-shot query helper and the session-based RipperdocClient. 中文指南见 docs/SDK_USAGE_CN.md。
- 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 is enabled by default. When prompted:
- Type
yoryesto allow a single operation - Type
aoralwaysto allow all operations of that type for the session - Type
nornoto deny the operation
Use --yolo flag to skip all permission prompts:
ripperdoc --yoloExtend 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.mdstarts with YAML frontmatter:name- Skill identifierdescription- What the skill doesallowed-tools(optional) - Restrict which tools the skill can usemodel(optional) - Suggest a specific model for this skillmax-thinking-tokens(optional) - Control thinking budgetdisable-model-invocation(optional) - Use skill without calling the model
- Add supporting files alongside
SKILL.mdas needed - Skills are auto-discovered and loaded on demand via the
Skilltool
Built-in skills: PDF manipulation (pdf), PowerPoint (pptx), Excel (xlsx)
> Can you explain what this function does?
> Find all references to the `parse_config` function
> Read the main.py file and suggest improvements
> Create a new component called UserProfile.tsx
> Update all imports to use the new package structure
> 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
> Show me all the Python files in the project
> Find where the user authentication logic is implemented
> List all API endpoints in the project
> What MCP servers are available?
> Query the context7 documentation for React hooks
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Type checking
mypy ripperdoc
# Code formatting
black ripperdoc
# Linting
ruff ripperdocThis project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- 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.
Inspired by:
- Claude Code - Anthropic 官方 CLI
- aider - AI pair programming tool