# Function createFullGitHubProvider

- createFullGitHubProvider(
  repo: string,
  ): GitHubProvider & IScmReviewer & IScmUserInfo

  Creates a full-capability GitHub provider with all traits.

  Returns an object that implements IScmProvider & IScmReviewer & IScmUserInfo. Consumers can narrow the type to only the traits they need.

  #### Parameters

  - repo: string

  #### Returns GitHubProvider & IScmReviewer & IScmUserInfo

  #### Example

      const provider = createFullGitHubProvider('owner/repo');
      // Use as ReviewCapableProvider
      const detail = await provider.getPullRequestDetail(42);
      // Use as IScmUserInfo
      const user = await provider.fetchUserMetadata('octocat');

  - Defined in packages/nexus-agents/src/scm/github-provider-traits.ts:378