Run the catalogue locally
Las runs from source on Node.js 18+ inside a coordinated Wisent workspace. Node core modules implement the server; `npm install` adds no runtime dependencies.
Prerequisites#
- Node.js 18 or newer.
- A local Wisent workspace whose parent contains `las/` and the required sibling product repositories/build artifacts at registry-defined paths.
- Current child binaries/modules.
- Four absolute manifest/trust/watermark paths, with owner-only trust-store and watermark files.
- A valid, unexpired, owner-signed release manifest and detached signature.
- Child-specific configuration allowed by the registry.
Install and configure#
Clone the repository and configure the signed release material. A standalone clone layout is insufficient for normal use — Las resolves sibling products from the parent Wisent workspace.
git clone https://github.com/wisent-ai/las.git
cd las
npm install
export LAS_RELEASE_MANIFEST_FILE=/absolute/path/release-manifest.json
export LAS_RELEASE_MANIFEST_SIGNATURE_FILE=/absolute/path/release-manifest.sig.json
export LAS_RELEASE_TRUST_STORE_FILE=/absolute/path/trust-store.json
export LAS_RELEASE_WATERMARK_FILE=/absolute/path/watermark.jsonInspect and check#
`las list` reads registry/configuration state only — it does not spawn children or prove connectivity. A missing or invalid manifest makes ordinary signed surfaces unconfigured rather than silently trusting current files. `las check` spawns each selected child, initializes MCP, verifies `tools/list`, reports the tool count, then closes it; it exits 1 if any selected child fails.
node src/cli.mjs list
LAS_ONLY=tama,brama node src/cli.mjs check tama bramaCLI surface#
- `las list` — every known surface with static summary plus `configured` and `active` booleans.
- `las tools [surface...]` — spawns and handshakes selected children, returning namespaced tool names or a per-surface error object.
- `las check [surface...]` — the same verified handshake; non-zero exit if any selected child is down.
- `las onboarding [show|status|advance|skip|reset]` — explains the catalogue/federation model; only a successful real catalogue query completes the persisted first-use journey.
- With no names, `tools`/`check` use every active surface after filters. Unknown, unsigned/unconfigured, or filtered-out explicit surfaces are rejected.