vCode is an ACP-first local coding agent built on pydantic-ai.
The current repository is intentionally focused on a narrow but working skeleton:
- ACP session lifecycle
- local session persistence under
.vcode/ Ask,Plan, andAgentmodes- per-session approvals for file writes
- model selection and ACP model/config surfaces
- capability-first runtime assembly on top of
pydantic-ai - local workspace tools for list, read, and write through native capabilities
- mode-aware tool visibility with
PrepareTools - MCP server integration through native
MCPcapabilities - YAML-first
.vcode/mcp.ymlwith JSON fallback - YAML-first
.vcode/hooks.ymlwith JSON fallback - hook command execution via
pydantic-ai Hooks
Read the docs here: https://docs.vcode.run
Requirements:
- Python 3.11+
uvpreferred
Local install:
uv pip install -e .pip fallback:
pip install -e .Run the ACP server:
vcode acpDevelopment install:
uv sync --extra dev --extra docspip fallback:
pip install -e ".[dev,docs]"Common validation commands:
uv run ruff check
uv run ty check
uv run basedpyright
python3 -m pytestCurrent Makefile shortcuts:
make format
make check
make check-matrix
make tests
make prodThe detailed docs live under docs/.
Start with:
docs/getting-started.mddocs/current-capabilities.mddocs/acp.mddocs/configuration.mddocs/sessions-and-modes.mddocs/approvals.mddocs/workspace-tools.mddocs/limitations.md
To preview the docs locally:
uv run mkdocs serve --dev-addr 127.0.0.1:8080Implemented today:
- ACP server support
- session create/load/resume/fork/list
- mode switching
- model selection
- write approvals with diff previews
- capability-based runtime composition
- native MCP capability wiring from
.vcode/mcp.yml .vcode/.vcodeignorefiltering for reads and file listing/hooksand/mcpruntime inspection commands
Local demo assets also exist for manual validation:
scripts/demo_mcp_server.pyfor a real stdio MCP serverscripts/mock_hook_audit.pyfor append-only hook auditingscripts/mock_hook_snapshot.pyfor payload snapshots
Not implemented yet:
- terminal tool execution
- workspace search
- web search and scraping
- Python quality tools as runtime tools
- subagents, CodeMode, and RLM workflows
- approval-aware hook execution