First successful local run using the companion demo repo.
Prerequisites:
- Demo repo present at
../bear-account-demo - Vendored CLI at
.bear/tools/bear-cli bear.blocks.yamlin the demo repo root (required for--allcommands)
Example sibling layout:
<parent>/bear-cli
<parent>/bear-account-demo
- Enter the demo repo.
cd ../bear-account-demo- Verify the vendored CLI.
./.bear/tools/bear-cli/bin/bear --help
# Windows: .\.bear\tools\bear-cli\bin\bear.bat --help-
Let your agent update IR first if boundary authority changes, then implement the specs inside the generated constraints.
-
Compile deterministic generated artifacts.
./.bear/tools/bear-cli/bin/bear compile --all --project .
# Windows: .\.bear\tools\bear-cli\bin\bear.bat compile --all --project .Expected outcome: all selected blocks compile and summary EXIT_CODE: 0.
- Run enforcement.
./.bear/tools/bear-cli/bin/bear check --all --project .Expected outcome: all selected blocks pass and summary EXIT_CODE: 0.
- Run PR governance.
./.bear/tools/bear-cli/bin/bear pr-check --all --project . --base HEADExpected outcome: pr-check: OK: NO_BOUNDARY_EXPANSION and exit 0.
For real PR/CI, set --base to the target branch or merge-base target.
- Run the packaged CI wrapper.
./.bear/ci/bear-gates.sh --mode observe --base-sha HEAD
# Windows: .\.bear\ci\bear-gates.ps1 --mode observe --base-sha HEADExpected outcome: summary lines on stdout, build/bear/ci/bear-ci-report.json,
and build/bear/ci/bear-ci-summary.md for downstream CI audit and GitHub
step-summary routing.
The quickstart proves the local command path only.
The full review story lives in the companion demo repo, where BEAR is shown in actual pull requests with:
PASSfor ordinary governed evolutionREVIEW REQUIREDfor intentional boundary expansion- sticky PR comment plus uploaded CI artifacts in GitHub Actions
See DEMO.md for that walkthrough.
For the packaged downstream CI pattern, allow-file approval flow, and copyable GitHub Actions usage, continue with CI_INTEGRATION.md.
All --all commands require bear.blocks.yaml.
Minimal valid example:
version: v0
blocks:
- name: inventory-sync
ir: bear-ir/inventory-sync.bear.yaml
projectRoot: .Fallback single-file path:
./.bear/tools/bear-cli/bin/bear compile bear-ir/<block>.bear.yaml --project .
./.bear/tools/bear-cli/bin/bear check bear-ir/<block>.bear.yaml --project .
./.bear/tools/bear-cli/bin/bear pr-check bear-ir/<block>.bear.yaml --project . --base HEADIf something fails, go to troubleshooting.md.