Skip to main content

Roura Agent

CI Python License PyPI

Local-first AI coding assistant with multi-provider support.

Roura Agent is a powerful terminal-based AI assistant for software development. It supports multiple LLM providers (Ollama, OpenAI, Anthropic) with native tool calling, giving you Claude Code-like capabilities with the flexibility to choose your provider.

Quick Start

# Install
pip install roura-agent

# Run with auto-detected provider
roura-agent

# Or specify a provider
OPENAI_API_KEY=xxx roura-agent
ANTHROPIC_API_KEY=xxx roura-agent
roura-agent --provider ollama

Features

Multi-Provider Support

Provider Setup Best For
Ollama Local install Privacy, no API costs
OpenAI API key GPT-4 quality
Anthropic API key Claude quality

Provider is auto-detected based on available credentials, or you can force one with --provider.

Agentic Loop

  • Multi-turn execution - Works iteratively until your task is complete
  • Native tool calling - Direct integration with modern LLMs
  • Context-aware - Tracks files you've read and modified
  • Session persistence - Auto-saves conversations, resume with /resume

45+ Development Tools

  • File operations - Read, write, edit files with visual diff preview
  • Git integration - Status, diff, log, add, commit
  • Shell commands - Execute with safety guardrails
  • Search - Glob patterns and grep across your codebase
  • GitHub - List, view, and create PRs and issues
  • Jira - Search, view, create, and transition issues

Safety & Control

  • Approval gates - Review and approve changes before they happen
  • Visual diffs - See exactly what will change
  • Undo support - Restore previous file versions with /undo
  • Read-before-modify - Files must be read before they can be edited
  • Secrets detection - Blocks credential commits
  • Blast radius limits - --allow and --block patterns
  • Dry-run mode - Preview all changes with --dry-run
  • Read-only mode - Block all modifications with --readonly

User Experience

  • Rich TUI - Beautiful terminal interface with colors and formatting
  • Streaming responses - See output as it's generated
  • Progress indicators - Elapsed time display during operations
  • Token tracking - Monitor context usage

Installation

From PyPI (Recommended)

pip install roura-agent

From Source

git clone https://github.com/roura-io/roura-agent.git
cd roura-agent
pip install -e .

Provider Setup

Option 1: Ollama (Local, Free)

# Install Ollama from ollama.com
curl -fsSL https://ollama.com/install.sh | sh

# Pull a model
ollama pull qwen2.5-coder:32b

# Set environment
export OLLAMA_MODEL=qwen2.5-coder:32b

Option 2: OpenAI

export OPENAI_API_KEY=sk-...
export OPENAI_MODEL=gpt-4o  # optional, defaults to gpt-4o

Option 3: Anthropic

export ANTHROPIC_API_KEY=sk-ant-...
export ANTHROPIC_MODEL=claude-sonnet-4-20250514  # optional

Usage

# Start in your project directory
cd /path/to/your/project
roura-agent

# Example interactions:
> Read the main entry point and explain what it does
> Fix the bug in the login function
> Add input validation to the user form
> Create a new API endpoint for user profiles

CLI Options

roura-agent [OPTIONS]

Options:
  -p, --provider TEXT    LLM provider: ollama, openai, anthropic
  -s, --safe-mode        Disable dangerous tools
  -n, --dry-run          Preview changes without writing
  -r, --readonly         Block all file modifications
  -a, --allow TEXT       Only allow modifications to matching globs
  -b, --block TEXT       Block modifications to matching globs
  -d, --debug            Enable debug logging

Interactive Commands

Command Description
/help Show help information
/context Show files in context
/undo Undo last file change
/clear Clear conversation
/tools List available tools
/history Show recent sessions
/resume [id] Resume a previous session
/export [format] Export session (json/markdown)
exit Quit the agent

Subcommands

roura-agent doctor       # Run system health checks
roura-agent setup        # Interactive configuration wizard
roura-agent config       # Show current configuration
roura-agent tools        # List all tools with risk levels
roura-agent ping         # Test Ollama connectivity
roura-agent project      # Show project information

Configuration

Configuration is stored in ~/.config/roura-agent/:

roura-agent setup  # Interactive configuration wizard

Environment Variables

Variable Description Default
ROURA_PROVIDER Default provider auto-detect
OLLAMA_BASE_URL Ollama endpoint http://localhost:11434
OLLAMA_MODEL Ollama model -
OPENAI_API_KEY OpenAI API key -
OPENAI_MODEL OpenAI model gpt-4o
ANTHROPIC_API_KEY Anthropic API key -
ANTHROPIC_MODEL Anthropic model claude-sonnet-4-20250514

Comparison

Feature Roura Agent Claude Code Cursor Aider
Multi-provider Yes No Limited Yes
Local LLM support Yes No No Yes
Privacy (local mode) Yes No No Yes
Native tool calling Yes Yes Limited Yes
Session persistence Yes Yes No Yes
Undo support Yes Yes No No
Git integration Yes Yes Limited Yes
GitHub/Jira Yes Yes No No
Safety controls Yes Yes Limited Limited
Free tier Yes (Ollama) No No No

Development

Running Tests

pip install -e ".[dev]"
pytest tests/ -v

Code Quality

ruff check roura_agent/
pyright roura_agent/

License

MIT License - See LICENSE for details.

Support

Metadata

Release files for roura-agent 5.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for roura-agent 5.0.2
File Size Uploaded
roura_agent-5.0.2.tar.gz 423.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for roura-agent 5.0.2
File Interpreter ABI Platform
roura_agent-5.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 917.6 kB

Release files / roura_agent-5.0.2.tar.gz

Download URL roura_agent-5.0.2.tar.gz
Size 423.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ceb0249e0e85c788bbb07aa7e53694f7f1890a5786ae1edbcef6494f34681b90
BLAKE2b-256 checksum
How to use checksums
2305a81ea7aa52ebf7312b17bc809955dd26790b50c5150b90889ae14ff14727
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / roura_agent-5.0.2-py3-none-any.whl

Download URL roura_agent-5.0.2-py3-none-any.whl
Size 494.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4d629eb99afd480dfcaeb13dbf6bd0acef5adf148ef50a3c97feaa8aa8acada5
BLAKE2b-256 checksum
How to use checksums
e486bb2a7b17fcb1321205cc0040bccb0a40c3051d493e74cd13afa3880ce35e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

5.0.2 This release

2 release files

4.1.2

2 release files

4.1.1

2 release files

4.1.0

2 release files

3.5.2

2 release files

3.5.1

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page