Skip to main content

ReVibe - Multi-provider CLI coding agent

Project description

🌊 ReVibe

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

PyPI Version Python Version License PRs Welcome

FeaturesInstallationSetupUsageConfiguration


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

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

revibe-0.2.9.tar.gz (394.8 kB view details)

Uploaded Source

Built Distribution

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

revibe-0.2.9-py3-none-any.whl (278.6 kB view details)

Uploaded Python 3

File details

Details for the file revibe-0.2.9.tar.gz.

File metadata

  • Download URL: revibe-0.2.9.tar.gz
  • Upload date:
  • Size: 394.8 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for revibe-0.2.9.tar.gz
Algorithm Hash digest
SHA256 666ce6e7f5f40708a019be51d378a5976ddc4ceb369f9833ea83dfc92086476e
MD5 958171d1d2b34dd7c43b7540598fb05a
BLAKE2b-256 f6ab14685c2bebd201c00bca227da27c68d6e5843c3049fcc6841750a56e609b

See more details on using hashes here.

File details

Details for the file revibe-0.2.9-py3-none-any.whl.

File metadata

  • Download URL: revibe-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 278.6 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for revibe-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 2de2aa9e9b83a3934ef7ac49c0d22a92825e062d1228d8a49233d4d4ca9abf1a
MD5 3dc8fe87cbe2af76110a3db8757fe1ef
BLAKE2b-256 cf31d04e71d4a54bccefd8c759ae6d6dca63d2afe4741a9863020ef35089cd3a

See more details on using hashes here.

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