FM-3 Migrate agents to forge-mcp, drop forgejo-mcp from image + patches #654
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
1 participant
Notifications
Due date
No due date set.
Blocks
#655 FM-4 GitLab end-to-end smoke (real repo, dispatch loop, board render)
charles/claude-hooks
Reference
charles/claude-hooks#654
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
User story
As a platform engineer, I want every agent skill, image, and config switched from
mcp__forgejo__*(upstream binary) tomcp__forge__*(our wrapper), so that the upstream binary +patches/directory disappear from this repo and we own the entire forge-MCP surface.Acceptance criteria
Skill rewrites
/skills/*.mdfile is rewritten to callmcp__forge__*tools.git grep "mcp__forgejo__"under/skills/returns zero hits.get_issue_by_index→get_issuelist_repo_issues→list_issueslist_issue_comments→list_commentscreate_issue_comment→create_commentcreate_review_requests→request_reviewersdelete_review_requests→remove_review_requestsubmit_pull_review→submit_reviewget_pull_request_by_index→get_pull_requestlist_repo_pull_requests→list_pull_requestsImage rebuild
Dockerfiledrops the multi-stageforgejo-mcpbuild. Thepatches/directory is deleted.claude-hooks:devrebuild produces a smaller image with no Go toolchain in the build stage.apps/forge-mcpbuild artifact is copied in at/usr/local/bin/forge-mcp.config/mcp-builtin.jsoncarries exactly one entry:forge, commandforge-mcp, transportstdio. (Per-type shape fromspecs/drop-default-builtins.mdif that spec ships first; legacy single-entry shape otherwise.)Agent-env-sync wiring
agent-env-sync.renderForInstanceinjectsFORGE_TYPE,FORGE_REPO,FORGE_TOKENinto the rendered.claude.json::mcpServers.forge.envper dispatch.FORGE_TOKENS(plural JSON) is rendered with the per-forge token map.Memory + docs
~/.claude/projects/.../memory/mcp_merge_bug.mdis deleted (the patches it documented no longer exist).docs/forge-mcp.mddocuments the tool surface, env contract, and per-forge differences (e.g. GitLab approve-only review).docs/credentials.mdupdated:FORGE_TOKENenv var replacesFORGEJO_ACCESS_TOKENfor agent containers.~/.claude/CLAUDE.mdreference toforgejo-mcpunder "Forgejo / issue tracking" updated toforge-mcponce cut over.Verification
charles/claude-hooks(Forgejo) using onlymcp__forge__*calls. Loop closes successfully.Out of scope
recommended-catalog.jsonfor non-builtin MCPs (covered inspecs/drop-default-builtins.md).forgejo-mcpfor MCP-via-API convenience).References
specs/forge-mcp-multi-forge.md§Story FM-3apps/server/src/infrastructure/agent-env-sync/render-for-instance.tsDockerfile,patches/— to be cleaned up