5 Commits

Author SHA1 Message Date
584b29bafd Add GNU GPLv3 license
Add the official FSF license text, a copyright/license header in
server.js, license metadata in package.json, and a License section in
the README. Also translate package.json's description field, missed
in the earlier English pass.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-24 03:58:41 +02:00
7e0ab6fdf3 Only fire the routine when an issue/PR is assigned to Claude
Gitea's X-Gitea-Event only gives the coarse event; the precise
"assigned" sub-event lives in X-Gitea-Event-Type (issue_assign,
pull_request_assign). Read that header and check the assignees list
against CLAUDE_GITEA_USERNAME so unrelated assignment changes get a
200 "ignored" instead of triggering a routine fire. Document the known
Gitea limitation where it can't tell us who was just added to
assignees, only the full current list.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-24 03:30:47 +02:00
e1eefd96e3 Translate README, comments, and notification text to English
Covers the README, all code comments in server.js and .env.example,
diagnostic log messages, and the push/pull_request summaries sent to
the Claude Code routine, so the whole codebase and its output are
consistently in English.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-24 03:19:14 +02:00
1886e512eb Add fetch timeout and unify logging on stdout
- Abort the Anthropic fire request after FIRE_TIMEOUT_MS instead of
  letting it hang indefinitely with no outcome logged.
- Log info and error levels both to stdout (JSON has a level field
  already) so a single log stream/tail shows the full picture instead
  of splitting across stdout/stderr, which was hiding forward failures
  from anyone only watching one of the two.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-24 03:08:08 +02:00
6decb31448 Add Gitea-to-Claude-Code-Routines webhook proxy
Express service that authenticates Gitea deliveries, verifies the HMAC
signature, builds a readable text summary for push/pull_request events,
and forwards it to the Anthropic routines API with the headers Gitea
can't set itself. Includes in-memory delivery dedup, structured logging,
.env.example, and a Dockerfile for deployment behind nginx.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-23 20:57:22 +02:00