Add a typed extension¶
Use an extension when the built-ins cannot express the executable behavior you need. Installed extensions are trusted code, so review the source before checking, testing, or installing it.
Scaffold and verify¶
ribbit extensions scaffold extensions/greeting
ribbit extensions check extensions/greeting
ribbit extensions test extensions/greeting
The scaffold supplies TypeScript source, dependency declarations, and a deterministic fixture. Check and test must succeed before installation. Edit the source and fixtures together for your own behavior.
Install and name it¶
Create commands/greeting.yaml:
apiVersion: ribbit/v1
kind: Command
name: greeting
type: '@local/greeting'
typeVersion: '1.0.0'
action: run
config:
prefix: 'Hello '
defaults:
suffix: '!'
Validate the definition, then invoke it:
The scaffold should return Hello Ada!. Inspect the actual scaffold if you have edited its defaults or behavior.
After a source change, repeat check, test, and add explicitly. Discovery and help read declarations; they do not rebuild your source automatically. Removing the installed extension preserves its source directory.
For schemas, modes, bindings, and managed inference APIs, use the extension reference. For the trust boundary, read execution and trust.