{"id":31424225,"url":"https://github.com/vinhnx/vtcode","last_synced_at":"2026-06-27T01:02:05.170Z","repository":{"id":314398876,"uuid":"1046809510","full_name":"vinhnx/VTCode","owner":"vinhnx","description":"VT Code is an open-source coding agent with LLM-native code understanding and robust shell safety. Supports multiple LLM providers with automatic failover and efficient context management.","archived":false,"fork":false,"pushed_at":"2026-05-29T13:25:18.000Z","size":84922,"stargazers_count":615,"open_issues_count":0,"forks_count":51,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-05-29T15:11:43.811Z","etag":null,"topics":["agent","cargo","cli","codingagent","crossterm","ratatui","rust","terminal","tui"],"latest_commit_sha":null,"homepage":"https://vinhnx.github.io","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vinhnx.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"vinhnx","patreon":"vinhnx","open_collective":"vinhnx","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"vinhnx","thanks_dev":null,"custom":null}},"created_at":"2025-08-29T09:01:48.000Z","updated_at":"2026-05-29T13:25:23.000Z","dependencies_parsed_at":"2026-04-19T09:01:41.169Z","dependency_job_id":null,"html_url":"https://github.com/vinhnx/VTCode","commit_stats":null,"previous_names":["vinhnx/vtagent","vinhnx/vtcode"],"tags_count":429,"template":false,"template_full_name":null,"purl":"pkg:github/vinhnx/VTCode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinhnx%2FVTCode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinhnx%2FVTCode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinhnx%2FVTCode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinhnx%2FVTCode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vinhnx","download_url":"https://codeload.github.com/vinhnx/VTCode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinhnx%2FVTCode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33680527,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","cargo","cli","codingagent","crossterm","ratatui","rust","terminal","tui"],"created_at":"2025-09-30T04:01:02.711Z","updated_at":"2026-06-27T01:02:05.164Z","avatar_url":"https://github.com/vinhnx.png","language":"Rust","funding_links":["https://github.com/sponsors/vinhnx","https://patreon.com/vinhnx","https://opencollective.com/vinhnx","https://buymeacoffee.com/vinhnx"],"categories":["Terminal-native coding agents","Rust","💻 Apps","Adjacent agent systems and specialized experiments","Terminal \u0026 CLI Agents","🚀 AI Tools for Vim, Neovim, and Terminal","Development tools","Table of Contents"],"sub_categories":["Open Source","⌨️ Development Tools","Multiplatform","Workflow Automation"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./resources/logo/vt_code_adaptive.svg\" alt=\"VT Code\" style=\"border-radius: 12px\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"./docs/skills/SKILLS_GUIDE.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/Agent%20Skills-BFB38F?style=flat-square\" alt=\"Skills\" /\u003e\u003c/a\u003e\n  \u003ca href=\"./docs/guides/zed-acp.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/ACP-Zed-383B73?style=flat-square\u0026logo=zedindustries\" alt=\"Zed ACP\" /\u003e\u003c/a\u003e\n  \u003ca href=\"./docs/guides/mcp-integration.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/MCP-A63333?style=flat-square\u0026logo=modelcontextprotocol\" alt=\"MCP\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://ratatui.rs/highlights/v030/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Built_With-Ratatui-000?logo=ratatui\u0026logoColor=fff\u0026labelColor=000\u0026color=fff\" alt=\"Built with Ratatui\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://deepwiki.com/vinhnx/VTCode\"\u003e\u003cimg src=\"https://deepwiki.com/badge.svg\" alt=\"Ask DeepWiki\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./resources/gif/vtcode.gif\" alt=\"VT Code demo\" width=\"40%\" style=\"border-radius: 10px\" /\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003cimg src=\"./resources/screenshots/vtcode-01237.png\" alt=\"VT Code screenshot\" width=\"46%\" style=\"border-radius: 10px\" /\u003e\n  \u003cbr\u003e\u003cem\u003eSecure, open, universal.\u003c/em\u003e\n\u003c/p\u003e\n\n## What is VT Code?\n\nVT Code is a Rust coding agent built for long-running autonomous workflows, with OS-native sandboxing, multi-provider LLM support, open protocols, and extensible Skills.\n\n## Features\n\n- **Agent runtime** - Interactive TUI, slash commands, streaming, `ask`/`exec` CLI, session resume\n- **Coding tools** - Safe file ops, ripgrep search, fuzzy discovery, code intelligence, project indexing, terminal execution\n- **Extensibility** - Agent Skills, MCP client/server, lifecycle hooks, subagents, custom providers, Zed ACP, VS Code, Claude Code\n- **Model providers** - 21+ LLM providers: Anthropic, OpenAI, Gemini, OpenRouter, Ollama, LM Studio, and more\n- **Safety** - Restricted shell sandbox, tool guardrails, subprocess isolation, full audit logging\n- **Protocols** - Open Responses, Agent2Agent (A2A), ATIF, Anthropic Messages API\n- **Loop engineering** - Worktree isolation for parallel agents, propose/verify sub-agent separation, durable loop state, cost guardrails\n\n## Quick start\n\n```shell\ncurl -fsSL https://raw.githubusercontent.com/vinhnx/vtcode/main/scripts/install.sh | bash\nvtcode init\nvtcode\n```\n\n1. **Install** - one-liner for macOS/Linux (also installs ripgrep + ast-grep)\n2. **Init** - scaffolds `vtcode.toml`, `.vtcode/`, and `AGENTS.md` in your project\n3. **Launch** - interactive TUI with streaming, tools, and slash commands\n\n### Common commands\n\n```shell\nvtcode                         # interactive TUI\nvtcode init                    # scaffold project config + AGENTS.md\nvtcode ask \"explain Rc vs Arc\" # one-shot question\nvtcode exec \"refactor main.rs\" # headless task with full tool access\nvtcode review                  # review uncommitted changes\nvtcode update                  # self-update\n```\n\n## Documentation\n\n- [**Interactive TUI**](./docs/user-guide/interactive-mode.md) - Primary agents, slash commands (`/model`, `/review`, `/mcp`, `/skills`, `/theme`, `/compact`)\n- [**Full automation**](./docs/guides/full-automation.md) - `--full-auto` CLI, plan-build-evaluate harness, subagents, scheduled tasks\n- [**Providers**](./docs/providers/PROVIDER_GUIDES.md) - Setup guides for all 21 providers\n- [**Configuration**](./docs/config/CONFIG_FIELD_REFERENCE.md) - `vtcode.toml`, tool config, lifecycle hooks\n- [**Agent Skills**](./docs/skills/SKILLS_GUIDE.md) - Creating, loading, and sharing skills\n- [**MCP Integration**](./docs/guides/mcp-integration.md) - Client and server modes\n- [**Editor guides**](./docs/guides/zed-acp.md) - Zed ACP, VS Code, Claude Code\n- [**Safety**](./docs/security/SECURITY_MODEL.md) - Shell sandbox, security hardening, threat model\n- [**Protocols**](./docs/protocols/OPEN_RESPONSES.md) - Open Responses, ATIF, A2A, Anthropic Messages API\n- [**Loop engineering**](./docs/project/PLAN-loop-engineering.md) - Worktree isolation, propose/verify, loop state, cost guardrails\n\n## Providers\n\nVT Code supports 21+ LLM providers out of the box, plus any OpenAI-compatible API via `[[custom_providers]]`.\n\n| Category            | Providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |\n| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **Cloud LLMs**      | [Anthropic](./docs/providers/PROVIDER_GUIDES.md#anthropic-claude) · [OpenAI](./docs/providers/PROVIDER_GUIDES.md#openai-gpt) · [Gemini](./docs/providers/PROVIDER_GUIDES.md#google-gemini) · [Z.AI](./docs/providers/PROVIDER_GUIDES.md#zai-zai) · [Moonshot (Kimi)](./docs/providers/PROVIDER_GUIDES.md#moonshot-kimi) · [StepFun](./docs/providers/PROVIDER_GUIDES.md#stepfun) · [MiniMax](./docs/providers/PROVIDER_GUIDES.md#minimax) · [Mistral](./docs/providers/PROVIDER_GUIDES.md#mistral) · [Qwen](./docs/providers/PROVIDER_GUIDES.md#qwen) |\n| **Gateways**        | [OpenRouter](./docs/providers/PROVIDER_GUIDES.md#openrouter-marketplace) · [Evolink](./docs/providers/PROVIDER_GUIDES.md#evolink-multi-model-gateway) · [HuggingFace](./docs/providers/PROVIDER_GUIDES.md#huggingface) · [Atlas Cloud](./docs/providers/PROVIDER_GUIDES.md#atlas-cloud)                                                                                                                                                                                                                                                               |\n| **Local inference** | [Ollama](./docs/providers/PROVIDER_GUIDES.md#ollama-local--cloud-models) · [LM Studio](./docs/providers/PROVIDER_GUIDES.md#lm-studio-local-server) · [llama.cpp](./docs/providers/PROVIDER_GUIDES.md#llamacpp-local-server)                                                                                                                                                                                                                                                                                                                           |\n| **Other**           | [GitHub Copilot](./docs/providers/PROVIDER_GUIDES.md#github-copilot) · [Anthropic API Compat](./docs/providers/PROVIDER_GUIDES.md#anthropic-api-compatibility-server) · [Poolside](./docs/providers/PROVIDER_GUIDES.md#poolside)                                                                                                                                                                                                                                                                                                                      |\n\nRead: [Provider Guides](./docs/providers/PROVIDER_GUIDES.md).\n\n\u003csup\u003eAtlas Cloud referral: [atlascloud.ai?ref=C59AAV](https://www.atlascloud.ai?ref=C59AAV)\u003c/sup\u003e\n\n## Development\n\n```shell\ngit clone https://github.com/vinhnx/vtcode.git\ncd vtcode\n./scripts/run-debug.sh\n```\n\nRust stable, edition 2024, MSRV 1.88. Workspace of ~30 crates:\n\n| Layer          | Crates                                                                     |\n| -------------- | -------------------------------------------------------------------------- |\n| Binary         | `vtcode`                                                                   |\n| Core           | `vtcode-core`, `vtcode-ui`, `vtcode-config`                                |\n| Extracted      | `vtcode-llm`, `vtcode-skills`, `vtcode-safety`, `vtcode-a2a`, `vtcode-mcp` |\n| Infrastructure | `vtcode-commons`, `vtcode-auth`, `vtcode-bash-runner`, `vtcode-macros`     |\n| Tooling        | `vtcode-indexer`, `vtcode-exec-events`                                     |\n| Protocol       | `vtcode-acp`, `vtcode-utility-tool-specs`                                  |\n\n```shell\n./scripts/check-dev.sh  # fast quality gate (clippy, fmt, check)\ncargo nextest run        # parallel test runner\n```\n\n## Contributing\n\nI'd love to have you, bug reports, docs, features, ideas, all welcome. Start with [issues](https://github.com/vinhnx/vtcode/issues) or [good first issues](https://github.com/vinhnx/vtcode/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22). AI agents see [AGENTS.md](./AGENTS.md). Humans see [CONTRIBUTING.md](./docs/CONTRIBUTING.md).\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/oiwn\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/398035?s=60\" width=\"40\" height=\"40\" alt=\"@oiwn\" title=\"@oiwn\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/chenrui333\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1580956?s=60\" width=\"40\" height=\"40\" alt=\"@chenrui333\" title=\"@chenrui333\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/Sachin-Bhat\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/25080916?s=60\" width=\"40\" height=\"40\" alt=\"@Sachin-Bhat\" title=\"@Sachin-Bhat\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/leonj1\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5171829?s=60\" width=\"40\" height=\"40\" alt=\"@leonj1\" title=\"@leonj1\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/gzsombor\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/66230?s=60\" width=\"40\" height=\"40\" alt=\"@gzsombor\" title=\"@gzsombor\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/lucaszhu-hue\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/278269343?s=60\" width=\"40\" height=\"40\" alt=\"@lucaszhu-hue\" title=\"@lucaszhu-hue\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/poelzi\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/66107?s=60\" width=\"40\" height=\"40\" alt=\"@poelzi\" title=\"@poelzi\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/EvoLinkAI\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/253253881?s=60\" width=\"40\" height=\"40\" alt=\"@EvoLinkAI\" title=\"@EvoLinkAI\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/gurdasnijor\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1755404?s=60\" width=\"40\" height=\"40\" alt=\"@gurdasnijor\" title=\"@gurdasnijor\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/kernitus\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2789734?s=60\" width=\"40\" height=\"40\" alt=\"@kernitus\" title=\"@kernitus\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/morler\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/478444?s=60\" width=\"40\" height=\"40\" alt=\"@morler\" title=\"@morler\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/uiYzzi\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/40852301?s=60\" width=\"40\" height=\"40\" alt=\"@uiYzzi\" title=\"@uiYzzi\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Support\n\nVT Code is a labor of love built in my spare time. If it's helped you ship something or learn something, a [sponsorship](https://github.com/sponsors/vinhnx) would mean the world.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/dnhn\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2561973\" width=\"80\" height=\"80\" alt=\"@dnhn\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/codemod\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/78830094\" width=\"80\" height=\"80\" alt=\"@codemod\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/coderabbitai\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/132028505\" width=\"80\" height=\"80\" alt=\"@coderabbitai\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/KhaiRyth\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/273723951\" width=\"80\" height=\"80\" alt=\"@KhaiRyth\" style=\"border-radius: 50%\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/sponsors/vinhnx\"\u003e\u003cimg src=\"https://img.shields.io/badge/%E2%9D%A4%20Sponsor-30363D?style=for-the-badge\u0026logo=github-sponsors\u0026logoColor=#EA4AAA\" alt=\"GitHub Sponsors\" height=\"33\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://buymeacoffee.com/vinhnx\"\u003e\u003cimg src=\"./resources/screenshots/qr_donate.png\" alt=\"Buy Me a Coffee\" width=\"100\" style=\"border-radius: 12px\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## License\n\n[MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinhnx%2Fvtcode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvinhnx%2Fvtcode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinhnx%2Fvtcode/lists"}