v0.7.0
A second tbd_ship for the same change no longer errors on "branch exists": CreateBranch conflict is tolerated, and if a PR is already open for the head, CreatePullRequest's conflict/validation error resolves it via ListPullRequests (matching head.ref). Identical file content on the branch skips the write, so a resume produces no redundant empty-diff commit. Then the same CI gate runs and merges if now green — so "poll or re-invoke" (the #40 UX) actually works. Test: TestTBDShip_Resume_ExistingBranchAndPR (branch+PR exist, content unchanged → no write, merges when green). First-call paths unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
gitea-mcp
Streamable HTTP MCP service exposing Gitea repo operations to Claude apps.
See ~/dev/AI/infra/docs/superpowers/specs/2026-05-04-gitea-mcp-gitops-workflow-design.md.
Quickstart
task setup:hooks # installs .githooks/pre-push — runs task check before every push
task check # context sync + lint + test + vet
task build # produces bin/gitea-mcp
This repo uses Trunk-Based Development. Commit directly to main. The pre-push
hook enforces the quality gate locally; CI re-runs task check on every push.
Languages
Go
98.3%
Shell
1.5%
Dockerfile
0.2%