Skip to content

bivvy schema

Print or save the JSON Schema for .bivvy/config.yml. Use this to enable autocompletion and validation in your editor.

Usage

Terminal window
bivvy schema
Terminal window
bivvy schema --output bivvy-schema.json

Options

OptionDescription
-o, --output <path>Write the schema to a file instead of printing to stdout. Creates parent directories if they don’t exist.

What It Does

Outputs the JSON Schema that describes the structure of Bivvy configuration files. The schema follows the JSON Schema 2020-12 specification (the document is emitted with "$schema": "https://json-schema.org/draft/2020-12/schema") and covers all config properties including app_name, settings, steps, and workflows.

By default the schema is printed to stdout so you can pipe it to a file or another tool. With --output, Bivvy writes the schema directly to the specified path and confirms with a success message.

Examples

Print schema to stdout:

Terminal window
bivvy schema

Save schema to a file:

Terminal window
bivvy schema --output bivvy-schema.json

Save to a nested path (directories are created automatically):

Terminal window
bivvy schema --output .vscode/bivvy-schema.json

Pipe to a file:

Terminal window
bivvy schema > bivvy-schema.json

IDE Integration

The generated schema enables autocompletion, validation, and hover documentation in editors that support YAML language server features. See the IDE Integration guide for full setup instructions covering VS Code, JetBrains IDEs, Neovim, and Helix.

In most cases you don’t need to run bivvy schema at all: every bivvy invocation refreshes ~/.bivvy/schema.json, which editors can point at directly.

Quick Setup (VS Code)

Add to your user settings JSON:

{
"yaml.schemas": {
"/Users/you/.bivvy/schema.json": "**/.bivvy/config.yml"
}
}

Or add an inline schema directive to the top of your config file:

# yaml-language-server: $schema=/Users/you/.bivvy/schema.json
app_name: my-app

bivvy init writes this directive automatically on new configs.