#109 added storePRForBranch / loadPRForBranch in internal/cli/pr.go, which call git config inline via exec.CommandContext. #118 added internal/git with runGit and SetBaseBranch doing the same kind of thing.
Move the branch.<name>.forge-pr read/write into internal/git alongside SetBaseBranch (e.g. SetPRNumber / GetPRNumber), and route pr.go through them. That keeps the branch.<name>.* key format in one place and removes the last direct exec git-config calls from the CLI layer.
While in there, findPRForCurrentBranch and GetOrFetchBaseBranch both shell out for git branch --show-current; that could become a single git.CurrentBranch(ctx, dir) helper too.
#109 added
storePRForBranch/loadPRForBranchininternal/cli/pr.go, which callgit configinline viaexec.CommandContext. #118 addedinternal/gitwithrunGitandSetBaseBranchdoing the same kind of thing.Move the
branch.<name>.forge-prread/write intointernal/gitalongsideSetBaseBranch(e.g.SetPRNumber/GetPRNumber), and routepr.gothrough them. That keeps thebranch.<name>.*key format in one place and removes the last directexecgit-config calls from the CLI layer.While in there,
findPRForCurrentBranchandGetOrFetchBaseBranchboth shell out forgit branch --show-current; that could become a singlegit.CurrentBranch(ctx, dir)helper too.