Expand description
§vtcode-battery-pack
Curated battery pack of VT Code crates for building Rust coding agents with OS-native sandboxing, multi-provider LLM support, and extensible skills.
§What’s Included
| Feature | Crates | Description |
|---|---|---|
config | vtcode-config | Config loader components shared across VT Code |
commons | vtcode-commons | Shared traits for paths, telemetry, and error reporting |
macros | vtcode-macros | Procedural macros for VT Code |
protocols | vtcode-acp | ACP bridge and client implementation for Zed |
execution | vtcode-bash-runner, vtcode-exec-events | Shell execution sandbox and execution telemetry |
state | vtcode-session-store | Session state, durable loop state, and progress tracking |
tools | vtcode-utility-tool-specs, vtcode-indexer | Tool specs and code indexing/search |
eval | vtcode-eval | Agent evaluation framework |
auth | vtcode-auth | OAuth and credential storage |
§Quick Start
cargo bp add vtcode-battery-packOr pick a subset:
cargo bp add vtcode-battery-pack --features config,commons,executionStart a new project from the minimal template:
cargo bp new vtcode-battery-pack --template minimal§Presets
default— execution + state + tools + authfull— every crate in the pack
§Why not vtcode-core / vtcode-ui?
The currently published vtcode-core and vtcode-ui versions on crates.io have compilation issues with their rmcp dependency. They also depend on internal crates (vtcode-a2a, vtcode-mcp, vtcode-llm, vtcode-skills, vtcode-safety) that are not published separately. These will be added to the battery pack once they are available and stable on crates.io.
§Resources
- Battery Pack — core tooling for creating and managing packs
- Rust Book — guide to battery packs in the Rust ecosystem
- Blog Post — announcing battery packs for Rust
- VT Code — the full coding agent application these crates are extracted from
§License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
§Categories
§Authentication
OAuth and credential storage
Pick mode: any
| Feature | Crates |
|---|
§Evaluation
Agent evaluation framework
Pick mode: any
| Feature | Crates |
|---|
§Execution
Shell execution, PTY management, and telemetry
Pick mode: any
| Feature | Crates |
|---|
§Infrastructure
Config loading, shared utilities, and procedural macros
Pick mode: any
| Feature | Crates |
|---|
§Agent Protocols
Open protocols: ACP (Zed)
Pick mode: any
| Feature | Crates |
|---|
§State & Memory
Session state, durable loop state, and progress tracking
Pick mode: any
| Feature | Crates |
|---|
§Tools & Search
Tool specs, code indexing, fuzzy search
Pick mode: any
| Feature | Crates |
|---|
§Features
| Feature | Description | Crates |
|---|---|---|
auth | [vtcode-auth] | |
commons | [vtcode-commons] | |
config | [vtcode-config] | |
default | [vtcode-auth, vtcode-bash-runner, vtcode-exec-events, vtcode-indexer, vtcode-session-store, vtcode-utility-tool-specs] | |
eval | [vtcode-eval] | |
execution | [vtcode-bash-runner, vtcode-exec-events] | |
full | [rmcp, vtcode-acp, vtcode-auth, vtcode-bash-runner, vtcode-commons, vtcode-config, vtcode-eval, vtcode-exec-events, vtcode-indexer, vtcode-macros, vtcode-session-store, vtcode-utility-tool-specs] | |
macros | [vtcode-macros] | |
protocols | [rmcp, vtcode-acp] | |
state | [vtcode-session-store] | |
tools | [vtcode-indexer, vtcode-utility-tool-specs] |
§Battery pack contents
§Authentication
OAuth and credential storage
| Name | Description |
|---|---|
auth | Authentication and OAuth flows |
vtcode-auth | Authentication and OAuth flows shared across VT Code |
§Evaluation
Agent evaluation framework
| Name | Description |
|---|---|
eval | Agent evaluation framework: pass@k / pass^k metrics |
vtcode-eval | Agent evaluation framework for pass@k / pass^k metrics |
§Execution
Shell execution, PTY management, and telemetry
| Name | Description |
|---|---|
execution | Shell execution sandbox and execution telemetry |
Crates: vtcode-bash-runner, vtcode-exec-events | |
vtcode-bash-runner | Cross-platform shell execution helpers |
vtcode-exec-events | Structured execution telemetry event schema |
§Infrastructure
Config loading, shared utilities, and procedural macros
| Name | Description |
|---|---|
commons | Shared traits for paths, telemetry, and error reporting |
config | Config loader components shared across VT Code |
macros | Procedural macros for VT Code |
vtcode-commons | Shared traits for paths, telemetry, and error reporting |
vtcode-config | Config loader components shared across VT Code |
vtcode-macros | Procedural macros for VT Code |
§Agent Protocols
Open protocols: ACP (Zed)
| Name | Description |
|---|---|
protocols | ACP protocol support for Zed ACP |
Crates: rmcp, vtcode-acp | |
vtcode-acp | ACP bridge and client implementation for Zed |
§State & Memory
Session state, durable loop state, and progress tracking
| Name | Description |
|---|---|
state | Session state, loop persistence, and progress tracking |
vtcode-session-store | Unified per-session state store with ThreadEvent log |
§Tools & Search
Tool specs, code indexing, fuzzy search
| Name | Description |
|---|---|
tools | Tool specs, code indexing, and fuzzy search |
Crates: vtcode-indexer, vtcode-utility-tool-specs | |
vtcode-indexer | Workspace file indexer, fuzzy search, and markdown-backed storage |
vtcode-utility-tool-specs | JSON schemas for utility, file, and collaboration tool surfaces |
§Templates
| Name | Description |
|---|---|
full | Full-featured coding agent with all battery-pack features |
minimal | Minimal coding agent project scaffold |