UI examples for Traverse.
Same business logic (WASM agents in Traverse) → many UI shells here (Web, macOS, iOS, Android, Windows, Linux, CLI).
Start here: traverse-starter on Web (commands below).
You need: Node.js 24+ (see .nvmrc) and a local Traverse clone — set TRAVERSE_REPO and run the sync script for your platform before the app can load WASM.
Success looks like: submit a note and see title, tags, note type, next action, and status filled in by the runtime (the UI does not invent those fields).
Agents / LLMs: this repo is UI-only — render runtime fields, never compute business output. Claim work via
AGENTS.md. Authoring capabilities? See traverse-framework/claude-skills. For LLM product façades (Claude / Cursor / ChatGPT / Grok via MCP), see LLM MCP reference façades below.
| App | What it does | Start here |
|---|---|---|
| traverse-starter | Submit a short note → title, tags, note type, next action, status | web · all OS |
| doc-approval | Paste a document → type, parties, amounts, confidence, recommendation | web |
| meeting-notes | Paste a transcript → action items, decisions, follow-ups, summary | web · all OS |
| trace-explorer | Browse execution traces (debugger — not a product shell to copy) | web |
| LLM MCP façades | Claude / Cursor / ChatGPT / Grok call the same workflows via MCP (not prompt skills) | apps/llm-mcp-reference/ · section |
Extra demos / kits — useful samples, not the production OS-shell pattern to copy (prefer traverse-starter / doc-approval / meeting-notes):
| Demo | Path |
|---|---|
| React browser demo | apps/react-demo/ |
| Android demo | apps/android-demo/ |
| macOS demo | apps/macos-demo/ |
| Browser consumer façade | apps/browser-consumer/ |
| youaskm3 starter kit | apps/youaskm3-starter-kit/ |
Open the folder, then the tool named below. Full steps (sync + run) are in that folder’s README.md.
| Target | Open this | Then |
|---|---|---|
| Web | apps/traverse-starter/web-react/ |
npm run dev from repo root (after web sync) |
| macOS | apps/traverse-starter/macos-swift/ |
Open TraverseStarterMac.xcodeproj in Xcode → Run |
| iOS | apps/traverse-starter/ios-swift/ |
Mac + Xcode: open TraverseStarter.xcodeproj → Run (Simulator) |
| Android | apps/traverse-starter/android-compose/ |
Open the folder in Android Studio → Run |
| Windows | apps/traverse-starter/windows-winui/ |
Open TraverseStarter.sln in Visual Studio (WinAppSDK). Sync script needs Git Bash/WSL |
| Linux (GTK) | apps/traverse-starter/linux-gtk/ |
Rust + GTK4 deps, then cargo run (see folder README) |
| CLI | apps/traverse-starter/cli-rust/ |
Rust, then cargo run / cargo install (see folder README) |
Same apps on other platforms (— = not shipped yet):
| App | Web | macOS | iOS | Android | Windows | Linux | CLI |
|---|---|---|---|---|---|---|---|
| traverse-starter | link | link | link | link | link | link | link |
| doc-approval | link | link | link | link | link | link | link |
| meeting-notes | link | link | link | link | link | link | link |
- Logic lives in Traverse (WASM agents + workflows) — not in these UI folders.
- Each OS folder under
apps/<app>/is only a shell: sync the bundle, submit input, show runtime fields. - Reuse the pattern: get one shell working (getting started), then add another OS (add-platform recipe). Sync scripts per OS:
docs/runtime-bundle-sync.md.
Fastest try (Web):
git clone https://github.com/traverse-framework/Traverse.git ../Traverse
git clone https://github.com/traverse-framework/reference-apps.git
cd reference-apps
npm install
export TRAVERSE_REPO="$(cd ../Traverse && pwd)"
bash scripts/ci/sync_web_starter_bundle.sh # required — copies runtime.wasm + manifests
npm run dev # http://localhost:5173Without TRAVERSE_REPO + sync, the embedded host has no bundle and the app will not run workflows.
Other web apps (same install; sync that app’s bundle first — see its README):
npm run dev -w apps/doc-approval/web-react
npm run dev -w apps/meeting-notes/web-reactSecondary tier beside OS UI shells: LLM product façades that invoke Traverse workflows/capabilities through MCP instead of encoding business rules in prompt “skills”. Same catalog thesis as the OS apps — the model handles language; runtime-owned fields come back from Traverse.
| Piece | Path |
|---|---|
| Plan / architecture | docs/llm-reference-apps-plan.md |
| Client configs + runbooks | apps/llm-mcp-reference/ |
| Clients | Claude Desktop · Claude Code · Cursor · ChatGPT · Grok |
| Scaffold smoke | bash scripts/ci/llm_mcp_reference_smoke.sh |
Mode A (local MCP stdio) — quick start:
export TRAVERSE_REPO="$(cd ../Traverse && pwd)" # adjust path
cd "$TRAVERSE_REPO"
cargo run -p traverse-mcp -- stdioPoint your LLM client at that command using the example under apps/llm-mcp-reference/clients/<product>/, paste shared/prompts/system-boundary.md into system instructions, and follow shared/workflows/traverse-starter.md. Display only runtime JSON fields — do not invent title/tags/recommendations in the prompt.
Scaffold + configs live here; honest “same catalog as OS apps” still needs upstream work:
| Repo | Issue |
|---|---|
Traverse (runtime / traverse-mcp) |
#865 — MCP still expedition-shaped; needs kit catalog, inline requests, WASM execute |
| Registry (workflows / content groups) | #99 — publish kit workflows + MCP discovery metadata + resolve policy |
Until those land, treat Mode A as bootstrap against Traverse MCP docs; App-Refs live-smoke tickets stay gated on the kit path.
| Doc | Use when |
|---|---|
docs/getting-started-embedded.md |
First full walkthrough |
docs/llm-reference-apps-plan.md |
LLM façades via MCP (Claude / Cursor / …) |
docs/app-manifest-schema.md |
app.manifest.json fields + traverse-cli app new scaffold |
docs/add-platform-client.md |
Add another OS shell |
docs/production-playbook.md |
Ship / packaging guide |
docs/runtime-bundle-sync.md |
Which sync script for which OS |
AGENTS.md |
Claiming Project 2 tickets |