vibe-devops
An open-source AI terminal agent for automated VPS management and self-healing Docker deployments.
Links
README
From the repo.
vibe-devops
An open-source AI terminal agent for automated DevOps tasks.
Features
- Natural Language to Shell: Convert plain English requests into executable shell commands.
- Multi-Provider AI: Choose your AI brain - Gemini, OpenAI (GPT-4o), or Ollama (local/offline).
- Smart Streaming: Real-time streaming of AI explanations with clean output (no raw JSON).
- System Diagnostics:
vibe diagnosechecks disk, RAM, Docker, network, services with AI analysis. - Log Analysis:
vibe logswith highlighting, JSON parsing, error detection, and AI analysis. - Git Safety Net: Auto-checkpoint before AI sessions,
vibe undoto rollback changes. - Dangerous Command Guard: Block/warn rm -rf, auto-backup before destructive commands.
- Context Providers: Use
@file,@git,@system,@logsto inject context into your requests. - Safety First: Shows every command for confirmation before execution.
- Cross-Platform: Works on Linux, macOS, and Windows.
Installation
One-Line Install (Linux & macOS)
You can install vibe with a single command. This will download the latest release and place it in /usr/local/bin.
Prerequisites: curl must be installed.
curl -sSL https://raw.githubusercontent.com/phamdaiminhquan/vibe-devops/main/install.sh | sh
Build from Source
If you prefer, you can build from source:
# Clone the repository
git clone https://github.com/phamdaiminhquan/vibe-devops.git
cd vibe-devops
# Build the binary
go build -o vibe
Usage
1. Initialize Vibe
First, navigate to your project directory and run vibe init. This will create a .vibe.yaml file.
# Initialize in the current directory
vibe init .
2. Configure Your API Key
Use the config command to select a provider and set your Gemini API key.
# Select provider
vibe config provider gemini
# Set API key (will validate and prompt you to choose a model)
vibe config api-key "YOUR_GEMINI_API_KEY"
3. Run Commands
Now you can make requests in natural language. Vibe will generate a shell command, ask for your confirmation, and then execute it.
vibe "list all running docker containers"
By default, vibe run uses agent mode (read-only tools like listing/reading files) and self-heal (can iterate after execution using the command output when troubleshooting).
To disable agent mode (simple single-shot command suggestion):
vibe --agent=false "list all running docker containers"
For troubleshooting-style questions, self-heal helps Vibe read command output and continue iterating until it can explain the root cause:
vibe "explain why service X is not running"
To disable self-heal:
vibe --self-heal=false "explain why service X is not running"
4. Use Context Providers
Inject relevant context directly into your request using @mentions:
# Include file content
vibe "@file main.go fix the bug on line 42" --agent
# Include git status
vibe "@git status commit these changes" --agent
# Include system info
vibe "@system os install docker" --agent
# Include log analysis (auto-highlights errors)
vibe "@logs app.log:100 what's wrong?" --agent
5. System Diagnostics
Run comprehensive health checks on your system:
# Basic diagnostics (disk, RAM, Docker, network, services)
vibe diagnose
# With AI analysis for issues
vibe diagnose --ai
6. Log Analysis
View and analyze log files with highlighting:
vibe logs /var/log/nginx/error.log # View with colors
vibe logs --tail 50 app.log # Last 50 lines
vibe logs --errors app.log # Errors only
vibe logs --analyze app.log # AI analysis
7. Git Safety Net
Vibe automatically creates checkpoints before AI sessions:
vibe undo # Interactive: select checkpoint to restore
vibe undo --last # Restore last checkpoint
vibe undo --list # List all checkpoints
8. Restore from Backups
Restore files backed up before dangerous commands:
vibe restore # Interactive restore
vibe restore --list # List backups
vibe restore --cleanup # Remove old backups
9. Switch Models
To switch the configured model later:
# Interactive picker
vibe model
# Or set directly
vibe model gemini-1.5-pro
# List available models
vibe model --list
Agent mode can also persist a compact memory across runs (rolling summary + recent context). By default it uses both:
- project scope:
./.vibe/sessions/<session>.json - global scope:
~/.vibe/sessions/<session>.json
Useful flags:
# Choose a session name (default: "default")
vibe --session fincap "why is fincap-api not running"
# Control scope: none|project|global|both
vibe --session-scope both "..."
# Control context size (approx chars + max lines for the recent tail)
vibe --context-budget 8000 --context-recent-lines 40 "..."
# Disable reading previous memory but still write updates
vibe --resume=false "..."
# Disable persistence entirely
vibe --no-session "..."
Example Interaction:
$ vibe run "show me the last 5 git commits with their author"
🤖 Calling AI to generate command...
ℹ️ Note: Currently, Vibe only interprets the command you send without any additional context.
Vibe suggests the following command:
git log -5 --pretty=format:"%h - %an, %ar : %s"
Do you want to execute it? (y/N) y
Executing command...
a1b2c3d - John Doe, 2 hours ago : feat: add awesome new feature
e4f5g6h - Jane Smith, 5 hours ago : fix: resolve bug in user auth
i7j8k9l - John Doe, 1 day ago : docs: update installation guide
m1n2o3p - Jane Smith, 2 days ago : refactor: improve database queries
q4r5s6t - John Doe, 2 days ago : chore: release version 0.1.0
✅ Command executed successfully.
Contributing
Contributions are welcome! Please read our CONTRIBUTING.md file for our core principles and development guidelines.
License
This project is licensed under the terms specified in the LICENSE file.
Collected info
- ★ 16 stars
- ⎇ 4 forks
- Language: Go
- Source updated: 6/13/2026
Config for your environment
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.