Skip to main content
The Pair Extraordinaire achievement is earned by creating commits with coauthors that get merged via pull requests.

Achievement Details

PropertyValue
Achievement IDpair-extraordinaire
Icon👥
DescriptionCoauthored commits on merged pull requests
Helper AccountNot required

Tiers

Default Tier

1 coauthored commit on merged PR

Bronze Tier

10 coauthored commits on merged PRs

Silver Tier

24 coauthored commits on merged PRs

Gold Tier

48 coauthored commits on merged PRs

How It Works

The automation creates coauthored commits using the Co-authored-by trailer in commit messages:
  1. Creates a branch - Temporary branch like achievements-pair-1
  2. Makes coauthored commit - Includes coauthor in commit message
  3. Opens pull request - Creates PR from branch to main
  4. Merges PR - Uses squash merge to combine commits
  5. Cleans up - Deletes the temporary branch
Each operation creates one merged PR with a coauthored commit, incrementing your achievement count.

Configuration

You need to configure a coauthor in your .env file:
GITHUB_TOKEN=ghp_your_token_here
GITHUB_USERNAME=your-username
TARGET_REPO=your-username/your-repo

# Coauthor details (can be any name/email)
COAUTHOR_NAME=Pair Partner
[email protected]
The coauthor email doesn’t need to be a real GitHub account. GitHub recognizes the coauthor pattern regardless.

Implementation Details

From src/achievements/pairExtraordinaire.ts:62-71:
const commit = await createAchievementCommit(this.owner, this.repo, {
  branch: branchName,
  achievementName: 'Pair Extraordinaire',
  number,
  tier: this.tier,
  coauthor: {
    name: this.config.coauthorName,
    email: this.config.coauthorEmail,
  },
});
The PR creation and merge (from src/achievements/pairExtraordinaire.ts:74-88):
const pr = await createAndMergePR(this.owner, this.repo, {
  title: `Achievement: Pair Extraordinaire #${number}`,
  body: `## Pair Extraordinaire Achievement

This PR was created as part of the Pair Extraordinaire achievement (${this.tier} tier).

**Coauthored with:** ${this.config.coauthorName} <${this.config.coauthorEmail}>

---
*Created by GitHub Achievements Manager*`,
  head: branchName,
  base: this.defaultBranch,
  mergeMethod: 'squash',
  delayBeforeMerge: 500,
});

Workflow Example

Here’s what happens when you run Pair Extraordinaire for Bronze tier (10 commits):
✓ Create branch achievements-pair-1
✓ Commit with coauthor to ACHIEVEMENTS.md
✓ Open PR #1: "Achievement: Pair Extraordinaire #1"
✓ Merge PR #1 (squash)
✓ Delete branch achievements-pair-1

[Repeats 9 more times for total of 10]
This creates 10 merged PRs in your repository. Use the “Reset Repo History” feature after completion to clean up.

Branch Cleanup

The achievement class includes automatic cleanup for orphaned branches:
async cleanup(): Promise<void> {
  const { deleteAllBranchesWithPrefix } = await import('../github/branch.js');
  const prefix = `${this.config.branchPrefix}-pair`;
  
  const deleted = await deleteAllBranchesWithPrefix(this.owner, this.repo, prefix);
  if (deleted > 0) {
    logger.info(`Cleaned up ${deleted} orphaned branches`);
  }
}

Estimated Time

From the achievement definition in src/achievements/index.ts:26:
  • Estimated time per unit: 3000ms (3 seconds)
  • Bronze tier (10): ~30 seconds
  • Silver tier (24): ~72 seconds
  • Gold tier (48): ~144 seconds
Actual time may vary based on GitHub API response times and rate limiting.

Next Steps

Pull Shark

Another PR-based achievement without coauthor requirement

Usage Guide

Learn how to run achievements

Build docs developers (and LLMs) love