VibeCoding
A terminal-based AI coding assistant. Each PyPI wheel includes a platform-native vibecoding binary — just install and run.
Installation
pip install vibecoding-installer
Or with an isolated environment:
pipx install vibecoding-installer
After installation, the vibecoding command is available on your PATH.
Quick Start
# Set your API key
export DEEPSEEK_API_KEY=sk-...
# Start an interactive session
vibecoding
# Or ask a question directly
vibecoding -P "Write a Go HTTP server"
Choose Your Mode
Every session runs in one of three modes, switchable anytime with Tab or /mode:
| Mode | Files | Network | Best For |
|---|---|---|---|
| Plan | Read-only | ✗ | Analysis, code review, safe exploration |
| Agent | Read/Write | ✗ | Daily development (default) |
| YOLO | Full | ✓ | System administration, automation |
vibecoding --mode plan # read-only
vibecoding --mode agent # standard (default)
vibecoding --mode yolo # full access
Multi-Provider Support
Switch providers with a single flag:
# DeepSeek (default)
vibecoding --provider deepseek-openai --model deepseek-v4-flash
# OpenAI
vibecoding --provider openai --model gpt-4o
# Anthropic
vibecoding --provider anthropic --model claude-3-5-sonnet-20241022
# 20+ vendor adapters supported: Gemini, Kimi, Volcengine, Mistral,
# OpenRouter, Groq, Bedrock, GitHub Copilot, and more
Session Management
VibeCoding persists conversation history in SQLite with branching support:
vibecoding # start new session
vibecoding --continue # resume last session
vibecoding --resume <id> # resume a specific session
vibecoding --session <file> # open a specific session file
Sessions live in ~/.vibecoding/sessions/ (Linux/macOS) or %APPDATA%\vibecoding\sessions\ (Windows).
Print / CI Mode
Use VibeCode in non-interactive mode for scripting and CI/CD:
vibecoding -P "Write unit tests for auth.go"
vibecoding -P "Generate a CHANGELOG from git log" > CHANGELOG.md
echo "Explain this function" | vibecoding -P
Use --mode plan for read-only tasks and pair with --print to fail fast when approval is required.
Think Mode
Enable deeper reasoning for complex problems:
vibecoding --thinking high "Solve this architecture problem"
Levels: off, minimal, low, medium, high, xhigh — toggle in TUI with /think.
Security & Sandboxing
VibeCoding uses bubblewrap for process-level isolation. Three layers of protection:
- Blacklist — dangerous commands (
rm -rf,sudo) are always blocked, even in YOLO mode - Approval gates — Agent mode prompts before executing bash commands
- Whitelist — pre-approve safe commands in
settings.json:
{
"approval": {
"bashWhitelist": ["go ", "make ", "git ", "npm "],
"bashBlacklist": ["rm -rf", "sudo"],
"confirmBeforeWrite": true
}
}
Skills System
Skills are reusable prompt snippets for project conventions:
# List skills
> /skills
# Activate a skill
> /skill my-conventions
Place SKILL.md files in:
- Global —
~/.vibecoding/skills/<name>/SKILL.md - Project —
.skills/<name>/SKILL.md(overrides global)
Compatible with SkillHub for discovering and sharing community skills.
IDE Integration
VibeCoding speaks Agent Client Protocol (ACP), integrating with VS Code, Zed, and JetBrains IDEs.
VS Code
Add to .vscode/settings.json:
{
"acp.agents": {
"vibecoding": {
"command": "vibecoding",
"args": ["acp", "--mode", "agent"]
}
}
}
JetBrains (IntelliJ, WebStorm, etc.)
Go to Settings → Tools → ACP Agents and add:
- Name:
VibeCoding - Command:
vibecoding - Arguments:
acp --mode agent
Gateway Mode
Run VibeCoding as an OpenAI-compatible HTTP server:
vibecoding gateway
Config in ~/.vibecoding/gateway.json or .vibe/gateway.json. Ideal for team sharing, CI/CD pipelines, and embedding into your own tools.
Multi-Agent Mode
Enable sub-agent delegation and cron workflows:
vibecoding --multi-agent
Sub-agent tools: subagent_spawn, subagent_status, subagent_send, subagent_destroy.
For a single blocking investigation:
vibecoding --delegate
Hermes / Messaging Mode
Deploy VibeCoding as a chatbot on WeChat, Feishu, or WebSocket:
vibecoding hermes
Config in ~/.vibecoding/hermes.json. Each user gets an independent, persistent session.
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Enter |
Submit prompt |
Alt+Enter / Ctrl+J |
Insert newline |
Tab |
Cycle mode (plan → agent → yolo) |
Esc |
Abort current operation |
Ctrl+O |
Open tool details |
Ctrl+G |
Toggle compact display |
Ctrl+T |
Toggle thinking display |
Supported Platforms
- Linux x86_64, arm64, ppc64le, s390x
- Linux musl x86_64, arm64
- macOS x86_64, arm64
- Windows x64, arm64
Other platforms (LoongArch64, RISC-V64, *BSD) are available via npm install -g vibecoding-installer or the one-line installer.
Diagnostics
vibecoding doctor
Checks config files, API connections, sandbox, MCP servers, sessions, and skills.
Uninstall
pip uninstall vibecoding-installer
# or if you used pipx:
pipx uninstall vibecoding-installer
Links
- Homepage — https://github.com/startvibecoding/vibecoding
- Documentation — https://github.com/startvibecoding/vibecoding/tree/main/docs
- Changelog — https://github.com/startvibecoding/vibecoding/blob/main/docs/en/changelog.md
- Issues — https://github.com/startvibecoding/vibecoding/issues
- License — MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vibecoding_installer-1.1.56-py3-none-win_arm64.whl.
File metadata
- Download URL: vibecoding_installer-1.1.56-py3-none-win_arm64.whl
- Upload date:
- Size: 6.6 MB
- Tags: Python 3, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f5b9c73717a0d66f046ceb7df353a84e532d605dc6793a428a846bbb7aa7d0b
|
|
| MD5 |
f36d98f6ab90200bbf640331a54add96
|
|
| BLAKE2b-256 |
7acf0a5d3640d836c787da855fce0701acd8536821a0b49d25a8592477663d33
|
File details
Details for the file vibecoding_installer-1.1.56-py3-none-win_amd64.whl.
File metadata
- Download URL: vibecoding_installer-1.1.56-py3-none-win_amd64.whl
- Upload date:
- Size: 7.5 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ca4da50d2e9de31c61712a90bb149b7ca8c36e2d6a662331452c6f5818ae6ff
|
|
| MD5 |
47c0c56abf8162f2653586c27e016382
|
|
| BLAKE2b-256 |
c409be2aabf68c0ac2040cbf0c9c978da16213131db8a4f6c7b9a9202890aa8a
|
File details
Details for the file vibecoding_installer-1.1.56-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: vibecoding_installer-1.1.56-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 7.0 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de50466d9e4cd1f6a3c22c653c696472b626d92ea88f15cf1818efd8546884a5
|
|
| MD5 |
fd6a61ca987891d4f37ebe5f01358601
|
|
| BLAKE2b-256 |
0cff411a6abc5d02c7af24fdd3e2fc8e1679899d53a21f749bb811274d6d2195
|
File details
Details for the file vibecoding_installer-1.1.56-py3-none-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: vibecoding_installer-1.1.56-py3-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 6.6 MB
- Tags: Python 3, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0f73353ba1f1ce022435c0f8bfd0e0af9f32c5b6a06640cc574855b7c39f234
|
|
| MD5 |
9d5b1b36eb6f83970ce03681a881910d
|
|
| BLAKE2b-256 |
71b4112ddd3dd6ecd23fed5801f3fa5e5213ae8a6f742898a901b72bfb25f7cd
|
File details
Details for the file vibecoding_installer-1.1.56-py3-none-manylinux_2_17_x86_64.whl.
File metadata
- Download URL: vibecoding_installer-1.1.56-py3-none-manylinux_2_17_x86_64.whl
- Upload date:
- Size: 7.0 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2861a3bccaca9390e4da19d86af22acb9feb55f6f8ec4185ff656c5796cbf042
|
|
| MD5 |
86bdd52e08de719a50e2446c2456ca1a
|
|
| BLAKE2b-256 |
9a8cf74f7760364660d7abf0a4806cb55502758ad9133b4ef8896c8e94f1830b
|
File details
Details for the file vibecoding_installer-1.1.56-py3-none-manylinux_2_17_s390x.whl.
File metadata
- Download URL: vibecoding_installer-1.1.56-py3-none-manylinux_2_17_s390x.whl
- Upload date:
- Size: 7.0 MB
- Tags: Python 3, manylinux: glibc 2.17+ s390x
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e664a699d3561ea2a517e10a426e41ba40212e47a0fb3011bc875727772bec2
|
|
| MD5 |
41535f62e0dd9a21cb700eb4a7b9ba81
|
|
| BLAKE2b-256 |
7fd75ef1fb325c17c318b098e22d78866c120e6b3e99fa1524111f34f684495b
|
File details
Details for the file vibecoding_installer-1.1.56-py3-none-manylinux_2_17_ppc64le.whl.
File metadata
- Download URL: vibecoding_installer-1.1.56-py3-none-manylinux_2_17_ppc64le.whl
- Upload date:
- Size: 6.6 MB
- Tags: Python 3, manylinux: glibc 2.17+ ppc64le
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
090946a61159f8dff1d0465cfebda0cefa704245754e81fabb77f9499c884763
|
|
| MD5 |
acb53770a331a6f9a9c7d94eaacd64db
|
|
| BLAKE2b-256 |
280822b6ad624f155e06e72b2d015b029f34e10be6e18c9f3177fbfd98396476
|
File details
Details for the file vibecoding_installer-1.1.56-py3-none-manylinux_2_17_aarch64.whl.
File metadata
- Download URL: vibecoding_installer-1.1.56-py3-none-manylinux_2_17_aarch64.whl
- Upload date:
- Size: 6.6 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4680cb7cd19441cd4542a9c580c898d8114219ad05d0f268d234194093c8a560
|
|
| MD5 |
ee7251a5a0626cf4677bab2495cc9a5f
|
|
| BLAKE2b-256 |
9ee9b2f96420ed97df622cd9151f6c527bc3dc706318c527696edbe5dd921337
|
File details
Details for the file vibecoding_installer-1.1.56-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: vibecoding_installer-1.1.56-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 6.8 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0341845fcf4d6aca95a976efcc1dd65e29cad175e3297234762174856812d5cd
|
|
| MD5 |
ad1feb141056277752c4617e64e1da06
|
|
| BLAKE2b-256 |
f84a9cfd814c5fe345defe8201316a25080dff4e3e6834eedae42eff8deb5f93
|
File details
Details for the file vibecoding_installer-1.1.56-py3-none-macosx_10_15_x86_64.whl.
File metadata
- Download URL: vibecoding_installer-1.1.56-py3-none-macosx_10_15_x86_64.whl
- Upload date:
- Size: 7.2 MB
- Tags: Python 3, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48676b9c75134c12973079bddce774723f63d9ab8944f4186f9569b16bd0d934
|
|
| MD5 |
4080ca78831ad89a9ef49bb1b19d6d10
|
|
| BLAKE2b-256 |
64e384405dbe82383cc65215a3e1b0e2a20c4db647de8f8041184f83fbf54905
|