Documentation
¶
Overview ¶
Package routing wires the routing domain — repository→channel resolution across tiers and monorepo path rules — into an fx module. This file is the only fx-aware part of the domain; the domain, application, and infrastructure layers stay framework-free.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Module = fx.Module("routing", fx.Provide( fx.Annotate(provideProvider, fx.As(new(domain.RoutingProvider))), fx.Annotate(application.NewRouter, fx.As(new(domain.TargetResolver))), ), )
Module binds the routing ports to their use cases. It expects the composition root to supply the external inputs it cannot build itself: a domain.ChangedFilesReader (the GitHub client), a *slog.Logger, and a Config.
Functions ¶
This section is empty.
Types ¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package application holds the routing use cases: the provider (tier resolution and defaults merge) and the per-PR router (layering monorepo path rules over the base repo/org tier).
|
Package application holds the routing use cases: the provider (tier resolution and defaults merge) and the per-PR router (layering monorepo path rules over the base repo/org tier). |
|
Package domain holds the routing domain's contracts: the ports, DTOs, enums, constants, and pure validation for resolving a repository (and a PR's changed files) to the Slack channel(s) and behavioural config that apply, across the global/org/repo tiers and monorepo path rules.
|
Package domain holds the routing domain's contracts: the ports, DTOs, enums, constants, and pure validation for resolving a repository (and a PR's changed files) to the Slack channel(s) and behavioural config that apply, across the global/org/repo tiers and monorepo path rules. |
|
Package infrastructure holds the routing adapters: the YAML loader for the mappings section of config.yaml, the config.lock read/write/diff/merge store, and the GitHub changed-files reader.
|
Package infrastructure holds the routing adapters: the YAML loader for the mappings section of config.yaml, the config.lock read/write/diff/merge store, and the GitHub changed-files reader. |
Click to show internal directories.
Click to hide internal directories.