This path runs complete example applications and tests their handlers in ordinary Chromium. It does not require native WebMCP support.
Install Git, Node 22 or later, and pnpm 10.17.1 or later. The repository pins pnpm 10.17.1. Check that node --version and pnpm --version work before continuing.
Run these commands in a terminal:
git clone --branch v1.0.1 --depth 1 https://github.com/agammann/latch.git
cd latch
pnpm install --frozen-lockfile --ignore-scripts
pnpm build
pnpm exec playwright install chromiumOn Linux, use pnpm exec playwright install --with-deps chromium if browser system dependencies are missing. Installing system dependencies may require administrator access.
A successful build produces the six packages under packages/*/dist and bundles the local console into the CLI. The example source and its generated integrations are already tracked in the checkout.
From the repository root, with ports 5173 and 5174 free:
node scripts/ci-handler.mjsThe script starts both development servers, runs the configured Handler cases and their UI assertions, writes reports/ci-catalog.json and reports/ci-docs.json, and stops its servers. Expect 10 catalog cases and 6 documentation cases to pass, with no failed or blocked cases. Native cases are explicitly recorded as not run in this lane. The checked-in configurations are unchanged.
In terminal A, from the repository root:
pnpm --dir examples/catalog devOpen http://127.0.0.1:5173. Search, filter, sort, and open an item. The data is synthetic and provided for testing.
In terminal B, also from the repository root:
node packages/cli/dist/main.js dev --root examples/catalogOpen http://127.0.0.1:4545 to inspect the contracts and reports. Keep both terminals running. Press Ctrl+C in each terminal when finished. The console's test action runs the unchanged example configuration, including its native case; use step 2 for the ordinary Chromium lane.
To explore the documentation example instead, run pnpm --dir examples/docs dev and open http://127.0.0.1:5174. Use --root examples/docs when starting its console. Only one console can use port 4545 at a time.
The shipped example configurations include required native cases. Read the dated compatibility record first. With the catalog server still running and the target Chrome installation available:
node packages/cli/dist/main.js test --root examples/catalogThe runner requests the testing flag when browser.native is true. A missing native API is reported as blocked and gives a nonzero exit status. That result is not a failure of the ordinary Handler lane and must not be presented as native success.
Use Latch Studio to describe your own tool, then follow Installation. If a command fails, start with Troubleshooting.