# Getting Started
A ten-minute walk-through: install CW, watch it catch a forged record with
**no agent needed**, run your first review, read and re-check the report, then
resume and share it.
*Already know the shape? The [Quickstart](Quickstart.md) has the same steps as
a fast command reference.*
## What you need first
- **Node.js v18 or newer** — check with `node --version`.
- **One agent CLI** on your `PATH` for the real review in Step 3: `claude`,
`codex`, `gemini`, `opencode`, or `muse`. An "agent CLI" is a command-line AI tool
that can read code and answer questions — for example, Claude Code gives you
the `claude` command. (Step 2 needs no agent at all.)
## 1 · Install
```bash
npm install -g cool-workflow
cw version # prints the installed release
```
Prefer Homebrew?
```bash
brew tap coo1white/cool-workflow https://github.com/coo1white/cool-workflow
brew install coo1white/cool-workflow/cool-workflow
```
If anything looks off, `cw doctor` checks your setup and `cw fix` prints the
exact commands that put it right.
## 2 · See it work — 30 seconds, no agent
```bash
cw demo tamper
# → VERDICT: tamper-evidence holds ✓
```
**What just happened:** CW built a real, signed ledger — a record file where
each entry is chained to the one before it, so any later edit shows. Then it
forged that record three ways — editing the ledger, the signature, and a
signed finding — and caught all three **offline, with only the public key.**
This is the trust machinery the rest of this page builds on. CW signs nothing
itself: your agent signs, CW only checks.
## 3 · Your first review
From inside a project (or point `-dir` anywhere):
```bash
cw -q "How does auth work end-to-end here?"
```
Any question works, not only a risk audit. CW finds the current repo and the
first agent on your `PATH` by itself. Want a specific agent? Add a flag:
```bash
cw -q "What are the security risks?" -claude # or -codex / -gemini / -deepseek / -muse
```
As it runs you get a calm **live view** — a small rolling window of the
agent's tool calls that updates in place, in the style of Claude Code:
```text
● Read(execution-backend.ts)
⎿ 910 lines
● Grep(spawnSync)
⎿ 17 matches
✶ Searching worker-isolation.ts… (3s)
```
When it is done, CW opens the report in your browser by itself and prints:
```text
✓ Report: /path/to/project/.cw/runs//report.md
✓ Status: complete — 6/6
✓ Report opened. Again later: cw report --open
Try: cw report --show
```
> **Got `status: blocked`?** No agent was found. Run `cw doctor`, or set
> `CW_AGENT_COMMAND=builtin:claude`, or pass `-claude`. CW fails closed — it
> saves the run state as-is, and never makes up a completed result.
>
> **Piped output, or `--json`?** The browser never opens and the printed
> line stays the plain JSON payload, unchanged — the safety rail, so a
> script reading `cw -q`'s output is never surprised by a popup.
## 4 · Read it again
The report already opened once, in Step 3. Open it again any time, or read
it in the terminal:
```bash
cw report --open # reopens report.html in your browser
cw report --show # prints it in the terminal
```
Both pick the newest run in this repo when you leave off ``. Every
finding has a clickable `file.ts:42` pointer back to the evidence. The
whole run lives on disk as files you can open:
```text
/.cw/runs//
state.json # where the run is right now — resume it, diff it
report.md # the report, every claim tied to its source
results/ # each worker's result, with its evidence attached
workers/ # each worker's full transcript (what it said and did)
audit/ # records of every decision, policy, and source
telemetry.json # the signed usage ledger — any later edit shows
commits/ # checkpoints of state that passed the checks
```
## 5 · Check it again — offline, by anyone
Re-run the proof on your own machine:
```bash
cw telemetry verify # re-checks the record chain (+ ed25519 if a key is given)
cw audit verify # re-checks the trust-audit chain
```
Hand the result to someone else — they need nothing but the file:
```bash
cw -q "…" --bundle # seal the run into one portable file
cw report verify-bundle report.cwrun.json # they re-check it offline
cw report verify-bundle report.cwrun.json --require-signatures
```
See [Trust And Audit](Trust-And-Audit.md) for exactly what this proves — and
what it does not.
## 6 · Resume, restore, replay
Runs are saved, so you can stop and go on later — or move a run to another
machine:
```bash
cw quickstart architecture-review --run --resume
cw run export --output run.cw-archive.json
cw run import run.cw-archive.json --target /path/to/restored-repo
```
More in [Recovery And Restore](Recovery-And-Restore.md).
## 7 · Beyond code
CW reads any folder of files as sources — your docs, notes, or papers:
```bash
cw quickstart research-synthesis --repo /path/to/papers \
--question "What do these papers conclude?"
```
See everything installed with `cw app list`; see [Workflow Apps](Workflow-Apps.md).
## 8 · From your editor (MCP)
MCP is a standard way for editors and AI tools to call other tools. CW offers
its runtime over MCP too, so **Claude Desktop, Cursor, and VS Code** can call
it — plan a run, drive it, and verify a report without leaving the editor.
See [MCP And Manifests](MCP-And-Manifests.md).
---
**Where to next:** [Mental Model](Mental-Model.md) for the *why* ·
[Glossary](Glossary.md) for the words · [Workflow Apps](Workflow-Apps.md) to
pick a job.