Skip to content
Agent Compat

Custom adapters

Extend the registry without coupling your tool to Meta-Architect.

Adapters describe a concrete product surface. Registering one changes the current process registry only; it does not install a vendor runtime.

import { Agents } from "@jstn-sdk/agents";

Agents.register({
  id: "my-tool",
  vendor: "my-company",
  product: "my-tool",
  surface: "cli",
  support: "portable",
  verification: { contract: "verified", runtime: "unverified" },
  signals: [{ type: "file", path: "MY-TOOL.md" }],
  outputs: [{ path: "MY-TOOL.md", format: "document" }],
  capabilities: {
    instructions: true,
    skills: false,
    mcp: false,
  },
});

Adapter contract

FieldPurpose
idUnique surface identifier used by targets.
vendor, product, surfaceHuman-readable taxonomy metadata.
signalsRepository files or directories used for detection.
outputsRelative files generated and validated for the surface.
skillRootOptional directory for generated SKILL.md files.
capabilitiesDeclared native or portable feature support.
supportnative, portable, or experimental.
verificationContract and runtime evidence boundary.

Every output path is resolved inside the compile root. Unsafe traversal and symlinked writes are rejected.

Registry helpers

Agents.list();
Agents.get("cursor");
Agents.reset();

Use reset() in isolated tests when you need to restore the built-in registry before registering test adapters.

On this page