I'm currently building my own coding agent, VT Code. VT Code is a Rust-based terminal coding agent with semantic code intelligence via Tree-sitter (parsers for Rust, Python, JavaScript/TypeScript, Go, Java) and ast-grep (structural pattern matching and refactoring).
It supports multiple LLM providers: OpenAI, Anthropic, xAI, DeepSeek, Gemini, OpenRouter, Z.AI, Moonshot AI, all with automatic failover, prompt caching, and token-efficient context management. Configuration occurs entirely through vtcode.toml, sourcing constants from vtcode-core/src/config/constants.rs and model IDs from docs/models.json to ensure reproducibility and avoid hardcoding. [0], [1], [2]
Recently I've added Agent Client Protocol (ACP) integration. VT Code is now a fully compatible ACP agent, works with any ACP-clients: Zed (first-class support), Neovim, marimo notebook. [3]
[0] https://github.com/vinhnx/vtcode
[1] https://crates.io/crates/vtcode
[3] https://agentclientprotocol.com/overview/agents
Thank you!
This looks very exciting! I'm following it and I'll give it a go. Not that I'm unsatisfied with Claude Code for my amateur level, but it's clear incentives are not exactly aligned when using a tool from the token provider xD
I love that you've made it open source and that it's in Rust, thanks a lot for the work!
Thank you for your kind words. This is my own research into how coding agent works in practice, I love to explore the underlying technologies of how Claude Code, and Codex and coding agent works in general.
I choose Rust since I have some familiarity and experience with it, VT Code is of course, AI-assisted, I mainly use Codex to help me build it. Thank you again for checking it out, have a great day! : )
Great job! Keep it up - we need more of these and open to boot.
Thank you! I'm glad that you find this project useful. VT Code my current passion on how agent coding works and how far I can push myself to build one (with AI-assisted). I will keep developing and improve it. Currently I'm planning to run Terminal-bench to see how VT Code performs.
You’ve done an incredible amount of work — I’m definitely going to try out the Zed integration.
I’m curious though, how significant do you think it is for the agent to have semantic access through Tree-sitter?
Also what model have you had the most success with ?
Kindly let me know how your experience about Zed integration, I have done the ACP integration and merge to upstream Agent Client Protocol spec from Zed. The integration experience is quite magical, honestly. It's working in Zed , though for tool calls I'm still improving https://github.com/agentclientprotocol/agent-client-protocol...
Thank you for your very kind-words. I love building and agentic coding is my current curiosity.
> I’m curious though, how significant do you think it is for the agent to have semantic access through Tree-sitter?
For this, I'm really not sure, but since the start of building VT Code. I just had this idea to use tree-sitter to assist the agent to have more (or faster/more precise) semantic understanding of the coding, instead of relying them to figure out themself. For me, naively I think this could help agent to have better language-specific and accurately decision about the workspace (context) that they are working. If not having tree-sitter, I think the agent could eventually figure out itself. For this aspect, I should be research more on this topic. In VT Code, I included 6 language: Go, Python, Rust, TypeScript, Swift... ) via rust-binding crates, mostly when you launch the vtcode agent on any workspace, It will show the main languages in the workspace right way.
> Also what model have you had the most success with ?
I'm having mainly limited-budget so I can only use OpenRouter and utilize its vast amount models support. So that I can prototype quickly, for different use-cases. For VT Code agent, I'm using mainly x-ai/grok-code-fast-1, in my experience, it most suit for building VT Code agent it self because of speeds, and versatile in function calling and have good instruction following. I also have good successes with x-ai/grok-4-fast. I have not tried claude-4.5-sonnet and gpt-5/gpt-5-codex though. I really love to run benchmarks for VT Code to see how it perform in real world coding task, I'm aiming for Aider polygot bench, terminal-bench and swe-bench-lite, it is in my plan for now in my GitHub issues.
For VT Code itself, I instruct it to strictly follow system-prompt, in which I take various inspiration from Anthropic, OpenAI and Devin guide/blogs on how to build coding agent. But, for a model-agnostic agent, the capability to support multi providers and multi models is a challenge. For this I think I need help. I'm fortunately to have support from open-source community suggesting me to use zig, I have had good success with it so far, for implement LLM calls and implement the /model picker.
Overall in my experience building VT, the most important aspect of effective coding agent is context engineering, like all big-lab has research. A good system prompt is also very important, but not context is everything. https://github.com/vinhnx/vtcode/blob/main/prompts/system.md
// Sorry, English is not my main language, so pardon the typo and grammar. Thank you!