EXTEND

Plugin development

Add a new vertical capability to Gtstitch without touching the framework.

Gtstitch is plugin-first: all vertical capabilities mount additively as plugins, with zero changes to the product layer and the framework layer. The standard procedure for adding a @gtstitch/* plugin follows.

1. Scaffold the package

Create package.json, tsconfig.json and src/index.ts under packages/<tier>/<name>/, named uniformly as @gtstitch/dsh-<name>.

2. Declare persona and tool mounts

Register the persona and tool rows in the preset's agent.cordis.yml. Tool mounts are constrained by persona-boundary and verified by verify-persona-mount-matrix.mjs.

3. Pass the gates

  • Wiring integrity guard (every new tool must be consumed by some persona)
  • Persona mount matrix verification
  • Invariant companion files
  • Typecheck + test coverage gates

4. Add README and i18n

Complete the bilingual README and README.i18n.yaml following the templates in PLUGIN_DEV_GUIDE.md.

5. Register upstream-sync protection

Register new first-party assets in upstream-overrides.json so upstream sync will not wipe them.

For the full hands-on manual, see gtstitch/docs/PLUGIN_DEV_GUIDE.md in the repository.