MF-9: Multi-forge runbook + docs #300

Closed
opened 2026-04-23 23:33:17 +00:00 by code-lead · 0 comments
Collaborator

As an operator, I want an end-to-end runbook for "how to add a GitHub / GitLab repo to the fleet" so that onboarding a new forge-hosted repo doesn't require reading the code.

Acceptance criteria

Runbook doc

  • New docs/multi-forge.md with one runbook per forge:
    1. Create the webhook in the forge UI (exact events, URL, secret format).
    2. Create a PAT with the required scopes (see below).
    3. Drop the token file at the path declared in config/agents.json.
    4. Add the repo to config/agents.json with forge: "<type>".
    5. Verify dispatch with a smoke-test issue.

Per-forge scope checklist

  • GitHub: repo, workflow.
  • GitLab: api (broadest; GitLab doesn't split).
  • Forgejo: repo, write:issue, write:repository.

Top-level docs

  • README "Forges supported" section lists all three with links to their runbooks.
  • CLAUDE.md "Multi-repo" section updated to reference the new doc.
  • docs/multi-repo.md (existing) cross-links to docs/multi-forge.md where relevant.

Verification hooks in the runbook

  • A final "smoke test" section explains the one just recipe or curl command that proves the webhook path, adapter selection, and token file all line up.

Out of scope

  • Operator UI for adding a repo. Stays CLI + config file for now.
  • Automated webhook creation via the forge API. Manual in the runbook.
  • Screenshots per forge (UIs drift — text instructions age better).

References

  • Spec: specs/multi-forge.md § MF-9.
  • docs/multi-repo.md — existing multi-repo doc to cross-link.
  • CLAUDE.md — top-level index.

Dependencies

  • Blocks on MF-1 and MF-2 — the runbook needs the GitHub and GitLab adapters live so the smoke-test steps actually work.
  • Blocks on MF-4 implicitly (via MF-1 / MF-2). No direct edge.
  • Depends on #292 (MF-1)
  • Depends on #293 (MF-2)
As an operator, I want an end-to-end runbook for "how to add a GitHub / GitLab repo to the fleet" so that onboarding a new forge-hosted repo doesn't require reading the code. ## Acceptance criteria ### Runbook doc - [ ] New `docs/multi-forge.md` with one runbook per forge: 1. Create the webhook in the forge UI (exact events, URL, secret format). 2. Create a PAT with the required scopes (see below). 3. Drop the token file at the path declared in `config/agents.json`. 4. Add the repo to `config/agents.json` with `forge: "<type>"`. 5. Verify dispatch with a smoke-test issue. ### Per-forge scope checklist - [ ] GitHub: `repo`, `workflow`. - [ ] GitLab: `api` (broadest; GitLab doesn't split). - [ ] Forgejo: `repo`, `write:issue`, `write:repository`. ### Top-level docs - [ ] README "Forges supported" section lists all three with links to their runbooks. - [ ] CLAUDE.md "Multi-repo" section updated to reference the new doc. - [ ] `docs/multi-repo.md` (existing) cross-links to `docs/multi-forge.md` where relevant. ### Verification hooks in the runbook - [ ] A final "smoke test" section explains the one `just` recipe or `curl` command that proves the webhook path, adapter selection, and token file all line up. ## Out of scope - Operator UI for adding a repo. Stays CLI + config file for now. - Automated webhook creation via the forge API. Manual in the runbook. - Screenshots per forge (UIs drift — text instructions age better). ## References - Spec: [`specs/multi-forge.md`](../src/branch/main/specs/multi-forge.md) § MF-9. - `docs/multi-repo.md` — existing multi-repo doc to cross-link. - CLAUDE.md — top-level index. ## Dependencies - **Blocks on MF-1** and **MF-2** — the runbook needs the GitHub and GitLab adapters live so the smoke-test steps actually work. - **Blocks on MF-4** implicitly (via MF-1 / MF-2). No direct edge. <!-- machine-parseable deps for the deps.ts body fallback; native POST /dependencies is currently returning HTTP 404 on this Forgejo. --> - Depends on #292 (MF-1) - Depends on #293 (MF-2)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks#300
No description provided.