diff --git a/CODEOWNERS b/CODEOWNERS index 302ae65..82d645a 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -15,3 +15,6 @@ timmy-config/ @Timmy # Optional: Add repo-specific owners for specialized areas # e.g., "hermes-agent/agent-core/ @Rockachopa" + +# Optional: Add repo-specific owners for specialized areas +# e.g., "hermes-agent/agent-core/ @Rockachopa" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f2a46ec..566252a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,7 +28,27 @@ No other exceptions. Too big? Break it up. All repositories follow these mandatory rules for the `main` branch: ### Required for All Merges -- [ ] Pull Request must exist for all changes +- [x] Pull Request must exist for all changes +- [x] At least 1 approval from reviewer +- [x] CI checks must pass (where applicable) +- [x] No force pushes allowed +- [x] No direct pushes to main +- [x] No branch deletion + +### Review Requirements +- [x] @perplexity must be assigned as reviewer +- [x] @Timmy must review all changes to `hermes-agent/` +- [x] No self-approvals allowed + +### CI/CD Enforcement +- [x] CI must be configured for all new features +- [x] Failing CI blocks merge +- [x] CI status displayed in PR header + +### Abandoned PR Policy +- PRs inactive >7 days get "needs attention" label +- PRs inactive >21 days are archived +- PRs inactive >90 days are closed - [ ] At least 1 approval from reviewer - [ ] CI checks must pass (where available) - [ ] No force pushes allowed @@ -56,6 +76,7 @@ timmy-config: ``` ### CI Status + ```text - hermes-agent: ✅ Active - the-nexus: ⚠️ CI runner disabled (see #915) @@ -63,6 +84,19 @@ timmy-config: - timmy-config: - (Limited CI) ``` +### Branch Protection Status + +All repositories now enforce: +- Require PR for merge +- 1+ approvals required +- CI/CD must pass (where applicable) +- Force push and branch deletion blocked +- hermes-agent: ✅ Active +- the-nexus: ⚠️ CI runner disabled (see #915) +- timmy-home: - (No CI) +- timmy-config: - (Limited CI) +``` + ## Workflow 1. Create feature branch 2. Open PR against main