Step Configuration
Steps are the building blocks of Bivvy workflows. Each step represents a task to be executed during setup.
Basic Step
steps: install_deps: command: npm install title: Install dependencies description: Install Node.js dependencies from package.jsonSensitive Steps
Mark steps that handle sensitive data:
steps: fetch-secrets: command: vault read secret/myapp sensitive: true description: Fetch secrets from VaultSensitive steps receive special treatment:
-
Confirmation prompt: In interactive mode, Bivvy asks for confirmation before running sensitive steps
-
Hidden in dry-run: The actual command is not shown during
--dry-run, displaying[SENSITIVE - command hidden]instead -
Suppressed output: Command output is not logged to prevent accidental exposure of sensitive data
-
No history: Sensitive commands are not recorded in execution history
Completed Checks
Determine if a step is already complete:
steps: node_modules: command: npm install completed_check: type: file_exists path: node_modules
bundle: command: bundle install completed_check: type: command_succeeds command: bundle checkCheck Types
file_exists: Check if a file or directory existscommand_succeeds: Check if a command exits with code 0marker: Use Bivvy’s internal marker systemall: All sub-checks must passany: At least one sub-check must pass
Dependencies
Specify step dependencies:
steps: database: command: rails db:setup depends_on: [deps, migrations]Environment Variables
Set step-specific environment variables:
steps: test: command: npm test env: NODE_ENV: test CI: "true" env_file: .env.testHooks
Run commands before and after the step:
steps: database: command: rails db:setup before: - echo "Starting database setup..." after: - echo "Database ready!"