Quickstart
This guide gets you from zero to a running goal in the Control Tower.Prerequisites
- .NET SDK 10.0
- Node.js 22+ (for the VS Code extension)
- VS Code 1.90+
- A sibling checkout of nodalmerge — Studio embeds the NodalMerge host and consumes it via local NuGet packages
1. Restore NodalMerge dependencies
From thenodalmerge-studio repo root, pack local NodalMerge NuGet artifacts from
the sibling repo:
2. Restore and build
3. Build the VS Code extension
4. Start the Studio host
5. Launch the extension
Press F5 from theclients/vscode-extension directory to launch the
extension in a VS Code Extension Development Host.
6. Run “NodalMerge: Open Studio”
Open the command palette (Ctrl+Shift+P / Cmd+Shift+P) and runNodalMerge: Open Studio. This opens the Control Tower — a tabbed shell with Goal
Workspace, Activity Center, Model & Agent Studio, Decision Convergence, and Pathways.
7. Configure an agent profile
Before you can run a goal, define at least one agent profile in VS Code settings — this maps agent roles to an LLM provider and model:provider can be anthropic, openai, or vscode-lm (VS Code’s built-in Language
Model API — no API key required). Store API keys via VS Code’s SecretStorage
(Ctrl+Shift+P → “Preferences: Configure Runtime Arguments”, or through the
Model & Agent Studio panel’s Profiles tab).
8. Run your first goal
In the Goal Workspace topbar:- Type a goal, e.g. “Add input validation to the signup form”
- Leave Exploration Strategy at its default (single-agent) and Review: Human Required (the default review policy)
- Click ▶ Run
9. Review and approve the proposal
When a worker finishes, it submits a merge proposal, which routes to Decision Convergence for review (or shows up under Activity Center’s “Pending Decisions”). Inspect the diff, evidence, and rationale, then Accept Decision and Apply Decision.Next steps
- Read Concepts → How Studio works for the mental model behind work units, projections, and branches
- Read Concepts → Trust & autonomy to configure review policy, promotion branches, and experiments for less hands-on runs
- Browse the Control Tower UI reference for every panel and control
- If you’re integrating from CI or an external system rather than the extension, see Guides → Extending goals and Guides → Headless peer