Add Git Hosting Provider abstraction layer (Issue #902) #903
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Implements a Git Hosting Provider abstraction layer to support multiple git hosting platforms (GitHub, GitLab, BitBucket) through a unified interface.
Fixes #902
Features
ghCLI with all methods workingglabCLI) and BitBucketProvider (REST API)Architecture
src/git-hosting/provider.interface.mjssrc/git-hosting/github.provider.mjsghCLIsrc/git-hosting/gitlab.provider.mjsglabCLI)src/git-hosting/bitbucket.provider.mjssrc/git-hosting/index.mjstests/test-git-hosting-providers.mjsKey Methods in Provider Interface
Usage Example
Test Results
Tests cover:
ESLint Configuration Update
Updated
eslint.config.mjsto addargsIgnorePattern: '^_'for theno-unused-varsrule. This allows underscore-prefixed parameters in abstract methods and stub implementations, which is a standard pattern for intentionally unused parameters.Next Steps (Future PRs)
github.lib.mjsto use GitHubProvider🤖 Generated with Claude Code