crouter
Plugin

Plugin overview

Expose application operations as native crtr commands with a typed HTTP plugin.

@crouter/plugin turns one TypeScript command tree into both a Fetch handler and the archive accepted by crtr pkg plugin install --endpoint. Use it when an application should expose typed operations as native crtr commands without maintaining commands.json or a separate HTTP route definition.

Start with the package README for a complete plugin that a developer can paste into an empty file. Then read the page that matches the work at hand:

  • Getting started — the deployment and install sequence.
  • Commands — command trees and descriptions that let an agent choose a command.
  • Parameters and handler input — every param.* builder and the inferred handler input type.
  • Output — every field.* builder and handler result validation.
  • Errors and streaming — LeafError, HTTP errors, and NDJSON streaming leaves.
  • Deployment — Fetch frameworks, mount paths, proxies, authentication, and archive compression.
  • Bundles and documents — generating an archive and shipping agent-facing documents.

The package exports only LeafError, ManifestInvalidError, PluginDefinitionError, buildBundle, buildCommandManifest, createFetchHandler, defineBranch, defineLeaf, definePlugin, defineStreamingLeaf, field, kebab, and param. Those are the complete authoring surface.