apache/magpie
Agent-assisted maintainership and development framework for Apache projects — Triage, Mentoring, Drafting (agent-authored fixes with human review), and Pairing (developer-side dev-cycle) skills shipping; Agentic Autonomous (auto-merge) on t
ARCHETYPE
Fort Knox
Deny lists, pre-tool hooks, sandboxing. Nothing touches prod without a signature.
GUARDRAILS
4/5
Blocks destructive commands · Protects secrets · No YOLO mode · Sandbox or ask-first rules · details
Copy this rig
# review before running: this installs third-party code
$ npx degit apache/magpie/.claude ./rig-magpie # inspect, then merge into .claude/ MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.
$ npx degit apache/magpie/plugins/magpie-contributor-growth/skills/activity-sweep .claude/skills/activity-sweep $ npx degit apache/magpie/plugins/magpie-contributor-growth/skills/calibrate .claude/skills/calibrate $ npx degit apache/magpie/plugins/magpie-contributor-growth/skills/candidate-screen .claude/skills/candidate-screen $ npx degit apache/magpie/plugins/magpie-contributor-growth/skills/committer-onboarding .claude/skills/committer-onboarding $ npx degit apache/magpie/plugins/magpie-contributor-growth/skills/contributor-to-committer .claude/skills/contributor-to-committer $ npx degit apache/magpie/plugins/magpie-contributor-growth/skills/identity-map .claude/skills/identity-map $ npx degit apache/magpie/plugins/magpie-contributor-growth/skills/nomination .claude/skills/nomination $ npx degit apache/magpie/plugins/magpie-contributor-growth/skills/onboarding-concierge .claude/skills/onboarding-concierge $ npx degit apache/magpie/plugins/magpie-contributor-growth/skills/sentiment .claude/skills/sentiment $ npx degit apache/magpie/plugins/magpie-issue/skills/backlog-stats .claude/skills/backlog-stats $ npx degit apache/magpie/plugins/magpie-issue/skills/deduplicate .claude/skills/deduplicate $ npx degit apache/magpie/plugins/magpie-issue/skills/fix-workflow .claude/skills/fix-workflow $ npx degit apache/magpie/plugins/magpie-issue/skills/reassess-stats .claude/skills/reassess-stats $ npx degit apache/magpie/plugins/magpie-issue/skills/reassess .claude/skills/reassess $ npx degit apache/magpie/plugins/magpie-issue/skills/reproducer .claude/skills/reproducer $ npx degit apache/magpie/plugins/magpie-issue/skills/stale-sweep .claude/skills/stale-sweep $ npx degit apache/magpie/plugins/magpie-issue/skills/triage .claude/skills/triage $ npx degit apache/magpie/plugins/magpie-mentoring/skills/good-first-issue-author .claude/skills/good-first-issue-author $ npx degit apache/magpie/plugins/magpie-mentoring/skills/good-first-issue-sweep .claude/skills/good-first-issue-sweep $ npx degit apache/magpie/plugins/magpie-mentoring/skills/newcomer-issue-explainer .claude/skills/newcomer-issue-explainer $ npx degit apache/magpie/plugins/magpie-mentoring/skills/welcome .claude/skills/welcome $ npx degit apache/magpie/plugins/magpie-pairing/skills/multi-agent-review .claude/skills/multi-agent-review $ npx degit apache/magpie/plugins/magpie-pairing/skills/self-review .claude/skills/self-review $ npx degit apache/magpie/plugins/magpie-pr-management/skills/code-review .claude/skills/code-review $ npx degit apache/magpie/plugins/magpie-pr-management/skills/mentor .claude/skills/mentor $ npx degit apache/magpie/plugins/magpie-pr-management/skills/pr-stale-sweep .claude/skills/pr-stale-sweep $ npx degit apache/magpie/plugins/magpie-pr-management/skills/pr-triage .claude/skills/pr-triage $ npx degit apache/magpie/plugins/magpie-pr-management/skills/pre-first-pr-check .claude/skills/pre-first-pr-check $ npx degit apache/magpie/plugins/magpie-pr-management/skills/quick-merge .claude/skills/quick-merge $ npx degit apache/magpie/plugins/magpie-pr-management/skills/reviewer-routing .claude/skills/reviewer-routing $ npx degit apache/magpie/plugins/magpie-pr-management/skills/stack-review .claude/skills/stack-review $ npx degit apache/magpie/plugins/magpie-pr-management/skills/stats .claude/skills/stats $ npx degit apache/magpie/plugins/magpie-release-management/skills/announce-draft .claude/skills/announce-draft $ npx degit apache/magpie/plugins/magpie-release-management/skills/archive-sweep .claude/skills/archive-sweep $ npx degit apache/magpie/plugins/magpie-release-management/skills/audit-report .claude/skills/audit-report $ npx degit apache/magpie/plugins/magpie-release-management/skills/keys-sync .claude/skills/keys-sync $ npx degit apache/magpie/plugins/magpie-release-management/skills/prepare .claude/skills/prepare $ npx degit apache/magpie/plugins/magpie-release-management/skills/promote .claude/skills/promote $ npx degit apache/magpie/plugins/magpie-release-management/skills/rc-cut .claude/skills/rc-cut $ npx degit apache/magpie/plugins/magpie-release-management/skills/verify-rc .claude/skills/verify-rc
Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.
{
"permissions": {
"deny": [
"Read(~/.aws/**)",
"Read(~/.ssh/**)",
"Read(~/.netrc)",
"Read(~/.docker/**)",
"Read(~/.kube/**)",
"Read(~/.config/gh/**)",
"Read(~/.config/apache-magpie/**)",
"Read(~/.config/gcloud/**)",
"Read(~/.azure/**)",
"Read(//**/.env)",
"Read(//**/.env.local)",
"Read(//**/.env.*.local)",
"Edit(.claude/settings.json)",
"Edit(.claude/settings.local.json)",
"Edit(.apache-magpie-overrides/tools/vetted-ops/**)",
"Edit(~/.claude/plugins/cache/apache-magpie/magpie-vetted-ops/**)",
"Edit(~/.claude/magpie/**)",
"Edit(~/.claude/plugins/cache/apache-magpie/magpie-adversarial-review/**)",
"Edit(~/.claude/scripts/**)",
"Bash(curl *)",
"Bash(wget *)",
"Bash(aws *)",
"Bash(gcloud *)",
"Bash(az *)",
"Bash(kubectl *)",
"Bash(docker login *)",
"Bash(npm publish *)",
"Bash(pip install --upgrade *)",
"Bash(uv self update *)",
"Bash(gh auth token*)",
"Bash(gh auth refresh*)"
],
"ask": [
"Bash(git push *)",
"Bash(git push --force *)",
"Bash(git push --force-with-lease *)",
"Bash(uv run --project ~/.claude/magpie/vetted-ops vetted-op-tracker *)",
"Bash(uvx --from ~/.claude/magpie/vetted-ops vetted-op-tracker *)",
"Bash(gh api -X*)",
"Bash(gh api * -X*)",
"Bash(gh api --method*)",
"Bash(gh api * --method*)",
"Bash(gh api -f*)",
"Bash(gh api * -f*)",
"Bash(gh api -F*)",
"Bash(gh api * -F*)",
"Bash(gh api --field*)",
"Bash(gh api * --field*)",
"Bash(gh api --raw-field*)",
"Bash(gh api * --raw-field*)",
"Bash(gh api --input*)",
"Bash(gh api * --input*)",
"Bash(gh pr create *)",
"Bash(gh pr comment *)",
"Bash(gh pr review *)",
"Bash(gh pr merge *)",
"Bash(gh pr close *)",
"Bash(gh pr reopen *)",
"Bash(gh pr edit *)",
"Bash(gh pr ready *)",
"Bash(gh pr lock *)",
"Bash(gh pr unlock *)",
"Bash(gh pr revert *)",
"Bash(gh pr update-branch *)",
"Bash(gh issue create *)",
"Bash(gh issue comment *)",
"Bash(gh issue close *)",
"Bash(gh issue reopen *)",
"Bash(gh issue edit *)",
"Bash(gh issue delete *)",
"Bash(gh issue lock *)",
"Bash(gh issue unlock *)",
"Bash(gh issue pin *)",
"Bash(gh issue unpin *)",
"Bash(gh issue transfer *)",
"Bash(gh issue develop *)",
"Bash(gh release create *)",
"Bash(gh release upload *)",
"Bash(gh release delete *)",
"Bash(gh release delete-asset *)",
"Bash(gh release edit *)",
"Bash(gh workflow run *)",
"Bash(gh workflow enable *)",
"Bash(gh workflow disable *)",
"Bash(gh run rerun *)",
"Bash(gh run cancel *)",
"Bash(gh run delete *)",
"Bash(gh repo create *)",
"Bash(gh repo delete *)",
"Bash(gh repo edit *)",
"Bash(gh repo fork *)",
"Bash(gh repo sync *)",
"Bash(gh repo archive *)",
"Bash(gh repo unarchive *)",
"Bash(gh repo rename *)",
"Bash(gh repo set-default *)",
"Bash(gh repo deploy-key add *)",
"Bash(gh repo deploy-key delete *)",
"Bash(gh repo autolink create *)",
"Bash(gh repo autolink delete *)",
"Bash(gh label create *)",
"Bash(gh label delete *)",
"Bash(gh label edit *)",
"Bash(gh label clone *)",
"Bash(gh cache delete *)",
"Bash(gh secret set *)",
"Bash(gh secret delete *)",
"Bash(gh variable set *)",
"Bash(gh variable delete *)",
"Bash(gh gist create *)",
"Bash(gh gist edit *)",
"Bash(gh gist delete *)",
"Bash(gh gist rename *)"
]
},
"sandbox": {
"enabled": true
}
} Skills (79)
activity-sweepcalibratecandidate-screencommitter-onboardingcontributor-to-committeridentity-mapnominationonboarding-conciergesentimentbacklog-statsdeduplicatefix-workflowreassess-statsreassessreproducerstale-sweeptriagegood-first-issue-authorgood-first-issue-sweepnewcomer-issue-explainerwelcomemulti-agent-reviewself-reviewcode-reviewmentorpr-stale-sweeppr-triagepre-first-pr-checkquick-mergereviewer-routingstack-reviewstatsannounce-draftarchive-sweepaudit-reportkeys-syncpreparepromoterc-cutverify-rcvote-draftvote-tallyaudit-finding-fixci-runner-auditdependency-auditdependency-license-auditflaky-test-triagelicense-compliance-auditworkflow-security-auditcve-allocateissue-deduplicateissue-fixissue-import-from-mdissue-import-from-prissue-import-from-scanissue-import-via-forwarderissue-importissue-invalidateissue-syncissue-triagemodel-preparemodel-updatemodel-verifytracker-stats-dashboardisolated-setup-doctorisolated-setup-installisolated-setup-updateisolated-setup-verifyoverride-upstreamprivacy-llmsetupshared-config-syncstatusupstream-fixlist-skillsoptimize-skillreport-framework-issueskill-reconcilerwrite-skill
Plugins (3)
magpie-setup@apache-magpiemagpie-utilities@apache-magpiemagpie-agent-guard@apache-magpie
Permissions
deny (31)
Read(~/.aws/**)
Read(~/.ssh/**)
Read(~/.netrc)
Read(~/.docker/**)
Read(~/.kube/**)
Read(~/.config/gh/**)
Read(~/.config/apache-magpie/**)
Read(~/.config/gcloud/**)
Read(~/.azure/**)
Read(//**/.env)
Read(//**/.env.local)
Read(//**/.env.*.local)
Edit(.claude/settings.json)
Edit(.claude/settings.local.json)
Edit(.apache-magpie-overrides/tools/vetted-ops/**)
Edit(~/.claude/plugins/cache/apache-magpie/magpie-vetted-ops/**)
Edit(~/.claude/magpie/**)
Edit(~/.claude/plugins/cache/apache-magpie/magpie-adversarial-review/**)
Edit(~/.claude/scripts/**)
Bash(curl *)
Bash(wget *)
Bash(aws *)
Bash(gcloud *)
Bash(az *)
Bash(kubectl *)
Bash(docker login *)
Bash(npm publish *)
Bash(pip install --upgrade *)
Bash(uv self update *)
Bash(gh auth token*)
Bash(gh auth refresh*)
ask (112)
Bash(git push *)
Bash(git push --force *)
Bash(git push --force-with-lease *)
Bash(uv run --project ~/.claude/magpie/vetted-ops vetted-op-tracker *)
Bash(uvx --from ~/.claude/magpie/vetted-ops vetted-op-tracker *)
Bash(gh api -X*)
Bash(gh api * -X*)
Bash(gh api --method*)
Bash(gh api * --method*)
Bash(gh api -f*)
Bash(gh api * -f*)
Bash(gh api -F*)
Bash(gh api * -F*)
Bash(gh api --field*)
Bash(gh api * --field*)
Bash(gh api --raw-field*)
Bash(gh api * --raw-field*)
Bash(gh api --input*)
Bash(gh api * --input*)
Bash(gh pr create *)
Bash(gh pr comment *)
Bash(gh pr review *)
Bash(gh pr merge *)
Bash(gh pr close *)
Bash(gh pr reopen *)
Bash(gh pr edit *)
Bash(gh pr ready *)
Bash(gh pr lock *)
Bash(gh pr unlock *)
Bash(gh pr revert *)
Bash(gh pr update-branch *)
Bash(gh issue create *)
Bash(gh issue comment *)
Bash(gh issue close *)
Bash(gh issue reopen *)
Bash(gh issue edit *)
Bash(gh issue delete *)
Bash(gh issue lock *)
Bash(gh issue unlock *)
Bash(gh issue pin *)
Bash(gh issue unpin *)
Bash(gh issue transfer *)
Bash(gh issue develop *)
Bash(gh release create *)
Bash(gh release upload *)
Bash(gh release delete *)
Bash(gh release delete-asset *)
Bash(gh release edit *)
Bash(gh workflow run *)
Bash(gh workflow enable *)
Bash(gh workflow disable *)
Bash(gh run rerun *)
Bash(gh run cancel *)
Bash(gh run delete *)
Bash(gh repo create *)
Bash(gh repo delete *)
Bash(gh repo edit *)
Bash(gh repo fork *)
Bash(gh repo sync *)
Bash(gh repo archive *)
allow (50)
Bash(gh api graphql *)
Bash(gh pr view *)
Bash(gh pr list *)
Bash(gh pr diff *)
Bash(gh pr checks *)
Bash(gh issue view *)
Bash(gh issue list *)
Bash(gh repo view *)
Bash(gh repo list *)
Bash(gh run view *)
Bash(gh run list *)
Bash(gh run watch *)
Bash(gh workflow view *)
Bash(gh workflow list *)
Bash(gh release view *)
Bash(gh release list *)
Bash(gh label list *)
Bash(gh cache list *)
Bash(gh search *)
Bash(gh browse *)
Bash(gh auth status*)
mcp__claude_ai_Gmail__get_thread
mcp__claude_ai_Gmail__search_threads
mcp__gmail-plaintext__create_draft
mcp__ponymail__search_list
mcp__ponymail__auth_status
mcp__ponymail__get_thread
mcp__ponymail__get_email
mcp__ponymail__list_restrictions
mcp__apache-projects__project_stats
mcp__apache-projects__get_committee
mcp__apache-projects__get_group_members
mcp__apache-projects__get_person
mcp__apache-projects__search_people
Bash(zizmor *)
Bash(uv run --project ~/.claude/magpie/vetted-ops vetted-op-read *)
Bash(uvx --from ~/.claude/magpie/vetted-ops vetted-op-read *)
mcp__ponymail__get_source
mcp__ponymail__list_lists
mcp__claude_ai_Gmail__get_message
mcp__claude_ai_Gmail__list_drafts
mcp__claude_ai_Gmail__get_draft
mcp__gmail-plaintext__check_auth
mcp__apache-projects__get_releases
mcp__apache-projects__get_repositories
mcp__apache-projects__list_committees
mcp__apache-projects__search_projects
WebFetch(domain:cveawg.mitre.org)
WebFetch(domain:pypi.org)
WebFetch(domain:lists.apache.org)
Similar rigs
itsOmidKarami/kraft
A local orchestrator that takes your coding agent from spec to pull request, stopping only when a decision is yours.
Skill Collector 7.9k tok ·
jjanczur/tyran
A task conductor for Claude Code that gets better the more you use it. Multi-agent orchestration with an evidence contract that BLOCKS instead of asking, gates written as hooks rather than prompts, and a retrospective that learns your repo'
Orchestrator 3.2k tok ·
grainulation/grainulator
Research that compiles.
Skill Collector 6.4k tok ·
tammai/ai-sdlc
Claude Code plugin for vibe coding on the AI-native SDLC playbook: intent → design → spec → plan → verify → review → ship. Runs on a Claude subscription, with opinionated stacks (Nuxt/Next + Cloudflare, Go + Postgres, Flutter, Tauri) and de
Orchestrator 3.2k tok ·