The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Oss Autopilot listing page.
An AI-powered workflow engine for managing open source contributions at scale — built as a Claude Code plugin, MCP server, and standalone CLI.
Built and used daily by costajohnt — 3rd-largest contributor to Ink by commits (the React CLI framework behind Claude Code, Gemini CLI, and Codex — 39k+ stars) and repeat contributor to Homebrew.
OSS Autopilot monitors all your open PRs across GitHub, alerts you when maintainers leave feedback, helps you draft responses, diagnoses CI failures, and finds new issues matched to your contribution history. It's the workflow engine behind the stats above.

A Preact SPA that auto-opens when you run /oss-dashboard — PR management, charts, contribution stats, and status overrides. Also available standalone: npx @oss-autopilot/core dashboard serve.
Monorepo with three npm packages — pnpm workspaces with each package independently publishable to npm. Core library, MCP server, and interactive Preact dashboard with shared types.
Three deployment models — Claude Code plugin with 8 specialized agents, MCP server for Cursor/Claude Desktop/Codex/Windsurf, and a standalone CLI with --json structured output. Same core, different interfaces.
Deterministic core, AI orchestration layer — Critical logic (PR status classification, CI failure analysis, state management) lives in tested TypeScript, not in prompts. The CLI returns structured JSON that agents consume. CI failures are categorized into a deterministic taxonomy — actionable vs. fork limitation vs. auth gate vs. infrastructure — rather than asking an LLM each time. 2,600+ tests validate the core independently of any LLM.
Production-grade GitHub API integration — ETag-based HTTP caching, automatic rate limit backoff with retries, bounded concurrency pools, and paginated fetching. Handles the full complexity of fork-based contribution workflows: correct diff ranges, squash commit counting, and --head flag handling for cross-fork PRs. Designed to run daily without hitting API limits.
Human-in-the-loop guardrails — Nothing is posted to GitHub without explicit approval. AI drafts responses but the contributor always reviews before sending. Pre-commit review gates catch issues before they reach maintainers. Factual claims in draft comments are verified against the actual diff before presenting to the user.
Modular extraction — Issue discovery and vetting grew complex enough to extract into its own npm package (oss-scout). Connected via a bridge pattern that maps state between the two systems, following the same approach used by the broader ecosystem of extraction-and-reconnect patterns.
Fresh-fetch architecture — PRs aren't stored locally. Every run fetches live data from GitHub's Search API and enriches each PR with CI status, review decisions, merge conflict detection, maintainer comment classification, and checklist completion. No stale data, no sync bugs.
Security discipline — State files written with 0o600 permissions, data directory created with 0o700. Concurrent state write protection prevents corruption from parallel runs. Runtime schema validation via Zod on every state file read. XSS prevention tested. Input validation hardened across CLI arguments and API responses.
Automated release pipeline — Conventional commits feed into release-please for automatic versioning and changelogs, with CI/CD publishing to npm on merge. 200+ changelog versions across both packages (core v0.1.0 through v3.x, mcp through v5.x) since the first release in January 2025.
Every feature in the list above was driven by real usage — capacity warnings came from overcommitting, "skip comment when code speaks for itself" came from over-commenting, diminishing returns detection came from spending too long searching. The tool is shaped by the contributions it manages.
Claude Code Plugin (recommended):
Restart Claude Code, then run /setup-oss. Done.
First initialize your GitHub username (one-time setup):
Then add to your MCP client config:
The MCP server exposes 30 tools, 6 resources, and 4 prompts — the full OSS Autopilot feature set.
All commands return { success, data, error, timestamp } with --json.
Daily workflow (5 min):
/oss to see what needs attentionOvernight mode: /oss-overnight runs the same check unattended, prepares fix branches in local worktrees (CI failures, conflicts, requested changes), and writes a morning report to ~/.oss-autopilot/reports/. It never pushes, posts, or merges; the next /oss shows the report and you decide what ships. Schedule it with oss-autopilot overnight schedule --install (launchd).
Commands: /oss (daily check), /oss-overnight (unattended prepare-and-queue run), /oss-search (find issues), /oss-dashboard (interactive dashboard), /oss-guidelines (per-repo guidelines), /pr-ready (pre-push review loop), /plan-ready (plan review loop), /setup-oss (configure), /oss-help (reference)
| Metric | Value |
|---|---|
| Releases | 200+ changelog versions (spanning core v0.1 through current v3.x; mcp through current v5.x) |
| Tests | 3,000+ across 120+ files |
| Issues + PRs | 1,200+ |
| Time span | Jan 2025 → present |
| npm packages | 3 |
| CLI commands | 35+ |
| Agents | 7 |
Claude automatically dispatches these based on context:
| Agent | Purpose | When it runs |
|---|---|---|
| pr-responder | Drafts responses to maintainer feedback | PR needs a response to maintainer feedback |
| pr-health-checker | Diagnoses CI failures, merge conflicts, stale reviews | PR has CI failure or merge conflict |
| pr-compliance-checker | Validates PRs against opensource.guide best practices | Before marking a new PR ready for review |
| pre-commit-reviewer | Reviews code changes before committing | After code changes, before commit |
| issue-scout | Finds and vets new issues to work on | User searches for new issues |
| repo-evaluator | Analyzes repository health before contributing | Before contributing to an unfamiliar repo |
| contribution-strategist | Strategic advice for your OSS journey | User asks for contribution strategy |
Agents are available in the Claude Code plugin. MCP and CLI users access the same capabilities through tools and commands.
Add a live badge to your GitHub profile README:
Embed rich SVG widgets powered by oss-widgets — stats card, recent contributions, and 26-week activity graph. All update hourly and support ?theme=dark.
Configuration is stored in ~/.oss-autopilot/state.json (inside the config field). Run /setup-oss to configure interactively, or use setup --set key=value from the CLI:
| Setting | Default | Description |
|---|---|---|
githubUsername | (detected) | Your GitHub username |
maxActivePRs | 10 | Capacity limit before suggesting focus |
dormantDays | 30 | Days until PR marked dormant |
minStars | 50 | Minimum repo stars for inclusion in stats and charts |
languages | (chosen at setup) | Languages to filter issue search |
labels | (chosen at setup) | Issue labels to search for |
squashByDefault | true | Squash commits before merging (true, false, or "ask") |
excludeRepos | [] | Repos to exclude from all tracking |
excludeOrgs | [] | Orgs to exclude from all tracking (e.g., private work orgs) |
avoidRepos | [] | Repos to softly downrank in discovery (milder than excludeRepos) |
boostIssueTypes | [] | Issue label types to softly boost in discovery ranking (e.g., bug) |
includeDocIssues | true | Include documentation issues in discovery |
issueListPath | (optional) | Path to curated issue list file |
projectCategories | [] | Project categories to prioritize (nonprofit, devtools, etc.) |
preferredOrgs | [] | GitHub organizations to prioritize |
Does Claude post comments or push code automatically? No. Claude drafts responses and suggests actions. Nothing is posted to GitHub without your explicit approval.
Where is my data stored?
All data lives in ~/.oss-autopilot/ — configuration, PR tracking state, event history, and HTTP cache. The dashboard runs locally at http://localhost:3000. Nothing is sent to external servers beyond GitHub API calls.
Can I use this without Claude Code?
Yes. The MCP server (npx @oss-autopilot/mcp) works with Cursor, Claude Desktop, Codex, Windsurf, and any MCP client. The CLI (npx @oss-autopilot/core daily --json) runs standalone. The Claude Code plugin provides the best experience with specialized agents and skills, but all core functionality is available through any path.
How do I update?
Plugin: /plugin update oss-autopilot. MCP server / CLI: uses npx @latest by default, so you always get the latest. Your configuration is preserved across updates. See the Changelog for what's new.
Any tips for getting started?
Set maxActivePRs to 3-5 when starting out. Fewer active PRs with fast responses beats many stale ones. Run /oss every few days — stale PRs are hard to revive.
GitHub CLI authentication errors:
Build fails on first run:
PRs not showing up:
/setup-oss to ensure your GitHub username is configuredgh auth status shows you're authenticatedProject structure:
Test as a local plugin:
The plugin includes a built-in pre-commit-reviewer agent that reviews all code changes before committing. For enhanced parallel review, install the pr-review-toolkit plugin (search for it in the Claude Code plugin marketplace) — it adds 5 reviewers that run simultaneously, plus a conditional type-design-analyzer for TypeScript diffs:
| Agent | Focus |
|---|---|
code-reviewer | Bugs, logic errors, security, conventions |
silent-failure-hunter | Error handling gaps, swallowed errors |
code-simplifier | Dead code, unnecessary complexity |
pr-test-analyzer | Test coverage and assertion quality |
comment-analyzer | Comment accuracy and maintainability |
type-design-analyzer | TypeScript type design (encapsulation, invariants, enforcement) — dispatched only when the diff includes .ts/.tsx files |
Without pr-review-toolkit, the built-in pre-commit-reviewer handles all review phases as a single agent with the same fix-and-re-review loop.
Two docs explain the heuristics that shape which repos surface in discovery and how they're evaluated:
minRepoScoreThreshold of 4 excludes repos below the cutoff from search results) and the fresh health score (repo-vet's weighted rubric over the repo's current activity, PR speed, merge rate, guidelines, and stability).Both docs explain the exact rules so you can understand why a given repo did or didn't surface.
Full API documentation for @oss-autopilot/core is available at jcosta.tech/oss-autopilot.
Bug fixes, new agents, CLI improvements, and documentation are all welcome. See CONTRIBUTING.md for setup instructions.
MIT