Skip to main content

Agentic coding assistant for Ollama - Claude Code alternative

Project description

OllamaCoder 🦙💻

OllamaCoder Screenshot

An agentic coding assistant for Ollama - like Claude Code, but running locally!

OllamaCoder transforms your local Ollama models into a powerful autonomous coding agent with tool use, multi-step task execution, and project-aware context.

✨ Features

  • 🤖 Agentic Architecture: Autonomous multi-step task execution with planning, execution, and verification
  • 🔧 Full Tool System: bash, file operations, git, code search, web search, and more
  • 💭 Think Tool: Structured reasoning for complex problems (like extended thinking)
  • 📝 Multi-Edit: Batch file edits in a single operation
  • 🔄 Autonomous Mode: Let the AI work through complex tasks independently
  • ⚙️ Hierarchical Config: User and project-level settings with OLLAMA.md context files
  • 🌐 Remote Ollama: Connect to remote Ollama servers via OLLAMA_HOST
  • 💾 Persistent History: Conversation history saved across sessions
  • 🎨 Rich Output: Beautiful terminal output with syntax highlighting (optional)

📦 Install

From PyPI:

```bash pip install ollama-coder ```

For enhanced terminal output (recommended):

```bash pip install ollama-coder rich ```

For local development:

```bash git clone https://github.com/lalomorales22/ollama-coder.git cd ollama-coder pip install -e . ```

🚀 Quick Start

```bash

Start interactive mode

ollama-coder

Start with autonomous mode enabled

ollama-coder --auto

Run a single command (headless mode)

ollama-coder -p "fix the bug in app.py"

Use a specific model

ollama-coder --model codellama:13b

Work in a specific directory

ollama-coder --dir /path/to/project ```

🛠️ Available Tools

Tool Description
`think` Structured reasoning for complex problems
`bash` Execute shell commands
`read_file` Read file contents with optional line ranges
`write_file` Create or overwrite files
`edit_file` Make surgical edits using find/replace
`multi_edit` Batch multiple edits in one operation
`list_directory` Explore project structure
`search_code` Search for patterns using grep/ripgrep
`git` Version control operations
`web_search` Search the web (when configured)

⌨️ Commands

Command Description
`/auto` Toggle autonomous mode
`/model` Show or set the active model
`/models` List installed Ollama models
`/host` Show or set the Ollama host
`/config` Show current configuration
`/clear` Clear conversation history
`/help` Show available commands
`/quit` Exit OllamaCoder

⚙️ Configuration

User config: `~/.ollamacode/settings.json`

```json { "model": "llama3.3:latest", "max_iterations": 25, "max_tool_rounds": 8, "temperature": 0.7, "ollama": { "host": "http://127.0.0.1:11434", "timeout_sec": 60 }, "web_search": { "enabled": false, "provider": "custom", "endpoint": "", "api_key": "" } } ```

Project Context

Create `OLLAMA.md` files to provide project-specific context:

  • `~/.ollamacode/OLLAMA.md` - User-level context (applies to all projects)
  • `.ollamacode/OLLAMA.md` - Project-level context (in your project root)

🔌 Remote Ollama

Connect to remote Ollama servers:

```bash

Via environment variable

export OLLAMA_HOST=http://your-server:11434 ollama-coder

Or use the /host command

ollama-coder

/host http://your-server:11434 ```

📋 Requirements

  • Python 3.9+
  • Ollama server running locally or accessible remotely
  • Optional: `rich` package for enhanced terminal output

🔄 Comparison with Claude Code

Feature OllamaCoder Claude Code
Local/Private
Free
Tool Use
Autonomous Mode
Thinking Tool
Multi-Edit
Web Search
Project Context
Image Analysis
MCP Support 🔜

📝 License

MIT

🔗 Links

📤 Publishing

Version bumping and publishing is automated via GitHub Actions. Just:

  1. Bump version in `pyproject.toml` and `ollama_coder/init.py`
  2. Commit and push
  3. Create and push a tag: ```bash git tag v0.1.3 git push origin v0.1.3 ```

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

ollama_coder-0.2.1.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

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

ollama_coder-0.2.1-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file ollama_coder-0.2.1.tar.gz.

File metadata

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

File hashes

Hashes for ollama_coder-0.2.1.tar.gz
Algorithm Hash digest
SHA256 78b5700d57a3650e97b7fcbb02bbc5ea448432b7d2292d920a51ed102c036bd1
MD5 60b29d4b87e7f4e774d61e4727208a2f
BLAKE2b-256 232e41e68f82650217ae4438ed455c487e95ccd57c68546e45990e601b4cc2ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_coder-0.2.1.tar.gz:

Publisher: publish.yml on lalomorales22/ollama-coder

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

File details

Details for the file ollama_coder-0.2.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for ollama_coder-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d0926333c24af946b33a4ab2caa6310ae97c0ae97144e7808f634553ca9fd55
MD5 ace819648e37b60a366ac17a175dc3fd
BLAKE2b-256 78ea46598a7695af3ca701d40bea8b18819e1632ac2a4e7f3294d85509506bd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_coder-0.2.1-py3-none-any.whl:

Publisher: publish.yml on lalomorales22/ollama-coder

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