{"id":42536800,"url":"https://github.com/costajohnt/oss-autopilot","last_synced_at":"2026-05-17T05:12:36.911Z","repository":{"id":334324680,"uuid":"1128452273","full_name":"costajohnt/oss-autopilot","owner":"costajohnt","description":"Claude Code plugin — AI-powered autopilot for managing open source contributions. Track PRs, respond to maintainers, discover issues, maintain velocity.","archived":false,"fork":false,"pushed_at":"2026-05-04T01:35:09.000Z","size":6327,"stargazers_count":9,"open_issues_count":20,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-04T03:09:15.533Z","etag":null,"topics":["ai-agent","anthropic","claude-code","claude-code-plugin","cli","contribution-tracker","developer-tools","github","github-automation","issue-discovery","open-source","pr-management","typescript"],"latest_commit_sha":null,"homepage":"https://github.com/costajohnt/oss-autopilot#readme","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/costajohnt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-05T16:52:46.000Z","updated_at":"2026-05-04T01:31:23.000Z","dependencies_parsed_at":"2026-04-08T06:01:18.960Z","dependency_job_id":null,"html_url":"https://github.com/costajohnt/oss-autopilot","commit_stats":null,"previous_names":["costajohnt/oss-autopilot"],"tags_count":168,"template":false,"template_full_name":null,"purl":"pkg:github/costajohnt/oss-autopilot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costajohnt%2Foss-autopilot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costajohnt%2Foss-autopilot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costajohnt%2Foss-autopilot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costajohnt%2Foss-autopilot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/costajohnt","download_url":"https://codeload.github.com/costajohnt/oss-autopilot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costajohnt%2Foss-autopilot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32806692,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","anthropic","claude-code","claude-code-plugin","cli","contribution-tracker","developer-tools","github","github-automation","issue-discovery","open-source","pr-management","typescript"],"created_at":"2026-01-28T17:15:22.345Z","updated_at":"2026-05-09T04:01:40.098Z","avatar_url":"https://github.com/costajohnt.png","language":"TypeScript","funding_links":[],"categories":["Version Control","Plugins"],"sub_categories":["All Plugins"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/hero-light.svg\" alt=\"OSS Autopilot\" width=\"600\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eAn AI-powered workflow engine for managing open source contributions at scale — built as a Claude Code plugin, MCP server, and standalone CLI.\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/costajohnt/oss-autopilot/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-green\" alt=\"License\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-strict-blue?logo=typescript\u0026logoColor=white\" alt=\"TypeScript\"\u003e\n  \u003cimg src=\"https://img.shields.io/node/v/@oss-autopilot/core\" alt=\"Node.js\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/stars/costajohnt/oss-autopilot?style=flat\" alt=\"Stars\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/last-commit/costajohnt/oss-autopilot\" alt=\"Last Commit\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@oss-autopilot/core\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@oss-autopilot/core\" alt=\"npm @oss-autopilot/core\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@oss-autopilot/core\"\u003e\u003cimg src=\"https://img.shields.io/npm/dw/@oss-autopilot/core\" alt=\"npm downloads\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@oss-autopilot/mcp\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@oss-autopilot/mcp\" alt=\"npm @oss-autopilot/mcp\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n**Built and used daily by [costajohnt](https://github.com/costajohnt)** — 3rd biggest contributor to [Ink](https://github.com/vadimdemedes/ink) (the React CLI framework behind Claude Code, Gemini CLI, and Codex — 32k+ stars) and repeat contributor to [Homebrew](https://github.com/Homebrew/homebrew-cask).\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/costajohnt/oss-autopilot\"\u003e\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://oss-widgets.vercel.app/api/card/costajohnt?theme=dark\u0026minStars=50\" /\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://oss-widgets.vercel.app/api/card/costajohnt?theme=light\u0026minStars=50\" /\u003e\n  \u003cimg alt=\"OSS Stats\" src=\"https://oss-widgets.vercel.app/api/card/costajohnt?theme=dark\u0026minStars=50\" width=\"495\" /\u003e\n\u003c/picture\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/costajohnt/oss-widgets\"\u003e\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://oss-widgets.vercel.app/api/top-repos/costajohnt?theme=dark\u0026minStars=50\" /\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://oss-widgets.vercel.app/api/top-repos/costajohnt?theme=light\u0026minStars=50\" /\u003e\n  \u003cimg alt=\"Top Contributed Repos\" src=\"https://oss-widgets.vercel.app/api/top-repos/costajohnt?theme=dark\u0026minStars=50\" width=\"495\" /\u003e\n\u003c/picture\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## What It Does\n\nOSS 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.\n\n![OSS Autopilot Demo](docs/images/demo.gif)\n\n### Interactive Dashboard\n\n![dashboard-demo](https://github.com/user-attachments/assets/680ce6d6-8192-499a-b85e-f2686319b961)\n\nA Preact SPA that auto-opens when you run `/oss` — PR management, charts, contribution stats, and status overrides. Also available standalone: `npx @oss-autopilot/core dashboard serve`.\n\n---\n\n## Engineering Highlights\n\n```\n┌──────────────────────────────────────────────────┐\n│  Claude Code Plugin Layer                        │\n│  /oss, /oss-search, /setup-oss, /oss-help        │\n│  7 specialized agents, contribution skills       │\n├──────────────────────────────────────────────────┤\n│                                                  │\n│  ┌──────────────┐  ┌──────────────────────────┐  │\n│  │ MCP Server   │  │ Interactive Dashboard     │  │\n│  │ @oss-auto-   │  │ @oss-autopilot/dashboard │  │\n│  │ pilot/mcp    │  │ Preact + Vite             │  │\n│  │              │  │ PR management, charts,    │  │\n│  │ 27 tools     │  │ actions                   │  │\n│  │ 6 resources  │  │                           │  │\n│  │ 4 prompts    │  │                           │  │\n│  └──────┬───────┘  └────────────┬─────────────┘  │\n│         │                       │                │\n│  ┌──────┴───────────────────────┴─────────────┐  │\n│  │ Core Library — @oss-autopilot/core         │  │\n│  │ PR monitoring, issue discovery, state mgmt │  │\n│  │ GitHub API, CLI, structured JSON output    │  │\n│  └────────────────────────────────────────────┘  │\n│                                                  │\n└──────────────────────────────────────────────────┘\n```\n\n**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.\n\n**Three deployment models** — Claude Code plugin with 7 specialized agents, MCP server for Cursor/Claude Desktop/Codex/Windsurf, and a standalone CLI with `--json` structured output. Same core, different interfaces.\n\n**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,700+ tests validate the core independently of any LLM.\n\n**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.\n\n**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.\n\n**Modular extraction** — Issue discovery and vetting grew complex enough to extract into its own npm package ([oss-scout](https://github.com/costajohnt/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.\n\n**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.\n\n**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.\n\n**Automated release pipeline** — Conventional commits feed into release-please for automatic versioning and changelogs, with CI/CD publishing to npm on merge. 189+ changelog versions across both packages (core v0.1.0 → v3.2.0, mcp through v5.1.0) since the first release in January 2025.\n\nEvery 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.\n\n---\n\n## Install \u0026 Usage\n\n**Claude Code Plugin (recommended):**\n\n```\n/plugin marketplace add costajohnt/oss-autopilot\n/plugin install oss-autopilot@oss-autopilot\n```\n\nRestart Claude Code, then run `/setup-oss`. Done.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eMCP Server\u003c/strong\u003e (Cursor, Claude Desktop, Codex, Windsurf)\u003c/summary\u003e\n\nFirst initialize your GitHub username (one-time setup):\n\n```bash\nnpx @oss-autopilot/core@latest init \u003cyour-github-username\u003e\n```\n\nThen add to your MCP client config:\n\n```json\n{\n  \"mcpServers\": {\n    \"oss-autopilot\": {\n      \"command\": \"npx\",\n      \"args\": [\"@oss-autopilot/mcp@latest\"]\n    }\n  }\n}\n```\n\nThe MCP server exposes 27 tools, 6 resources, and 4 prompts — the full OSS Autopilot feature set.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eStandalone CLI / npm package\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\n# Run any command directly (uses gh auth token automatically)\nnpx @oss-autopilot/core daily --json\nnpx @oss-autopilot/core dashboard serve\n\n# Or install globally\nnpm install -g @oss-autopilot/core\n\n# Or import programmatically\nnpm install @oss-autopilot/core\n```\n\n```typescript\nimport { runDaily, runSearch, runStatus } from '@oss-autopilot/core/commands';\n\nconst digest = await runDaily();\nconst issues = await runSearch({ maxResults: 10 });\n```\n\nAll commands return `{ success, data, error, timestamp }` with `--json`.\n\n\u003c/details\u003e\n\n**Daily workflow (5 min):**\n\n1. Run `/oss` to see what needs attention\n2. Work through critical issues (CI failures, maintainer comments, conflicts)\n3. Done for now\n\n**Commands:** `/oss` (daily check), `/oss-search` (find issues), `/setup-oss` (configure), `/oss-help` (reference)\n\n---\n\n## By the Numbers\n\n| Metric | Value |\n|--------|-------|\n| Releases | 189+ changelog versions (spanning core v0.1 through current v3.x; mcp through current v5.x) |\n| Tests | 2,700+ across 120+ files |\n| Issues + PRs | 1,200+ |\n| Time span | Jan 2025 → present |\n| npm packages | 3 |\n| CLI commands | 35+ |\n| Agents | 7 |\n\n---\n\n## Everything Else\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eSpecialized Agents\u003c/strong\u003e\u003c/summary\u003e\n\nClaude automatically dispatches these based on context:\n\n| Agent | Purpose | When it runs |\n|-------|---------|-------------|\n| **pr-responder** | Drafts responses to maintainer feedback | PR needs a response to maintainer feedback |\n| **pr-health-checker** | Diagnoses CI failures, merge conflicts, stale reviews | PR has CI failure or merge conflict |\n| **pr-compliance-checker** | Validates PRs against [opensource.guide](https://opensource.guide) best practices | Before marking a new PR ready for review |\n| **pre-commit-reviewer** | Reviews code changes before committing | After code changes, before commit |\n| **issue-scout** | Finds and vets new issues to work on | User searches for new issues |\n| **repo-evaluator** | Analyzes repository health before contributing | Before contributing to an unfamiliar repo |\n| **contribution-strategist** | Strategic advice for your OSS journey | User asks for contribution strategy |\n\n*Agents are available in the Claude Code plugin. MCP and CLI users access the same capabilities through tools and commands.*\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eContribution Stats \u0026 Badges\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\noss-autopilot stats              # Terminal output\noss-autopilot stats --json       # Structured JSON\noss-autopilot stats --markdown   # Shareable markdown report\noss-autopilot stats --badge      # Shields.io endpoint JSON\n```\n\nAdd a live badge to your GitHub profile README:\n\n```markdown\n![OSS Contributions](https://img.shields.io/endpoint?url=https://oss-widgets.vercel.app/api/badge/YOUR_USERNAME)\n```\n\nEmbed rich SVG widgets powered by [oss-widgets](https://github.com/costajohnt/oss-widgets) — stats card, recent contributions, and 26-week activity graph. All update hourly and support `?theme=dark`.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eConfiguration\u003c/strong\u003e\u003c/summary\u003e\n\nConfiguration 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:\n\n| Setting | Default | Description |\n|---------|---------|-------------|\n| `githubUsername` | (detected) | Your GitHub username |\n| `maxActivePRs` | 10 | Capacity limit before suggesting focus |\n| `dormantDays` | 30 | Days until PR marked dormant |\n| `minStars` | 50 | Minimum repo stars for inclusion in stats and charts |\n| `languages` | (chosen at setup) | Languages to filter issue search |\n| `labels` | (chosen at setup) | Issue labels to search for |\n| `squashByDefault` | `true` | Squash commits before merging (`true`, `false`, or `\"ask\"`) |\n| `excludeRepos` | `[]` | Repos to exclude from all tracking |\n| `excludeOrgs` | `[]` | Orgs to exclude from all tracking (e.g., private work orgs) |\n| `includeDocIssues` | `true` | Include documentation issues in discovery |\n| `issueListPath` | (optional) | Path to curated issue list file |\n| `projectCategories` | `[]` | Project categories to prioritize (nonprofit, devtools, etc.) |\n| `preferredOrgs` | `[]` | GitHub organizations to prioritize |\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eFAQ \u0026 Troubleshooting\u003c/strong\u003e\u003c/summary\u003e\n\n**Does Claude post comments or push code automatically?**\nNo. Claude drafts responses and suggests actions. Nothing is posted to GitHub without your explicit approval.\n\n**Where is my data stored?**\nAll 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.\n\n**Can I use this without Claude Code?**\nYes. 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.\n\n**How do I update?**\nPlugin: `/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](packages/core/CHANGELOG.md) for what's new.\n\n**Any tips for getting started?**\nSet `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.\n\n**GitHub CLI authentication errors:**\n\n```bash\nbrew install gh    # macOS\ngh auth login\n```\n\n**Build fails on first run:**\n\n```bash\n# Find your plugin directory\nfind ~/.claude/plugins -name \"oss-autopilot\" -type d\n\n# Rebuild\ncd \u003cpath-from-find-command\u003e/packages/core\nnpm install\nnpm run bundle\n```\n\n**PRs not showing up:**\n- Run `/setup-oss` to ensure your GitHub username is configured\n- Check that `gh auth status` shows you're authenticated\n- The plugin only tracks PRs you authored\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eDevelopment\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\ngit clone https://github.com/costajohnt/oss-autopilot.git\ncd oss-autopilot\npnpm install                 # Install all workspace dependencies\npnpm test                    # Run all tests across all packages\npnpm start -- daily --json   # Run CLI via tsx (no bundle needed)\npnpm run bundle              # Rebuild CLI bundle (esbuild)\n```\n\n**Project structure:**\n\n```\n├── commands/                    # Plugin slash commands (/oss, /oss-search, /setup-oss, /oss-help)\n├── agents/                      # 7 specialized agents (PR responder, issue scout, etc.)\n├── skills/                      # Contribution best practices\n├── workflows/                   # Delegated logic loaded by commands on demand\n├── hooks/                       # Plugin hooks (session-start)\n├── packages/\n│   ├── core/                    # @oss-autopilot/core — CLI + core library\n│   │   ├── src/commands/        # CLI subcommands\n│   │   ├── src/core/            # Domain logic + tests\n│   │   └── dist/cli.bundle.cjs  # Built bundle (auto-generated)\n│   ├── mcp-server/              # @oss-autopilot/mcp — MCP server\n│   │   └── src/                 # Tools, resources, prompts, server\n│   └── dashboard/               # @oss-autopilot/dashboard — Interactive UI\n└── pnpm-workspace.yaml          # Workspace definition\n```\n\nTest as a local plugin:\n\n```bash\nclaude --plugin-dir ./oss-autopilot\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eEnhanced Code Review (optional)\u003c/strong\u003e\u003c/summary\u003e\n\nThe 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 specialized reviewers that run simultaneously:\n\n| Agent | Focus |\n|-------|-------|\n| `code-reviewer` | Bugs, logic errors, security, conventions |\n| `silent-failure-hunter` | Error handling gaps, swallowed errors |\n| `code-simplifier` | Dead code, unnecessary complexity |\n| `pr-test-analyzer` | Test coverage and assertion quality |\n| `comment-analyzer` | Comment accuracy and maintainability |\n| `type-design-analyzer` | TypeScript type design (encapsulation, invariants, enforcement) |\n\nWithout 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.\n\n\u003c/details\u003e\n\n---\n\n## Limitations\n\n- **GitHub only** — GitLab, Bitbucket, and other forges are not supported. Contributions welcome.\n- **1,000 PR cap** — GitHub's Search API returns at most 1,000 results per query. If you have more than 1,000 open, merged, or closed PRs, the oldest results may be truncated.\n- **Individual contributor focus** — Designed for solo contributors managing their own PRs. No team dashboards, shared state, or multi-user workflows.\n\n## How It Decides\n\nTwo heuristics directly shape which repos surface in discovery:\n\n- **[Repo scoring](docs/repo-scoring.md)** — 1–10 score per repo, factoring merged/closed PR history, recency, maintainer responsiveness, and hostility signals. The default `minRepoScoreThreshold` (4) excludes repos below the cutoff from search results.\n- **[Anti-LLM policy detection](docs/anti-llm-policy.md)** — scans CONTRIBUTING / CODE_OF_CONDUCT / README for language indicating the project doesn't accept AI-assisted contributions. Hard skip when matched.\n\nBoth docs explain the exact rules so you can understand why a given repo did or didn't surface.\n\n## API Documentation\n\nFull API documentation for `@oss-autopilot/core` is available at [jcosta.tech/oss-autopilot](https://jcosta.tech/oss-autopilot/).\n\n## Contributing\n\nBug fixes, new agents, CLI improvements, and documentation are all welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for setup instructions.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcostajohnt%2Foss-autopilot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcostajohnt%2Foss-autopilot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcostajohnt%2Foss-autopilot/lists"}