Quickstart

Your first runnable Traverse flow. Run the expedition planning example in under 5 minutes.

v0.7.0 ~5 minutes Rust 1.94+ Node.js required
01
Prerequisites

Before you start

Make sure you have these installed:

check versions
$ rustc --version
rustc 1.94.0 (or higher)

$ cargo --version
cargo 1.94.0

$ node --version
v20.0.0 (or higher)

Install Rust via rustup.rs if you don't have it.

02
Clone the repo

Clone and build

Clone the traverse repo and run an initial build to verify everything compiles.

clone
$ git clone https://github.com/traverse-framework/traverse
$ cd traverse
$ cargo build

Compiling traverse-runtime ...
Finished in X.XXs
03
Inspect the bundle

Verify the expedition bundle

Before running the demo, inspect the registry bundle to confirm all 6 capabilities, 5 events, and 1 workflow are registered.

bundle inspect
$ cargo run -p traverse-cli -- bundle inspect \
examples/expedition/registry-bundle/manifest.json

bundle_id: expedition.planning.seed-bundle
version: 1.0.0
capabilities: 6
events: 5
workflows: 1
04
Run the browser adapter

Start the browser adapter

Open a terminal and start the browser adapter. It listens on port 4174 and handles all capability execution requests from the browser.

Terminal 1
$ cargo run -p traverse-cli -- \
browser-adapter serve --bind 127.0.0.1:4174

adapter listening on 127.0.0.1:4174
registry loaded · 6 capabilities ready

Leave this terminal running. Open a second one for the next step.

05
Run the React demo

Start the React demo

In a second terminal, start the React demo server. It connects to the browser adapter and serves the UI on port 4173.

Terminal 2
$ node apps/react-demo/server.mjs \
--adapter http://127.0.0.1:4174 \
--port 4173

demo ready → http://127.0.0.1:4173
06
Submit a governed request

Open the browser and execute

Open http://127.0.0.1:4173 and click "Submit approved request". The runtime will execute the full expedition planning workflow.

request payload
{
  "goal": "Plan a two-day alpine expedition\nfor a four-person team.",
  "requested_target": "local",
  "caller": "browser_demo"
}

You should see the status pill advance:

expected output
ready → streaming → completed

Runtime updates in ordered timeline:
[1] interpret-expedition-intent ✓
[2] capture-expedition-objective ✓
[3] assess-conditions-summary ✓
[4] validate-team-readiness ✓
[5] assemble-expedition-plan ✓

Trace panel: capability · events · output