Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/pages/questions/what-crates-make-up-traverse.astro
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
import QuestionLayout from '@layouts/QuestionLayout.astro';

const relatedLinks = [];
const _body = "<p>Traverse's own repo is a workspace of eight Rust crates. Each one has a specific job. You can use them together through the CLI or pull individual crates into your own code.</p>\n\n <h2>traverse-runtime</h2>\n <p>The core execution engine. It drives the state machine from <code>idle</code> through discovery, constraint evaluation, selection, and execution. Every placement target builds on this crate. You use it if you are embedding Traverse in a Rust application rather than calling it from the CLI.</p>\n\n <h2>traverse-contracts</h2>\n <p>Defines the contract schema: input and output types, preconditions, postconditions, placement constraints, and the governing spec. The runtime uses this crate to parse, validate, and enforce contracts. You interact with it by writing TOML contract files.</p>\n\n <h2>traverse-cli</h2>\n <p>The <code>traverse</code> command you install with <code>cargo install traverse-cli</code>. It wraps the runtime and MCP server in a terminal interface. Most developers only need this crate directly.</p>\n\n <h2>traverse-mcp</h2>\n <p>Implements the MCP stdio server that exposes your capabilities to AI agents. It supports <code>tools/list</code> and <code>tools/call</code>. It ships as its own binary, started with <code>traverse-mcp stdio</code>. See <a href=\"/questions/how-does-the-mcp-server-work.html\">how the MCP server works</a> for details.</p>\n\n <h2>traverse-embedder</h2>\n <p>The public Rust embedder SDK for host applications — Linux GTK apps and CLI tools — that want to load and run an application-owned bundle of capabilities directly, without going through the CLI's server process.</p>\n\n <h2>traverse-native-bridge and traverse-swift-host</h2>\n <p>The building blocks for platform-native mobile embedders. <code>traverse-native-bridge</code> is a deterministic builder for the governed WebAssembly runtime artifact those bridges load. <code>traverse-swift-host</code> is the Apple static-library host — packaged as the <code>TraverseSwiftHost</code> XCFramework — behind the Swift/iOS runtime bridge.</p>\n\n <h2>traverse-expedition-wasm</h2>\n <p>Compiles the bundled \"expedition\" example domain to <code>wasm32-wasi</code> for testing and demos. It is not the browser embedder — browser execution is handled separately by the public Web/TypeScript embedder SDK, which runs directly against the browser's native WebAssembly host.</p>\n\n <h2>What about traverse-registry?</h2>\n <p>It used to live in this workspace, but it was extracted into its own repository, <code>traverse-framework/registry</code>, and is now consumed here as an independently versioned, externally published dependency rather than a workspace crate.</p>";
const _jsonLd = "{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What crates make up Traverse?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Traverse's repo is made up of eight crates: traverse-runtime (core execution engine), traverse-contracts (contract schema and validation), traverse-cli (command-line interface), traverse-mcp (MCP stdio server for AI agents), traverse-embedder (public Rust embedder SDK), traverse-native-bridge and traverse-swift-host (native mobile bridge building blocks), and traverse-expedition-wasm (the bundled example domain compiled to wasm32-wasi). The capability registry, traverse-registry, was extracted into its own repository and is now an external published dependency, not a workspace crate.\"}}]}";
const _body = "<p>Traverse's own repo is a workspace of eight Rust crates. Each one has a specific job. You can use them together through the CLI or pull individual crates into your own code.</p>\n\n <h2>traverse-runtime</h2>\n <p>The core execution engine. It drives the state machine from <code>idle</code> through discovery, constraint evaluation, selection, and execution. Every placement target builds on this crate. You use it if you are embedding Traverse in a Rust application rather than calling it from the CLI.</p>\n\n <h2>traverse-contracts</h2>\n <p>Defines the contract schema: input and output types, preconditions, postconditions, placement constraints, and the governing spec. The runtime uses this crate to parse, validate, and enforce contracts. You interact with it by writing TOML contract files.</p>\n\n <h2>traverse-cli-rs</h2>\n <p>The <code>traverse-cli</code> command, installed with <code>cargo install traverse-cli-rs --locked</code>. The plain <code>traverse-cli</code> crate on crates.io is an unrelated project, so don't install that one. It wraps the runtime and MCP server in a terminal interface. Most developers only need this crate directly.</p>\n\n <h2>traverse-mcp</h2>\n <p>Implements the MCP stdio server that exposes your capabilities to AI agents. It supports <code>tools/list</code> and <code>tools/call</code>. It ships as its own binary, started with <code>traverse-mcp stdio</code>. See <a href=\"/questions/how-does-the-mcp-server-work.html\">how the MCP server works</a> for details.</p>\n\n <h2>traverse-embedder</h2>\n <p>The public Rust embedder SDK for host applications — Linux GTK apps and CLI tools — that want to load and run an application-owned bundle of capabilities directly, without going through the CLI's server process.</p>\n\n <h2>traverse-native-bridge and traverse-swift-host</h2>\n <p>The building blocks for platform-native mobile embedders. <code>traverse-native-bridge</code> is a deterministic builder for the governed WebAssembly runtime artifact those bridges load. <code>traverse-swift-host</code> is the Apple static-library host — packaged as the <code>TraverseSwiftHost</code> XCFramework — behind the Swift/iOS runtime bridge.</p>\n\n <h2>traverse-expedition-wasm</h2>\n <p>Compiles the bundled \"expedition\" example domain to <code>wasm32-wasi</code> for testing and demos. It is not the browser embedder — browser execution is handled separately by the public Web/TypeScript embedder SDK, which runs directly against the browser's native WebAssembly host.</p>\n\n <h2>What about traverse-registry?</h2>\n <p>It used to live in this workspace, but it was extracted into its own repository, <code>traverse-framework/registry</code>, and is now consumed here as an independently versioned, externally published dependency rather than a workspace crate.</p>";
const _jsonLd = "{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What crates make up Traverse?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Traverse's repo is made up of eight crates: traverse-runtime (core execution engine), traverse-contracts (contract schema and validation), traverse-cli-rs (command-line interface, binary traverse-cli), traverse-mcp (MCP stdio server for AI agents), traverse-embedder (public Rust embedder SDK), traverse-native-bridge and traverse-swift-host (native mobile bridge building blocks), and traverse-expedition-wasm (the bundled example domain compiled to wasm32-wasi). The capability registry, traverse-registry, was extracted into its own repository and is now an external published dependency, not a workspace crate.\"}}]}";
---
<QuestionLayout
title={"What crates make up Traverse?"}
Expand Down
4 changes: 2 additions & 2 deletions src/pages/questions/what-is-the-traverse-cli.astro
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
import QuestionLayout from '@layouts/QuestionLayout.astro';

const relatedLinks = [];
const _body = "<p>The Traverse CLI is the <code>traverse</code> command-line tool you use to compile contracts, register capabilities, execute them locally, and inspect results. It is built from the <code>traverse-cli</code> crate and wraps the full runtime in a developer-friendly interface.</p>\n\n <h2>What you can do with it</h2>\n <ul>\n <li>Compile a contract TOML file into a validated contract artifact</li>\n <li>Register a capability (contract + WASM binary) into the local registry</li>\n <li>Run a capability with a JSON input and see the output and trace</li>\n <li>List all registered capabilities and their versions</li>\n <li>Start the MCP stdio server for AI agent integration</li>\n <li>Inspect trace artifacts from previous executions</li>\n </ul>\n\n <h2>Basic usage</h2>\n <pre><code># Scaffold a new capability package\ntraverse-cli capability new pricing.calculate-total\n\n# After you build the wasm32-wasip1 binary, register a bundle's\n# capabilities, events, and workflows\ntraverse-cli bundle register examples/expedition/registry-bundle/manifest.json\n\n# Execute a capability package against a runtime request\ntraverse-cli capability-package execute capabilities/pricing.calculate-total/manifest.json request.json\n\n# List registered capabilities\ntraverse-cli registry list</code></pre>\n\n <h2>Starting the MCP server</h2>\n <p>The MCP stdio server ships as its own binary, separate from the CLI:</p>\n <pre><code>traverse-mcp stdio</code></pre>\n <p>This makes your local registry available to any MCP-compatible client, including Claude Desktop. See <a href=\"/questions/how-does-the-mcp-server-work.html\">how the MCP server works</a> for details.</p>\n\n <h2>Installation</h2>\n <p>Install from crates.io with Cargo:</p>\n <pre><code>cargo install traverse-cli</code></pre>\n <p>You need Rust 1.94 or newer (the pinned toolchain version) and the <code>wasm32-wasip1</code> target installed. See the <a href=\"/docs/cli-reference.html\">CLI reference</a> for a full command listing.</p>";
const _jsonLd = "{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is the Traverse CLI?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The Traverse CLI (traverse-cli) is the command-line tool for compiling contracts, registering capabilities, running them locally, and inspecting trace artifacts. It is the primary interface for developing with Traverse outside of an IDE.\"}}]}";
const _body = "<p>The Traverse CLI is the <code>traverse</code> command-line tool you use to compile contracts, register capabilities, execute them locally, and inspect results. It is published on crates.io as <code>traverse-cli-rs</code> (the installed binary is <code>traverse-cli</code>) and wraps the full runtime in a developer-friendly interface.</p>\n\n <h2>What you can do with it</h2>\n <ul>\n <li>Compile a contract TOML file into a validated contract artifact</li>\n <li>Register a capability (contract + WASM binary) into the local registry</li>\n <li>Run a capability with a JSON input and see the output and trace</li>\n <li>List all registered capabilities and their versions</li>\n <li>Start the MCP stdio server for AI agent integration</li>\n <li>Inspect trace artifacts from previous executions</li>\n </ul>\n\n <h2>Basic usage</h2>\n <pre><code># Scaffold a new capability package\ntraverse-cli capability new pricing.calculate-total\n\n# After you build the wasm32-wasip1 binary, register a bundle's\n# capabilities, events, and workflows\ntraverse-cli bundle register examples/expedition/registry-bundle/manifest.json\n\n# Execute a capability package against a runtime request\ntraverse-cli capability-package execute capabilities/pricing.calculate-total/manifest.json request.json\n\n# List registered capabilities\ntraverse-cli registry list</code></pre>\n\n <h2>Starting the MCP server</h2>\n <p>The MCP stdio server ships as its own binary, separate from the CLI:</p>\n <pre><code>traverse-mcp stdio</code></pre>\n <p>This makes your local registry available to any MCP-compatible client, including Claude Desktop. See <a href=\"/questions/how-does-the-mcp-server-work.html\">how the MCP server works</a> for details.</p>\n\n <h2>Installation</h2>\n <p>Install from crates.io with Cargo:</p>\n <pre><code>cargo install traverse-cli-rs --version =0.15.0 --locked</code></pre>\n <p>Watch the crate name: <code>traverse-cli</code> on crates.io is an unrelated project (a Solidity analysis tool) that installs a binary with the same name, so <code>cargo install traverse-cli</code> gets you the wrong tool. You need Rust 1.94 or newer (for example <code>rustup toolchain install 1.94.0</code>, then <code>cargo +1.94.0 install traverse-cli-rs --locked</code>) and the <code>wasm32-wasip1</code> target installed. <code>model package-onnx</code> also needs the ONNX runner guest, which the crate doesn't ship yet; for now it comes from <code>fixtures/onnx/runner.wasm</code> at the release tag (tracked in <a href=\"https://github.com/traverse-framework/traverse/issues/1687\">#1687</a>). See the <a href=\"/docs/cli-reference.html\">CLI reference</a> for a full command listing.</p>";
const _jsonLd = "{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is the Traverse CLI?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The Traverse CLI (crate traverse-cli-rs, binary traverse-cli) is the command-line tool for compiling contracts, registering capabilities, running them locally, and inspecting trace artifacts. It is the primary interface for developing with Traverse outside of an IDE.\"}}]}";
---
<QuestionLayout
title={"What is the Traverse CLI?"}
Expand Down
Loading