GitHub Copilot
developerz.ai is a thin orchestrator — it does not write code. It triages the issue, talks to the reporter, then hands off to GitHub Copilot. Copilot opens the pull request; the maintainer agent watches CI and review, then merges when the machine gates pass. Coding stays in Copilot; developerz.ai only runs the loop around it.
How the handoff works
Set handoff.mode: webhook in .maintainer.yml and point it at a dashboard
webhook that reaches your Copilot automation:
# yaml-language-server: $schema=https://developerz.ai/schemas/maintainer.v1.json
version: 1
handoff:
mode: webhook # webhook | label | none
webhook_ref: copilot-hook
ask_reporter_first: true
When a new issue is triaged and qualified as a bug or feature, the bot fires a
signed issue.handoff event to your webhook. Your automation forwards it to
Copilot, which opens a PR against the repo. See the
.maintainer.yml reference for every handoff field.
Prefer a label-driven flow? Set
mode: labeland the bot applies a GitHub label your Copilot automation watches instead.mode: nonedisables handoff entirely.
What the PR loop does
Once Copilot's PR is open, the maintainer agent takes over:
- Waits for CI to go green and review threads to settle.
- Classifies risk — breaking changes, large diffs, and first-time
contributors pause for approval (
escalate.ask_before_acting). - Merges when the machine gates pass — CI green, review verdict, and branch
protections — never blindly. Set
auto_merge: falseto keep a human in the loop.
No bot-on-bot loops
Copilot also ships a PR reviewer. The maintainer agent detects it and defers — it never reviews a PR Copilot is already reviewing, and never replies at another bot. There are no bot-on-bot loops. (Same for CodeRabbit and Dependabot.)
What's audited
Every step is written to the append-only audit log: the qualification decision,
the issue.handoff event, each CI and review check, and the merge. The bot
always discloses that it is an automated agent. If it isn't logged, it didn't
happen — see the security doc.