Skip to main content

Recommended workflows

Use these battle-tested flows to keep teams aligned and deployments predictable.

Local development loop

1

Start from a clean workspace

git checkout main && git pull
cerulion profile use dev
cerulion status
2

Iterate with watch mode

cerulion run local --watch --env dev
Auto-reloads node code and schemas. Logs are grouped by node for quick scanning.
3

Validate before commit

cerulion validate schema ./schemas
cerulion build --output dist/dev.cerbundle --optimize speed

CI pipeline (example)

.github/workflows/cerulion.yml
name: Cerulion CI
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install Cerulion CLI
        run: |
          curl -L "https://downloads.cerulion.com/cli/latest/linux-x86_64.tar.gz" -o cli.tar.gz
          tar -xzf cli.tar.gz
          sudo mv cerulion /usr/local/bin/
      - name: Authenticate
        run: cerulion auth login --token ${{ secrets.CERULION_TOKEN }} --non-interactive
      - name: Select profile
        run: |
          cerulion profile create ci --api https://api.staging.cerulion.com
          cerulion profile use ci
      - name: Validate and build
        run: |
          cerulion validate schema ./schemas
          cerulion build --output dist/${{ github.sha }}.cerbundle --optimize size
      - name: Publish (staging)
        if: github.ref == 'refs/heads/main'
        run: cerulion bundle publish dist/${{ github.sha }}.cerbundle --env staging --output json
Use --dry-run on pull requests to surface schema and config issues without shipping artifacts.

Environment promotion

  1. Publish to staging with --dry-run to preview impacts.
  2. Capture metrics with cerulion metrics --env staging --since 30m.
  3. Promote to production only after SLOs are healthy:
cerulion bundle publish dist/release.cerbundle --env production

Incident response

  • Check health: cerulion status --env production --output json
  • Stream logs: cerulion logs --env production --follow --node ingestion
  • Roll back: cerulion bundle publish dist/previous.cerbundle --env production
Always verify the target environment with cerulion status before running publish commands to avoid cross-environment mistakes.

Collaboration tips

  • Standardize on a shared template (cerulion init --template minimal) to reduce drift across teams.
  • Commit .cerulion/config.yaml but exclude credentials and state files.
  • Add cerulion validate schema and cerulion build --optimize size to your pre-merge checks.
Consistency beats cleverness. Keep workflows predictable so new teammates onboard quickly and operators trust every release.