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.2.tar.gz (24.2 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.2-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ollama_coder-0.2.2.tar.gz
  • Upload date:
  • Size: 24.2 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.2.tar.gz
Algorithm Hash digest
SHA256 747c4aabd8b2d2fd8c342b5ba773e7a820b0b4c9c6de773703cd567e273adc76
MD5 aa10368fcc4d9b5fc76a827224672a5b
BLAKE2b-256 de74a4b183469ba5327305a9d3a6f730bdde449906605cce103d441210c14fb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_coder-0.2.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: ollama_coder-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 23.1 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e3927a84102e543db02c2e5ddbf3af7b58019350fbba71b0f8fdcd9fbd7db8ba
MD5 52f40d3dc2f100434d6f42588240ff99
BLAKE2b-256 7331543e32078ce5c76bec2e61d7ed540be24d0bcc260afec516d590827fe396

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_coder-0.2.2-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