Skip to content

Templates

Templates define reusable setup steps. Bivvy includes built-in templates for common tools and allows custom templates.

Using Templates

Reference a template in your step configuration:

steps:
deps:
template: yarn

Template Resolution Order

Templates are resolved in this order (first match wins):

  1. Project templates - .bivvy/templates/steps/
  2. User templates - ~/.bivvy/templates/steps/
  3. Remote templates - Fetched from configured sources
  4. Built-in templates - Bundled with Bivvy

Overriding Template Values

Override any template field in your step config:

steps:
deps:
template: yarn
command: "yarn install --frozen-lockfile" # override default command

Template Inputs

Some templates accept inputs for customization:

steps:
db:
template: postgres
inputs:
database_name: myapp_dev
port: 5433

Creating Custom Templates

Create .bivvy/templates/steps/<name>.yml:

name: my-template
description: "My custom setup step"
category: custom
inputs:
env:
description: "Environment name"
type: string
default: development
step:
title: "Run my setup"
command: "my-setup --env ${env}"
completed_check:
type: file_exists
path: ".setup-complete"

Next Steps