Add Gitea integration for agent to push branches and open pull requests
- Implemented `register-gitea-bot.sh` to provision Gitea access token. - Updated `maintainer.py` to support Gitea API for push and PR operations. - Modified `install.sh` to warn if Gitea token is not provisioned. - Enhanced documentation in `README.md`, `CLAUDE.md`, and `architecture.md` to reflect new Gitea functionality. - Added Gitea configuration to `config.example.json`.
This commit is contained in:
@@ -38,6 +38,18 @@ feeds the agent state and relays its results.
|
||||
`fix-only` or `notify`.
|
||||
- **Matrix transport**: dedicated bot `@maintainer:semprini.me` (created via the
|
||||
Synapse registration shared secret) in a private room with `@paul:semprini.me`.
|
||||
- **Code changes go through pull requests.** When the agent edits tracked files
|
||||
it branches, pushes, and opens a PR on Gitea (`git.semprini.me`) as the
|
||||
`claude-code` user rather than committing to `main`, giving the operator a
|
||||
review gate. Live remediation (restart/redeploy) is *not* gated — only the git
|
||||
change is. claude-code is an OIDC-linked, push-capable collaborator; since
|
||||
git.semprini.me disables password login + HTTP basic auth, `register-gitea-bot.sh`
|
||||
mints a personal access token via the gitea admin CLI inside the `user-gitea`
|
||||
container (mirroring the Matrix bot's shared-secret pattern). A PAT still works
|
||||
for git-over-HTTPS and the API, so no SSH exposure or core-stack change is
|
||||
required. The daemon injects the bot's git identity + credential (`GIT_CONFIG_*`,
|
||||
scoped to the Gitea host so it overrides the repo's own `user.*`) and the API
|
||||
coordinates into the headless agent; the agent opens the PR itself.
|
||||
|
||||
## Cadence
|
||||
|
||||
|
||||
Reference in New Issue
Block a user