Bear¶
Build, Evaluate, Apply, Repeat
A Terraform-inspired CI/CD tool for monorepos. Detect changes, validate, deploy — only what changed.
flowchart LR
A["bear plan"] --> B["Detect changes\n+ Validate"]
B --> C["bear apply"]
C --> D["Deploy\n+ Update lock"]
30-Second Example¶
That's it. Bear detects which services changed, runs validation (tests, linting, builds), and deploys only what's needed.
Key Features¶
| Feature | Description |
|---|---|
| Change detection | Git-based, per-artifact tracking — no base branch needed |
| Dependencies | Libraries trigger rebuilds of dependent services |
| Plan/Apply | Review what will happen before deploying |
| Lock file | Tracks deployed versions per artifact |
| Pinning | Pin artifacts to specific commits, rollback instantly |
| Presets | Pre-built configs for Go, Node, Python, Rust, Java |
Project Structure¶
my-monorepo/
├── bear.config.yml # Project config
├── bear.lock.yml # Deployed versions (auto-managed)
├── services/
│ ├── user-api/
│ │ ├── bear.artifact.yml # Deployable service
│ │ └── ...
│ └── order-api/
│ └── bear.artifact.yml
└── libs/
└── shared/
└── bear.lib.yml # Library (validate-only)
Next¶
- Getting Started — Install and first deploy in 5 minutes
- Configuration — All config options
- CI/CD — GitHub Actions, GitLab CI, Jenkins