Get trusted, get merged, come back: an open-source guide and MCP server for contributors in the AI era.
ContribOS
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**Get trusted. Get merged. Come back.** ContribOS helps new open-source contributors earn trust. It finds where you're welcome, shows how this repo wants the change done, checks that you truly understand your change, coaches you through review, and turns merged PRs into a record the next maintainer can verify.
In 2026, writing code is not the hard part of contributing. AI made PRs cheap, maintainers answered with PR caps, vouch lists and AI policies, and newcomer merge rates fell. ContribOS makes your PR worth a maintainer's time.
ContribOS **never** opens PRs, posts comments or claims issues for you, and it never writes your explanation. It points, and you decide.
See it work
Before you open a PR, ask the repo what it expects. This is real output from contribos policy pallets/flask, trimmed (snapshot from 6 Oct 2026; run it yourself for current results):
Every claim points at a file and line (or git history), so you can check it yourself. ContribOS points, you decide.
The journey
| Step | Command | What you get |
|---|---|---|
| Find | contribos find --lang python --topic web | Open issues sorted into Good bet / Possible / Skip, each with evidence: claimed? open PR? maintainer active? clear? Plus repo welcome: archived, vouch list, AI policy, outside-PR merge rate, how long outside PRs wait for a first human reply, how many stall, a stale bot, and your own open PRs there |
| Rules | contribos policy owner/repo | The repo's AI policy, disclosure format (Assisted-by: and similar trailers), vouch gate, "no AI on good first issues", issue-first and claim-first norms, tests, changelog, DCO/CLA, style tools and activity, each quoted with file:line. --json gives the same rules in a form agents can read |
| Propose | contribos claim | A short proposal to post *before* coding: likely files, a similar-size past PR, where the test goes, and one real question. Warns about taken issues, no maintainer yet, good-first-issue AI rules and issue-first rules. If the repo has a vouch list, it drafts the introduction first |
| Tone | contribos tone comment.md --kind comment | Flags machine-written tells (delve, buzzwords, assistant openers, filler), length, a missing question and leftover placeholders in anything you're about to post |
| Agent rules | contribos agent-rules . --ai "Claude Code" | Teaches your coding agent this repo's rules: a SKILL.md for Claude Code, Codex, Copilot and Cursor, a hook that stops the agent opening PRs or posting comments, and a commit-msg hook for sign-off and the AI-disclosure trailer. All local-only, excluded from git |
| Setup | contribos setup owner/repo | Exact steps taken from the repo's CI and contributing guide: runtime version, install, services, env vars, test and lint commands |
| Diagnose | contribos setup --diagnose output.txt | What a failure means: missing dependency, wrong version, service down, env var, native build tools, flaky test, or a real test failure (and how to check it isn't yours) |
| Understand | contribos brief | Files to read with the reasons each was picked, similar past PRs and what reviewers said, related tests, look-alike files to leave alone, house rules, and likely review questions. Add --llm for a plain-words summary that is grounded in the evidence |
| Prove | contribos check --explain explain.md --verify-test "pytest tests/test_x.py" --issue 123 --ai "Claude Code: drafted the test" --pr-draft pr.md | Pre-submit review: scope versus similar past changes, tests, changelog, sign-off, debug leftovers, AI policy and disclosure trailers, competing PRs for the same issue. --verify-test runs your test with the fix and again with your source files swapped back to the base version, so you can show it fails without your change. It checks that *your* explanation covers every changed file and states what you're unsure of, then drafts the PR: what and why, how you verified it, what you're unsure about, related past changes, AI assistance |