Visitar URL original
GitHub - vinhnx/VTCode: VT Code is a terminal-first coding agent for your repo, in the CLI and native macOS app. · GitHub
Skip to content
vinhnxPublic

About

VT Code is a terminal-first coding agent for your repo, in the CLI and native macOS app.

Topics

Resources

Code of conduct

Contributing

Security policy

Accessibility

Stars

909 stars

Watchers

9 watching

Forks

Latest commit

 

History

10,320 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
VT Code

Terminal-first coding agent. Desktop-ready on macOS.
Explore, plan, edit, and verify with your model of choice.

Rust License GitHub release

Ask DeepWiki macOS 15+ arm64 and x64

VT Code Desktop app demo Desktop app

VT Code terminal TUI demo
Terminal TUI

Overview

VT Code is a terminal-first coding agent for your repo, in the CLI and native macOS app. Context, tool calls, and execution policy stay auditable and resumable across long tasks. It is open source under MIT OR Apache-2.0; see Contributing and License.

At a glance What you get
Planning Plan read-only, review turn diffs; HOVER revises on mismatch.
Safety Auditable command policy with sandboxing.
Long runs Headless exec with resume and compaction; snapshots roll back state; subagents for parallel work.
Extensions MCP, skills, plugins, hooks, editor bridges; A2A, ACP, WebMCP, Companion.
Models Hosted or local providers per task; evals measure behavior before release.

Details live in Documentation; the table above is the short map.

Quick start

Three steps on macOS, Linux, or Windows/WSL. Source builds need Rust 1.99.1+ (edition 2024). VT Code ships its own search engine; see the installation guide for prerequisites.

1. Install

# Review the installer script before running it: https://github.com/vinhnx/vtcode/blob/main/scripts/install.sh
curl -fsSL https://raw.githubusercontent.com/vinhnx/vtcode/main/scripts/install.sh | bash

Or install with Homebrew or Cargo (desktop cask: see Desktop app):

brew trust vinhnx/tap
brew install vinhnx/tap/vtcode

# Or install from crates.io (published; see the installation guide)
cargo install vtcode

On Windows (best-effort artifacts; may lag behind macOS/Linux and may not appear in every release):

irm https://raw.githubusercontent.com/vinhnx/vtcode/main/scripts/install.ps1 | iex

Verify with vtcode --version. The installation guide covers remaining methods and desktop flags.

2. Configure your project

In your project directory, scaffold config and add credentials:

cd path/to/your/project
vtcode init                # scaffolds config + AGENTS.md; review before committing
vtcode secret add openai   # stores your OpenAI API key in secure storage

Replace openai with your provider. Keys use secure storage (OS keyring or encrypted file); environment variables, a workspace .env file, or vtcode login work where supported. See getting started and the provider guides.

Note: ChatGPT users can also run vtcode login openai for in-process OAuth, or reuse the Codex CLI login with vtcode login openai --from-codex; GitHub Copilot uses the official copilot CLI. See OAuth authentication.

Caution: Keep API keys out of Git and vtcode.toml; never commit a workspace .env file.

3. Run your first task

vtcode   # open the interactive TUI

Ask one focused question, review the proposed changes and test results, then commit. Usage covers automation and session commands.

Usage

Common commands (full list in the command reference):

Goal Command
Start the TUI vtcode
Ask without tools vtcode ask "explain Rc vs Arc"
Run a task headlessly vtcode exec "refactor main.rs"
Review pending changes vtcode review
Schedule recurring work vtcode schedule create --prompt "..." --every 1h
Resume the last session vtcode continue
Resume a headless run vtcode exec resume --last "prompt"
Roll back a snapshot vtcode snapshots / vtcode revert
Inspect a run log vtcode trajectory

For larger tasks, start read-only, review the turn diff before committing, and use /explain for a summary without another model call. See the interactive guide.

Modes

  • ask is tool-free: it prints one reply and exits.
  • exec runs the full tool loop and needs explicit workspace trust (approve the TTY prompt or set VTCODE_TRUST_WORKSPACE=full-auto for non-TTY runs; deny refuses trust instead of prompting). [automation.full_auto] allow-lists, denies, and execution policy still apply.
  • review inspects uncommitted changes without running the agent loop.

Scheduled work reuses the same exec runtime. Resume or fork with vtcode continue (or --session-id <id>), and resume headless runs with vtcode exec resume --last "<prompt>". See exec mode and full automation.

Desktop app

The native macOS app shares the CLI runloop, providers, tool policy, sandboxing, sessions, configuration, and credentials. Configure a provider first (see Quick start).

Install (macOS 15+)

On Apple Silicon macOS 15+ (update with brew upgrade --cask vinhnx/tap/vtcode-desktop):

brew trust vinhnx/tap
brew install --cask vinhnx/tap/vtcode-desktop

Without Homebrew, use the latest release or vtcode desktop --install, then launch with vtcode desktop or from Finder.

Warning

First launch needs a one-time approval for ad hoc-signed builds (Homebrew cask included): open once, click Open Anyway in System Settings › Privacy & Security, then reopen. Notarized releases skip this. See the desktop workspace guide for requirements and troubleshooting.

Documentation

Start from the documentation index or Wiki. Curated entry points by task:

Start

Use

Automate

Extend

Develop

Development

Non-exhaustive sketch of the 25-crate workspace (the architecture guide covers the full crate list; default-members build only the root binary, vtcode-core, and vtcode-ui):

graph LR
    BIN[vtcode binary] --> CORE[vtcode-core harness]
    CORE --> LLM[vtcode-llm]
    CORE --> SAFETY[vtcode-safety]
    CORE --> EVENTS[vtcode-exec-events (crates/common)]
    CORE --> MEMORY[vtcode-memory]
    CORE --> UI[vtcode-ui]
Loading

Build with Rust 1.99.1+ (edition 2024; workspace version 0.182.0).

git clone https://github.com/vinhnx/vtcode.git
cd vtcode
./scripts/run-debug.sh     # build and launch a debug binary
./scripts/check-dev.sh     # fast gate: clippy, fmt, check (add --test for tests)
cargo nextest run          # tests via nextest (see testing guide)

CI builds with --locked and RUSTFLAGS="-D warnings"; match locally with RUSTFLAGS="-D warnings" cargo check --locked. See the development overview and testing guide.

Release binaries and notes live on GitHub releases.

Contributing

VT Code is open source and community-driven. Forking, modifying, and contributing are all welcome.

  • Fork and modify: keep changes in your fork or send them back as a pull request.
  • Contribute upstream: code, docs, evals, bug fixes, and features are welcome; bug reports should include vtcode trajectory output where possible.
  • Before you open a PR: read the contribution guide; start with a good first issue or help wanted item.

If you fork and ship your own variant, keep the license and third-party notices intact (see License).

Security

Report vulnerabilities privately via GitHub private vulnerability reporting. See the security policy.

Community

The Code of Conduct keeps review constructive. Contact: vinhnguyen2308 [at] gmail [dot] com.

Thanks to our contributors

Thank you to everyone below. You are the reason this project keeps moving.

View all contributors (31)

Security Advisors

@glmgbj233  @nnfrog 

Main Contributor

@kernitus 

Core Contributors

@ct-jaryn  @7jrxt42BxFZo4iAnN4CX  @xcrong  @netbrah  @Sachin-Bhat  @gzsombor  @leonj1  @chenrui333  @oiwn 

Contributors

@apewithllm  @pawurb  @f-o-x11  @shouryamaanjain  @rs545837  @georgeatparallel  @S2thend  @vivekgupta-memcode  @ericcurtin  @Sanjays2402  @diegosouzapw  @raphamorim  @TuanLe-bk18  @ForrestThump  @RobertBorg  @EvoLinkAI  @uiYzzi  @poelzi  @morler 

Want to see your avatar here? Every bit counts: a one-line fix, a bug report, or a thoughtful comment. Not sure where to begin? Say hello on a good first issue and we will figure it out together.

Resources

Support VT Code

Current sponsors: Codemod and CodeRabbit.

@codemod  @coderabbitai 

GitHub Sponsors

If you like VT Code, please star the repo and share it — starring helps discovery and brings in new users, contributors, and sponsors. Thank you for growing the community.

Star History Chart

License

First-party code is MIT OR Apache-2.0, available under either LICENSE-MIT or LICENSE (Apache-2.0). You are welcome to fork, use, copy, modify, merge, publish, distribute, sublicense, and sell copies of the code, for personal or commercial use, under either license. Keep the license and copyright notices when you distribute copies. Third-party code keeps its original licenses, listed in THIRD-PARTY-NOTICES.

About

VT Code is a terminal-first coding agent for your repo, in the CLI and native macOS app.

Topics

Resources

Code of conduct

Contributing

Security policy

Accessibility

Stars

909 stars

Watchers

9 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages