internal/

directory
v0.22.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2026 License: MIT

Directories

Path Synopsis
Package diagnostics wires the diagnostics domain — doctor preflight checks, config-CLI validation, and smoke delivery tests — into an fx module.
Package diagnostics wires the diagnostics domain — doctor preflight checks, config-CLI validation, and smoke delivery tests — into an fx module.
application
Package application holds the diagnostics use cases — the doctor, the config list/validate CLI, and the smoke delivery — behind the domain's use-case interfaces.
Package application holds the diagnostics use cases — the doctor, the config list/validate CLI, and the smoke delivery — behind the domain's use-case interfaces.
domain
Package domain defines the diagnostics domain's ports, DTOs, and constants — the operator-tooling contracts (preflight doctor, config CLI, smoke delivery).
Package domain defines the diagnostics domain's ports, DTOs, and constants — the operator-tooling contracts (preflight doctor, config CLI, smoke delivery).
infrastructure
Package infrastructure holds the diagnostics adapters: the config snapshot and database probe, the routing lock gateway, the request signer, the webhook sender, the report writer, and the smoke store/Slack adapters.
Package infrastructure holds the diagnostics adapters: the config snapshot and database probe, the routing lock gateway, the request signer, the webhook sender, the report writer, and the smoke store/Slack adapters.
Package digest wires the digest domain — the scheduled stuck-PR reminder — into an fx module.
Package digest wires the digest domain — the scheduled stuck-PR reminder — into an fx module.
application
Package application holds the digest use cases — the stuck-PR reporter and the cron scheduler — behind the domain's use-case interfaces.
Package application holds the digest use cases — the stuck-PR reporter and the cron scheduler — behind the domain's use-case interfaces.
domain
Package domain defines the digest domain's ports, DTOs, and constants — the scheduled stuck-PR reminder contracts.
Package domain defines the digest domain's ports, DTOs, and constants — the scheduled stuck-PR reminder contracts.
infrastructure
Package infrastructure holds the digest adapters: a stuck-PR repository over the store and Slack composer/poster adapters over the platform client.
Package infrastructure holds the digest adapters: a stuck-PR repository over the store and Slack composer/poster adapters over the platform client.
Package kernel holds the shared domain value objects — PR, Message, Event, Sender, ReviewState — and the cross-domain enums used by the notification, review, and routing domains.
Package kernel holds the shared domain value objects — PR, Message, Event, Sender, ReviewState — and the cross-domain enums used by the notification, review, and routing domains.
Package maintenance wires the maintenance domain — stale-message cleanup and PR reconcile — into an fx module.
Package maintenance wires the maintenance domain — stale-message cleanup and PR reconcile — into an fx module.
application
Package application holds the maintenance use cases — stale-message cleanup and PR reconcile — implemented against the ports declared in the maintenance domain layer.
Package application holds the maintenance use cases — stale-message cleanup and PR reconcile — implemented against the ports declared in the maintenance domain layer.
domain
Package domain holds the maintenance domain's contracts: the ports, DTOs, enums, and constants for stale-message cleanup and PR reconcile.
Package domain holds the maintenance domain's contracts: the ports, DTOs, enums, and constants for stale-message cleanup and PR reconcile.
infrastructure
Package infrastructure holds the maintenance adapters: the store-backed PR repository and the GitHub PR-state checker, each implementing a maintenance domain port.
Package infrastructure holds the maintenance adapters: the store-backed PR repository and the GitHub PR-state checker, each implementing a maintenance domain port.
Package notification wires the notification domain — the core PR-event → chat notification flow — into an fx module.
Package notification wires the notification domain — the core PR-event → chat notification flow — into an fx module.
application
Package application holds the notification use cases — the PR-lifecycle handlers (open/close/draft and the review-reaction handlers) and the event dispatcher — behind the domain's Handler and use-case interfaces.
Package application holds the notification use cases — the PR-lifecycle handlers (open/close/draft and the review-reaction handlers) and the event dispatcher — behind the domain's Handler and use-case interfaces.
domain
Package domain defines the notification domain's ports, DTOs, enums, and policies — the contracts for keeping one chat message per (PR, channel) in sync with GitHub PR events.
Package domain defines the notification domain's ports, DTOs, enums, and policies — the contracts for keeping one chat message per (PR, channel) in sync with GitHub PR events.
infrastructure
Package infrastructure holds the notification adapters: the messages repository over the store, the Slack messenger over the platform client, and the GitHub inbound receiver.
Package infrastructure holds the notification adapters: the messages repository over the store, the Slack messenger over the platform client, and the GitHub inbound receiver.
platform
bitbucket
Package bitbucket is a minimal Bitbucket Cloud REST API client covering only the endpoints notifycat needs for validation and path routing.
Package bitbucket is a minimal Bitbucket Cloud REST API client covering only the endpoints notifycat needs for validation and path routing.
config
Package config loads runtime configuration from a single config.yaml file.
Package config loads runtime configuration from a single config.yaml file.
github
Package github is a minimal GitHub API client covering only the endpoints notifycat needs for validation.
Package github is a minimal GitHub API client covering only the endpoints notifycat needs for validation.
httpx
Package httpx holds the HTTP plumbing shared by notifycat's signed-webhook receivers.
Package httpx holds the HTTP plumbing shared by notifycat's signed-webhook receivers.
persistence
Package store owns the database schema, GORM models, repositories, and the goose-driven migration runner.
Package store owns the database schema, GORM models, repositories, and the goose-driven migration runner.
security
Package security holds notifycat's inbound-request authentication: signature verifiers for the signed webhooks it receives.
Package security holds notifycat's inbound-request authentication: signature verifiers for the signed webhooks it receives.
slack
Package slack talks to the Slack Web API for the PR notifier: posting, updating, and deleting messages, adding emoji reactions, and composing the blocks of the notification.
Package slack talks to the Slack Web API for the PR notifier: posting, updating, and deleting messages, adding emoji reactions, and composing the blocks of the notification.
Package review wires the review domain — the interactive "Start review" flow — into an fx module.
Package review wires the review domain — the interactive "Start review" flow — into an fx module.
application
Package application holds the review use cases — recording a reviewer and decorating the PR message on a "Start review" click — behind the domain's use-case interfaces.
Package application holds the review use cases — recording a reviewer and decorating the PR message on a "Start review" click — behind the domain's use-case interfaces.
domain
Package domain defines the review domain's ports, DTOs, and errors — the interactive "Start review" flow's contracts.
Package domain defines the review domain's ports, DTOs, and errors — the interactive "Start review" flow's contracts.
infrastructure
Package infrastructure holds the review adapters: the code-reviews repository over the store, the Slack message decorator, and the Slack interactions inbound receiver.
Package infrastructure holds the review adapters: the code-reviews repository over the store, the Slack message decorator, and the Slack interactions inbound receiver.
Package routing wires the routing domain — repository→channel resolution across tiers and monorepo path rules — into an fx module.
Package routing wires the routing domain — repository→channel resolution across tiers and monorepo path rules — into an fx module.
application
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).
domain
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.
infrastructure
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.
Package runtime is the fx composition root for the notifycat server.
Package runtime is the fx composition root for the notifycat server.
Package validation wires the validation domain — per-repository mapping checks against Slack and a git provider — into an fx module.
Package validation wires the validation domain — per-repository mapping checks against Slack and a git provider — into an fx module.
application
Package application holds the validation use cases: the per-repository Validator and the entry runner that expands and validates mapping entries.
Package application holds the validation use cases: the per-repository Validator and the entry runner that expands and validates mapping entries.
domain
Package domain holds the validation domain's contracts: the ports that infrastructure adapters satisfy, the DTOs and enums that describe a validation run, and the constants that define what "valid" means.
Package domain holds the validation domain's contracts: the ports that infrastructure adapters satisfy, the DTOs and enums that describe a validation run, and the constants that define what "valid" means.
infrastructure
Package infrastructure holds the validation adapters that satisfy the domain ports over real clients — today, a Slack probe over the platform Slack client.
Package infrastructure holds the validation adapters that satisfy the domain ports over real clients — today, a Slack probe over the platform Slack client.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL