# Class GitHubReviewer

GitHub-specific reviewer that adds PR detail and review capabilities to a GitHubProvider. Implements IScmReviewer trait.

#### Example

    const provider = createGitHubProvider('owner/repo');
    const reviewer = new GitHubReviewer(provider);
    const detail = await reviewer.getPullRequestDetail(42);

#### Implements

- IScmReviewer

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

##### Index

### Constructors

constructor

### Methods

getPullRequestDetail
createReview
getIssueDetail
listCommentDetails

## Constructors

### constructor

- new GitHubReviewer(provider: GitHubProvider): GitHubReviewer

  #### Parameters

  - provider: GitHubProvider

  #### Returns GitHubReviewer

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

## Methods

### getPullRequestDetail

- getPullRequestDetail(
  prNumber: number,
  ): Promise<Result<ScmPullRequestDetail, ScmError>>

  Fetch PR with full file diffs and stats.

  #### Parameters

  - prNumber: number

  #### Returns Promise<Result<ScmPullRequestDetail, ScmError>>

  Implementation of IScmReviewer.getPullRequestDetail

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

### createReview

- createReview(
  prNumber: number,
  body: string,
  decision: ScmReviewDecision,
  ): Promise<Result<void, ScmError>>

  Post a review on a pull request.

  #### Parameters

  - prNumber: number
  - body: string
  - decision: ScmReviewDecision

  #### Returns Promise<Result<void, ScmError>>

  Implementation of IScmReviewer.createReview

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

### getIssueDetail

- getIssueDetail(issueNumber: number): Promise<Result<ScmIssueDetail, ScmError>>

  Fetch issue with author association and state.

  #### Parameters

  - issueNumber: number

  #### Returns Promise<Result<ScmIssueDetail, ScmError>>

  Implementation of IScmReviewer.getIssueDetail

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

### listCommentDetails

- listCommentDetails(
  issueNumber: number,
  ): Promise<Result<readonly ScmCommentDetail[], ScmError>>

  List comments with author associations.

  #### Parameters

  - issueNumber: number

  #### Returns Promise<Result<readonly ScmCommentDetail[], ScmError>>

  Implementation of IScmReviewer.listCommentDetails

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