Skip to content

Named command definitions

A named definition reuses an existing command type. It does not contain executable expressions.

Field Contract
apiVersion ribbit/v1
kind Command
name Lowercase letter followed by lowercase letters, digits, or hyphens
type Scoped built-in or installed type name
typeVersion Exact command type version
action Action declared by the type
config Type configuration object; defaults to {}
defaults Default action arguments; defaults to {}
inference Optional inference settings

See the complete brief definition. Type versions and product versions are separate: the alpha product includes types with version 1.0.0, which does not declare the product stable.

Project definitions are discovered in the working directory's commands/ folder. Global definitions are discovered beside the global configuration. Duplicate names within a scope and built-in names are rejected. Cross-scope collisions require project:NAME or global:NAME.

Invocation arguments override defaults without modifying the definition. Callers override arguments, not the definition's configuration. Unknown YAML keys, duplicate keys, non-JSON values, excessive aliases, and documents larger than 1 MiB fail validation.

ribbit commands validate brief --json
ribbit commands describe brief --json
ribbit run brief --words 25 --file meeting.txt --profile local-small

Related: reusable-command tutorial, reuse guide, extension SDK.