This document records the intended repository permission model for PR Maven CLI.
The repository is public during the initial stabilization phase.
This keeps GitHub branch protection available without requiring a paid plan.
Do not switch it to private if that would disable branch protection or repository rules. A private stabilization phase should only be used when the account or organization plan supports the same branch protection controls used in public OSS mode.
Current maintainer policy:
- Will-thom, GitHub:
@Will-thom, is the founder and principal maintainer. - No external collaborator should receive write, maintain, or admin access during stabilization unless intentionally promoted.
- External contributors can open issues and pull requests, but merge rights should stay limited to maintainers.
The public repository must keep main protected before accepting outside contributions.
Required public-mode controls:
- Require the
All CI checksstatus before merge. - Require at least one approving pull request review before merge.
- Require review from the repository code owner before merge.
- Enforce the rule for administrators.
- Require conversation resolution before merge.
- Disable force pushes.
- Disable branch deletion.
- Keep the public metadata guard inside
All CI checksso agent or tool names in branch names, pull request titles, and commit messages block merges. - Maintain a repository ruleset for
mainthat rejects commit messages containing blocked coding agent or tool names when GitHub rulesets are available. - Delete pull request head branches after merge.
- Keep merge rights limited to users with write, maintain, or admin access.
- Keep
@Will-thomas the repository-wide code owner through.github/CODEOWNERS.
Founder deadlock prevention:
@Will-thommay be configured as a pull request review bypass actor while the project has only one maintainer.- This bypass exists to prevent the founder from being unable to merge founder-authored maintenance PRs.
- It should be used only when CI is green, conversations are resolved, labels are correct, and the change is intentionally scoped.
- Remove the bypass after at least one additional trusted maintainer or code owner can review founder-authored PRs.
Repository-level workflow token default:
contents: read.- Workflows cannot approve pull request reviews.
Workflow-specific policy:
CIusescontents: read; its public metadata guard checks branch names, pull request titles, and commit messages beforeAll CI checkscan pass.Securityusescontents: read,security-events: write, andpull-requests: read.Releasedefaults tocontents: read; package jobs receiveid-token: writeandattestations: writeonly for GitHub artifact and SBOM attestations; only the release publishing job receivescontents: write.Thank Contributorusescontents: read,issues: write, andpull-requests: writeonly to read the base repository template through the GitHub API and write a comment. It must not check out or execute contributor code.
The project should avoid repository secrets for the Stage 1 local-first MVP.
Enabled public-repository security controls:
- Secret scanning.
- Secret scanning push protection.
- Dependabot security updates.
Core analyzer guardrails:
pkg/prmaventests exercise analysis without GitHub or GitLab provider tokens.- Production core code must not import network/provider clients.
- Production core code must not read provider environment variables.
Expected empty surfaces during stabilization:
- GitHub Actions secrets.
- GitHub Actions variables.
- Webhooks.
- Environments.
- Deployments.
- GitHub Pages.
Before actively inviting OSS contributors:
- Validate branch protection for
main. - Confirm
All CI checksis the required status gate. - Confirm
CODEOWNERSstill routes ownership to@Will-thom. - Confirm pull request reviews and code owner review are required.
- Confirm any founder bypass is still intentional and documented.
- Confirm secret scanning, push protection, and Dependabot security updates are still enabled.
- Confirm no unintended collaborators, secrets, variables, webhooks, environments, deployments, releases, or pages were added.
- Re-run CI and Security on
main.