Quick start for local development

July 20, 2026 ยท View on GitHub

The fast path for local development. Intelligent Terminal is a dual-stack project: the Rust WTA agent (tools/wta/) plus the C++ Windows Terminal app (src/). For command-line builds, CI, packaging, and troubleshooting, see building.md.

1. First-time setup

1.1. Install:

  • Visual Studio 2026 (18.x) with the Desktop development with C++ and Universal Windows Platform development workloads.
  • Rust via rustup (standard rustup; the repo's toolchain pin falls back to stable).

Then open OpenConsole.slnx in Visual Studio and click Install on the "extra components" prompt. It reads .vsconfig and adds what the build needs, including C++ Universal Windows Platform tools (Latest MSVC) (required for WindowsTerminal to load; a separate item from the UWP workload). NuGet and vcpkg dependencies restore automatically during the build, so that is all the setup needed.

1.2. Build and run (two build systems, in order):

  1. Build the Rust agent: cargo build --target <the target triple> --manifest-path <the toml file>

    For instance,

    cargo build --target x86_64-pc-windows-msvc --manifest-path tools/wta/Cargo.toml
    
  2. In Visual Studio:

    • Set startup project: CascadiaPackage
    • Select platform, x64 for instance.
    • Go to CascadiaPackage > Properties > Debug: set Application process and Background task process to Native Only
    • Run (F5)

F5 builds the app, deploys, and launches Windows Terminal (Dev) with the debugger attached. The first build is slow; later ones are incremental.

2. After changing code

ChangedDo this
Rust (tools/wta/)Rebuild via cargo build. For instance,
cargo build --target x86_64-pc-windows-msvc --manifest-path tools/wta/Cargo.toml
C++ (src/)Press F5 in Visual Studio

cargo build is incremental (seconds for a small change). To see a WTA change inside the running Terminal (agent pane, autofix), press F5 afterward so the new wta.exe is copied in.

If a rebuild reports wta.exe in use, stop the running instance first: close the Dev Terminal, or run taskkill /f /im wta.exe.

3. Running tests

SideCommand
Rustcargo test --manifest-path tools/wta/Cargo.toml
C++ (TAEF)runut.cmd (unit), runft.cmd (feature), runuia.cmd (UIA), from a dev environment

Run one C++ test with te.exe <Tests.dll> /name:<pattern>. See building.md for the dev environment and TAEF.md for details.