🌊 ReVibe
Multi-provider CLI coding agent with a clean, minimal interface.
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
/providerand/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
- Navigate to your project directory.
- Run
revibeto start the onboarding process. - ReVibe will automatically create your configuration at
~/.revibe/config.tomland 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/authin 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+JorShift+Enterfor 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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| revibe-0.2.9.tar.gz | 394.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|