tawx — Agentic Dev Environment
Multi-agent AI that builds full-stack web apps from a single prompt. Drop a
goal in the chat panel, optionally paste a screenshot, and come back when
the build is done. Workers stream live progress with elapsed time + token
usage so you always see what's happening.
The extension is a thin TypeScript wrapper over the bundled tawx CLI
binary — no Rust install needed for end users. Each "send" spawns a
detached daemon that survives VS Code restarts; reopen the project from
the sidebar later, the chat replays the full event log.
Highlights
- Skills system — markdown playbooks the orchestrator reads to decide
workflows. 15 bundled (start-server, build-new-project, add-rest-endpoint,
dockerize-app, …); drop more in
~/.tawx/skills/ to extend.
- Tools, not heuristics — every action (spawn worker, run runtime
check, spawn persistent server, write file) is an explicit tool the LLM
picks. No hardcoded keyword routing.
- Anti-hallucination guards — output validators catch the model
claiming it ran a check it didn't actually run.
- Bundled binary — Marketplace serves the right
.vsix per OS. Zero
Rust toolchain on the user's machine.
- Live counters — typing bubble shows
· 23s; status line shows
tawx · deepseek-v4-pro · 12.4k tok.
Install
- Install from the VS Code Marketplace (search tawx).
- Open the activity bar tawx view → click Sign in → paste your
API key (OpenCode Go, OpenAI, DeepSeek, or Qwen).
- Open chat → describe what you want to build.
macOS first launch
The bundled binary isn't notarized in v0.1, so Gatekeeper blocks it the
first time. Run once:
xattr -dr com.apple.quarantine ~/.vscode/extensions/theagentworks.tawx-darwin-*/bin/tawx
Or use System Settings → Privacy & Security → "Allow Anyway".
(v0.2 will ship signed + notarized binaries.)
Linux
Should work out of the box. If your distro complains about the binary
permissions:
chmod +x ~/.vscode/extensions/theagentworks.tawx-linux-*/bin/tawx
Windows
Not supported in v0.1. Coming v0.2.
Usage
| Action |
How |
| New build |
Type a goal in the chat textarea, Enter to send |
| Newline in input |
Shift+Enter |
| Attach screenshot |
Cmd/Ctrl+V into the textarea |
| Resume a project |
Click any conversation row in the sidebar |
| Kill a run |
Right-click a running project → Kill Run |
| Add a custom skill |
Skills view → + button → edit the template |
| Change a model |
Right-click an agent in Agents & Models |
Files on disk
~/.tawx/
├── config.toml # model routing (`tawx login` writes here)
├── projects.toml # registry of named projects
├── skills/<name>.md # bundled + user-edited skill playbooks
└── runs/
├── <id>.meta # JSON: pid, status, started/finished
└── <id>.jsonl # append-only OrchestratorEvent stream
Per-project state (conversation history, persistent server PIDs) lives in
<project_dir>/.tawx/, auto-added to .gitignore.
How a build flows
- Plan — a reasoning model decomposes your goal into a task graph
and a design contract (selectors, endpoints, schema, file ownership).
- Build — specialised agents (planner, backend_dev, frontend_dev,
database, tester) emit files in parallel.
- Runtime check —
npm install, boot the server, probe each
endpoint declared in the contract.
- Persistent server — once the boot test passes, the server is left
running detached so you can click the link and use it. Stop later
with
tawx stop-server <slug>.
- Browser check (optional) — runs the Playwright spec the tester
agent emitted against the live app.
Failures in 3 or 4 trigger a focused repair worker.
Settings
tawx.binaryPath — absolute path to the tawx CLI. Leave empty to
use the bundled binary (recommended) or auto-discover via $PATH /
~/.cargo/bin.
License
Apache-2.0.