Skip to main content

🌊 ReVibe

Multi-provider CLI coding agent with a clean, minimal interface.

PyPI Version Python Version License PRs Welcome

Features • Installation • Setup • Usage • Configuration


ReVibe is a high-performance command-line coding assistant powered by a wide range of Large Language Models. It provides a conversational interface to your codebase, enabling you to explore, refactor, and build complex features through natural language and a robust set of autonomous tools.

✨ Key Features

  • 🚀 Multi-Provider Ecosystem: Support for OpenAI, Mistral, Qwen, Cerebras, Groq, HuggingFace, Ollama, and LlamaCPP.
  • 🔄 Hot-Swapping: Switch providers and models instantly mid-session with /provider and /model.
  • 🎨 Modern TUI: A polished, minimal interface inspired by leading AI coding tools for zero distraction.
  • 🛠️ Autonomous Toolset: File system operations, advanced code search, git integration, and command execution.
  • 🛡️ Safe by Design: Granular tool permissions with an interactive approval system.
  • 🧩 MCP Support: Extend capabilities with Model Context Protocol servers.

🚀 Installation

Using uv (Recommended)

uv tool install revibe

Using pip

pip install revibe

From Source

git clone https://github.com/OEvortex/revibe.git
cd revibe
uv sync --all-extras
uv run revibe

🛠️ Setup

Quick Start

  1. Navigate to your project directory.
  2. Run revibe to start the onboarding process.
  3. ReVibe will automatically create your configuration at ~/.revibe/config.toml and prompt for necessary API keys.

🔑 Authentication & Environment Variables

ReVibe manages API keys in ~/.revibe/.env. You can also set them directly in your shell.

Provider Environment Variable Auth Method
OpenAI OPENAI_API_KEY API Key
Mistral MISTRAL_API_KEY API Key
Groq GROQ_API_KEY API Key
Cerebras CEREBRAS_API_KEY API Key
Hugging Face HUGGINGFACE_API_KEY API Key
Qwen None (Default) OAuth (via /auth in qwen CLI)
Ollama Not Required Local (Default: http://localhost:11434)
Llama.cpp Not Required Local (Default: http://localhost:8080)

[!TIP] For Qwen, install qwen-code if not installed: npm install -g @qwen-code/qwen-code@latest, then use /auth in qwen to authenticate, then you can close qwen and use qwencode provider in ReVibe.

📖 Usage

💬 Interactive Mode

Simply run revibe to enter the interactive TUI.

  • Multi-line Input: Use Ctrl+J or Shift+Enter for newlines.
  • File Referencing: Type @ to trigger fuzzy path autocompletion.
  • Direct Commands: Prefix with ! to execute shell commands (e.g., !npm test).

🤖 Programmatic Mode

Execute single prompts directly from your shell:

revibe --prompt "Explain the logic in @revibe/core/agent.py"

⚡ Slash Commands

Command Action
/provider Switch the active LLM provider
/model Change the model for the current provider
/config Open configuration settings
/status View session stats and token usage
/clear Reset conversation context
/exit Terminate the session

⚙️ Configuration

ReVibe uses TOML for configuration. It checks ./.revibe/config.toml first, then falls back to ~/.revibe/config.toml.

Example MCP Configuration
[[mcp_servers]]
name = "fetch_server"
transport = "stdio"
command = "uvx"
args = ["mcp-server-fetch"]

[[mcp_servers]]
name = "github"
transport = "http"
url = "https://mcp-github-server.com"
api_key_env = "GITHUB_TOKEN"
Customizing Agent Behavior

You can create specialized agents in ~/.revibe/agents/my_agent.toml:

active_model = "gpt-4o"
system_prompt_id = "architect"
disabled_tools = ["bash"]

[tools.read_file]
permission = "always"

Launch with revibe --agent my_agent.

Subagents

ReVibe supports delegated subagents through the task tool.

The built-in explore subagent is read-only and optimized for codebase analysis:

task(agent="explore", prompt="Find where agent profiles are loaded and explain the flow.")

You can also define custom subagents in ~/.revibe/agents/*.toml by setting:

agent_type = "subagent"
description = "Focused analysis agent"
system_prompt_id = "cli"

Any TOML agent profile marked with agent_type = "subagent" is exposed to the main agent and can be invoked with task(agent="name", prompt="...").

Custom Models

You can add custom model definitions without editing the source code by creating TOML files in ~/.revibe/models/ (or .revibe/models/ inside a trusted project).

Example analysis.toml:

name = "analysis-model"
provider = "mistral"
alias = "analysis"
context = 123456
max_output = 32768
supported_formats = ["native", "xml"]

ReVibe loads these files at startup and merges them into the available model list.

🖥️ Editor Integration

ReVibe supports the Agent Client Protocol (ACP), allowing it to act as a backend for compatible editors like Zed. See ACP Setup for instructions.

📄 License

Licensed under the Apache License, Version 2.0. See LICENSE for details.


Made with ❤️ by the ReVibe Contributors

Metadata

Release files for revibe 0.2.9

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

Source distribution (sdist)

Source distribution for revibe 0.2.9
File Size Uploaded
revibe-0.2.9.tar.gz 394.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for revibe 0.2.9
File Interpreter ABI Platform
revibe-0.2.9-py3-none-any.whl Python 3 none any Details

Total release size: 673.5 kB

Release files / revibe-0.2.9.tar.gz

Download URL revibe-0.2.9.tar.gz
Size 394.8 kB
Tags Source
SHA-256 checksum
How to use checksums
666ce6e7f5f40708a019be51d378a5976ddc4ceb369f9833ea83dfc92086476e
BLAKE2b-256 checksum
How to use checksums
f6ab14685c2bebd201c00bca227da27c68d6e5843c3049fcc6841750a56e609b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / revibe-0.2.9-py3-none-any.whl

Download URL revibe-0.2.9-py3-none-any.whl
Size 278.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2de2aa9e9b83a3934ef7ac49c0d22a92825e062d1228d8a49233d4d4ca9abf1a
BLAKE2b-256 checksum
How to use checksums
cf31d04e71d4a54bccefd8c759ae6d6dca63d2afe4741a9863020ef35089cd3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.2.9 This release

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.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