Examples

Start with a small, complete package. These examples live in the Terminay repository and use only the public extension API.

Session source and MCP install target

The SDK's author example: one agent session source, one MCP install target, and tests through the public harness. Ships in @terminay/extension-api under examples/session-source.

Other packages to read

PackageLocationShows
Language server fixture packages/extension-api/fixtures/language-server The smallest language server extension, launching a stub server over stdio.
Session source fixture packages/extension-api/fixtures/session-source An independent, packable third-party session source.
terminay-language-typescript extensions/language-typescript The bundled TypeScript language server: resolves the project's TypeScript and falls back to a bundled copy.
terminay-gitea extensions/gitea The bundled worktree insight source: pull requests, commit statuses, sign-in, and refresh back-off.
terminay-builtin-agents extensions/builtin-agents The bundled session source with four harnesses and six MCP install targets.

Use an example well

  1. Copy one package into its own repository and give it a globally unique extension ID.
  2. Keep each manifest contribution ID and its runtime registration ID identical.
  3. Run the conformance command, pack the package, then install its .tgz in Terminay.