🌿

Isolated Branches

Every branch gets its own isolated build environment. Parallel development without conflicts or resource contention.

🌐

Dynamic Environments

Auto-provision preview environments for PRs, or route branches to dedicated staging/prod targets with zero config.

🛡️

Protection Rules

Enforce code review thresholds, status checks, and deployment approvals before any branch touches production.

Branch-to-Environment Mapping

Define how branches route to environments. Our default strategy auto-detects your workflow, but you can override it per-repo.

Branch
feature/*
Target
Preview
Branch
develop
Target
Staging
Branch
main
Target
Production

Environments inherit secrets, DNS, and scaling policies from your infrastructure profile. Preview environments auto-destroy after 24 hours of inactivity.

Configuration

Manage branches and environments via .git/config.yaml or our CLI. Changes propagate instantly across all connected repos.

YAML CLI
environments:
  production:
    branch: main
    region: us-east-1
    scale: auto
    require_approval: true

  staging:
    branch: develop
    region: eu-west-1
    scale: fixed
    max_replicas: 3

branches:
  protection:
    main:
      required_reviews: 2
      force_pushes: blocked
    develop:
      required_reviews: 1
      status_checks:
        - ci/build
        - ci/security

Role-Based Access Control

Granular permissions ensure only authorized personnel can trigger deployments or modify environment configurations.

Role Branch Access Preview Deploy Staging Deploy Production Deploy
Developer Read/Write Auto View View
Tech Lead Read/Write Auto Approve View
Release Manager Read View Approve Deploy
Admin Full Full Full Full

Roles can be assigned per-repo, per-organization, or via SCIM provisioning. Audit logs capture every branch modification, environment promotion, and approval action.

What's Next?