Abstract VCS operations behind an interface to support both Gitea and GitHub APIs.
PR #75 adds .github/ workflows and env var fallbacks, but the gitea/ package is hardcoded to Gitea API endpoints.
.github/
gitea/
vcs.Client
vcs/gitea.go
gitea.Client
vcs/github.go
/api/v1/
/api/v3/
/pulls/{n}.diff
/issues/{n}/timeline
/pulls/comments/{id}/resolve
Superseded by a more detailed execution plan with a canonical architecture document:
Note: runtime URL detection (proposed here) was replaced by an explicit --provider github|gitea flag.
--provider github|gitea
Architecture reference: docs/DESIGN-vcs-abstraction.md on feature/github-support.
docs/DESIGN-vcs-abstraction.md
feature/github-support
No dependencies set.
The note is not visible to the blocked user.
Summary
Abstract VCS operations behind an interface to support both Gitea and GitHub APIs.
Context
PR #75 adds
.github/workflows and env var fallbacks, but thegitea/package is hardcoded to Gitea API endpoints.Proposed Design
vcs.Clientinterface with common operations (GetPullRequest, PostReview, etc.)vcs/gitea.goadapter wrapping existinggitea.Clientvcs/github.goadapter for GitHub REST APIAPI Differences to Handle
/api/v1//api/v3/or api.github.com/pulls/{n}.diff/issues/{n}/timeline/pulls/comments/{id}/resolveIteration
Superseded by a more detailed execution plan with a canonical architecture document:
Note: runtime URL detection (proposed here) was replaced by an explicit
--provider github|giteaflag.Architecture reference:
docs/DESIGN-vcs-abstraction.mdonfeature/github-support.