Skip to content

refactor: migrate all packages from github types to forge types#4

Open
harshs-dyte wants to merge 1 commit intospr/master/f2b3c4d5from
spr/master/a3b4c5d6
Open

refactor: migrate all packages from github types to forge types#4
harshs-dyte wants to merge 1 commit intospr/master/f2b3c4d5from
spr/master/a3b4c5d6

Conversation

@harshs-dyte
Copy link
Copy Markdown
Owner

@harshs-dyte harshs-dyte commented Feb 17, 2026

Replace all usages of github.GitHubInterface, github.GitHubInfo,
github.PullRequest, github.RepoAssignee, and github.CheckStatus*
with their forge package equivalents (forge.ForgeInterface,
forge.ForgeInfo, forge.PullRequest, forge.RepoAssignee, forge.CheckStatus*).

The github client now implements forge.ForgeInterface directly,
the template package accepts forge types, and the spr command uses
the forge abstraction layer.

Main changes:

  • GitHub client: returns forge.PullRequest with URL field populated
  • GitHub client: uses shared forge.BuildPullRequestStack()
  • Mock client: implements forge.ForgeInterface
  • Templates: accept forge.ForgeInfo and forge.PullRequest
  • SPR core: depends on forge.ForgeInterface instead of github.GitHubInterface
  • PR String() uses pr.URL directly instead of building URL from config

Stack:


⚠️ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

Replace all usages of github.GitHubInterface, github.GitHubInfo,
github.PullRequest, github.RepoAssignee, and github.CheckStatus*
with their forge package equivalents (forge.ForgeInterface,
forge.ForgeInfo, forge.PullRequest, forge.RepoAssignee, forge.CheckStatus*).

The github client now implements forge.ForgeInterface directly,
the template package accepts forge types, and the spr command uses
the forge abstraction layer.

Main changes:
- GitHub client: returns forge.PullRequest with URL field populated
- GitHub client: uses shared forge.BuildPullRequestStack()
- Mock client: implements forge.ForgeInterface
- Templates: accept forge.ForgeInfo and forge.PullRequest
- SPR core: depends on forge.ForgeInterface instead of github.GitHubInterface
- PR String() uses pr.URL directly instead of building URL from config

commit-id:a3b4c5d6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant