Skip to main content

Open Source Model-Independent Alternative to Claude Code

Project description

UnClaude ๐Ÿค–

The Open Source, Model-Independent AI Engineer
Your Data. Your Models. Your Rules.

License Python Version

UnClaude is a powerful Agentic Coding Assistant that runs entirely on your machine. It connects to any LLM (Gemini, OpenAI, Anthropic, DeepSeek, Ollama) and provides a fully autonomous pair programmer with memory, browser automation, and multi-agent capabilities.


๐Ÿš€ Quick Start

# Install
pipx install unclaude

# Configure (one-time setup)
unclaude login

# Start coding
unclaude chat "Build me a REST API in FastAPI"

โœจ Features

๐ŸŒŸ Model Independence

Use any LLM provider without lock-in. Switch between models instantly:

unclaude chat --provider gemini "Fast draft this code"
unclaude chat --provider openai "Review and optimize it"
unclaude chat --provider ollama "Run locally, offline"

Supports: Gemini, GPT-4o, Claude, DeepSeek, Llama, Mistral, Ollama, and 100+ more via LiteLLM


๐Ÿง  Infinite Memory

UnClaude remembers everything across sessions using a local SQLite database:

# Explicitly save important facts
unclaude chat "Remember: production API key is in .env.prod"

# Query your history
unclaude chat "What tasks have I done this week?"

Memory is project-scoped for speed: it prioritizes context from your current directory.


๐Ÿค– Ralph Mode (Autonomous Engineering)

Give it a task. Walk away. Come back to working code.

unclaude ralph "Build a Snake game in Python with pygame" --feedback "python3 snake.py"

Ralph Mode does:

  1. ๐Ÿ“ Plans: Generates a TASK.md blueprint
  2. ๐Ÿ’ป Codes: Writes multi-file implementations
  3. โœ… Tests: Runs your feedback command (tests, linters)
  4. ๐Ÿ”ง Self-Heals: Analyzes failures and fixes bugs automatically

๐ŸŒ Browser Automation

UnClaude has eyes. It can see and interact with web applications:

unclaude chat "Open localhost:3000, click the login button, and take a screenshot"

Capabilities:

  • Open URLs and navigate
  • Click, type, and interact with elements
  • Take screenshots for visual verification
  • Read page content and extract data

Powered by Playwright


๐Ÿ”€ Git Integration

Full version control from within the agent:

unclaude chat "Show me the git diff and commit with message 'Fix auth bug'"

Supported actions: status, diff, add, commit, push, branch, checkout, log


๐Ÿ‘ฅ Subagents

Spawn specialized agents for focused tasks:

unclaude chat "Use the reviewer subagent to analyze my authentication code"

Built-in templates:

Template Purpose
reviewer Code review for bugs and style
tester Write comprehensive tests
documenter Generate documentation
debugger Investigate and fix bugs

โšก Background Agents

Run long tasks without blocking your terminal:

# Start a background task
unclaude background "Refactor all Python files to use type hints"

# Check status later
unclaude jobs

๐Ÿ”Œ Hooks System

Automate workflows with pre/post tool hooks:

# .unclaude/hooks.yaml
hooks:
  - name: auto-format
    event: post_tool
    tool: file_edit
    command: "ruff format ."
    
  - name: auto-test
    event: post_tool
    tool: file_write
    command: "pytest -x"

๐Ÿ–ฅ๏ธ Headless Mode (CI/CD)

Run UnClaude in non-interactive pipelines:

# For scripts and automation
unclaude chat "Generate unit tests for api.py" --headless --json

Output is clean JSON:

{"response": "I've created tests in test_api.py...", "success": true}

๐ŸŽฏ Skills (Reusable Workflows)

Define repeatable AI workflows as YAML:

# Create a new skill
unclaude skills --create deploy-prod

# List available skills  
unclaude skills --list

# Run a skill
unclaude skills --run deploy-prod

Skill file example (~/.unclaude/skills/deploy-prod.yaml):

name: deploy-prod
description: Deploy to production with tests

steps:
  - description: Run all tests
    command: npm test
    
  - description: Build for production
    command: npm run build
    
  - description: Deploy to server
    command: ssh prod "cd app && git pull && pm2 restart all"

You can also define skills inline in your UNCLAUDE.md:

## Skills

skill: format-code
description: Format all code files
1. Run prettier on TypeScript files `npx prettier --write "**/*.ts"`
2. Run black on Python files `black .`
3. Run gofmt on Go files `gofmt -w .`

๐Ÿ”Œ Plugins

Extend UnClaude with custom plugins:

# Create a plugin
unclaude plugins --create my-plugin

# List plugins
unclaude plugins --list

Plugins can add new tools, modify behavior, or integrate with external services.


๐ŸŒ MCP (Model Context Protocol)

Connect to external MCP servers for extended capabilities:

# Create MCP config template
unclaude mcp --init

# List configured servers
unclaude mcp --list

MCP config (~/.unclaude/mcp.json):

{
  "servers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {"GITHUB_TOKEN": "your-token"}
    }
  }
}

๐Ÿ“ Project Configuration

Create an UNCLAUDE.md in your project root:

# Project: My App

## Commands
- `npm run dev` - Start development server
- `npm test` - Run tests

## Architecture
- Frontend: React + TypeScript
- Backend: FastAPI

UnClaude automatically reads this for project context.


๐Ÿ“ฆ Installation

Recommended

pipx install unclaude

Alternatives

# Using pip
pip install unclaude

# From source (for development)
git clone https://github.com/anzal1/unclaude.git
cd unclaude && pip install -e .

Browser Support

playwright install chromium

โš™๏ธ Configuration

# Interactive setup
unclaude login

Or use environment variables:

export GEMINI_API_KEY="your-key"
export OPENAI_API_KEY="your-key"

๐Ÿ› ๏ธ All Commands

Command Description
unclaude chat Interactive chat session
unclaude ralph Autonomous task completion
unclaude plan Generate execution plan only
unclaude background Run task in background
unclaude jobs Check background job status
unclaude login Configure API keys
unclaude init Create UNCLAUDE.md template
unclaude plugins Manage plugins
unclaude skills Manage reusable workflows
unclaude mcp Configure MCP servers

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              UnClaude CLI               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  AgentLoop (Orchestrator)               โ”‚
โ”‚  โ”œโ”€โ”€ ContextLoader (UNCLAUDE.md)        โ”‚
โ”‚  โ”œโ”€โ”€ MemoryStore (SQLite)               โ”‚
โ”‚  โ”œโ”€โ”€ HooksEngine (pre/post automation)  โ”‚
โ”‚  โ””โ”€โ”€ Tool Registry                      โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Tools                                  โ”‚
โ”‚  โ”œโ”€โ”€ File (read, write, edit, grep)     โ”‚
โ”‚  โ”œโ”€โ”€ Bash (terminal execution)          โ”‚
โ”‚  โ”œโ”€โ”€ Git (version control)              โ”‚
โ”‚  โ”œโ”€โ”€ Browser (Playwright)               โ”‚
โ”‚  โ”œโ”€โ”€ Memory (search, save)              โ”‚
โ”‚  โ”œโ”€โ”€ Subagent (spawn specialists)       โ”‚
โ”‚  โ””โ”€โ”€ Web (fetch, search)                โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  LiteLLM (100+ Model Providers)         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿค Contributing

We welcome contributions! See CONTRIBUTING.md.

git clone https://github.com/anzal1/unclaude.git
cd unclaude
pip install -e ".[dev]"
pytest

๐Ÿ“„ License

Apache 2.0 โ€” Open Source forever.


Built with โค๏ธ by Anzal & The Community

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

unclaude-0.3.1.tar.gz (387.2 kB view details)

Uploaded Source

Built Distribution

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

unclaude-0.3.1-py3-none-any.whl (75.6 kB view details)

Uploaded Python 3

File details

Details for the file unclaude-0.3.1.tar.gz.

File metadata

  • Download URL: unclaude-0.3.1.tar.gz
  • Upload date:
  • Size: 387.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for unclaude-0.3.1.tar.gz
Algorithm Hash digest
SHA256 46cb92a6c0f7450718d9bbeacaece472b557f81c070bd3669453a42f24372fc0
MD5 f9f080c5047f7843b3ae30565f55e422
BLAKE2b-256 48a2771c8ee2c336f3314242f8093ae31c638d02496579578d2ab60d6f64f4af

See more details on using hashes here.

Provenance

The following attestation bundles were made for unclaude-0.3.1.tar.gz:

Publisher: publish.yml on anzal1/unclaude

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unclaude-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: unclaude-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 75.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for unclaude-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9af97073f6ba158c4e4f0ba4194a13dfd00d01ea45f88e0889ba4a5073a5d7f1
MD5 8ce8a57b6d2597034791807a20d6c66d
BLAKE2b-256 d5f7d54b444c4693ae1a0f194df90093154774edc59d068ec8fabba6260b7a23

See more details on using hashes here.

Provenance

The following attestation bundles were made for unclaude-0.3.1-py3-none-any.whl:

Publisher: publish.yml on anzal1/unclaude

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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