feat(webhook): per-forge ingress + signature verification (MF-3) #305
No reviewers
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks!305
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "boss/294"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds three new HTTP routes (
/webhooks/forgejo,/webhooks/github,/webhooks/gitlab) plus a/webhooksalias for back-compat, each applying its forge's signature scheme and normalising the payload to a forge-neutralForgeEventdiscriminated union exported from@claude-hooks/shared. The Forgejo dispatch switch is unchanged; the normaliser scaffolds the shape MF-1 / MF-2 will dispatch on.Closes #294
Test plan
bun test apps/server— 1128/1128 pass (added 29 new tests)bun x turbo run typecheck lint— cleangithub_webhook_secret_file/gitlab_webhook_secret_fileinagents.json, point a GitHub or GitLab webhook at the matching route, confirm 204 on a known event and 403 on a bad signature/webhook/forgejostill works (route preserved verbatim)3f142ad006a1263c41d4