You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If schema or generator changes: regenerate and commit.
CI behavior
Build & Deploy Docs (docs.yml):
On push/PR to dev and push to main,
CI installs deps, generates architecture diagrams (gen-diagrams), and builds Sphinx (gen-docs).
Only pushes to main deploy to GitHub Pages.
Preview links are attached to PRs and dev pushes.
Do not commit built docs or diagrams.
Event
Branch
Build
Deploy to Pages
push
dev
Install deps (--with docs) + install D2 → poetry run gen-diagrams → poetry run gen-docs → upload artifact
No
PR
dev
Same
No
push
main
Same
Yes
workflow_dispatch
any
Same
Only if main
Design boundaries
Layer
Responsibility
Examples
core
Pydantic domain models
Data models for repos, schemas
services
All interactions with external systems (APIs, git, LLMs)
API clients, ingestors, git wrappers, LLM interfaces
builders
Composition of models in core (using services)
Transformers for building models from raw data
pipelines
End-to-end flows for goals (main focus of the BH2025)
Extracting metadata from a repo, suggesting file changes
adapters
CLI (typer) and API (fastapi) surfaces
Routers, commands, request models
bootstrap
Wiring and dependency injection
Registering composers for models, wiring goals to pipelines
handlers
Orchestrators for (API/CLI) entrypoints for each goal
Creating PRs, extracting metadata
Commit messages
Use clear, action-oriented subjects. Conventional commits encouraged.
Good
Bad
fix: handle 422 from GitHub PR API
fix stuff
feat: add CLI command to extract metadata from repo