diff --git a/.gitignore b/.gitignore index 2556e45e..769e943d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules/ test-results/ nexus/__pycache__/ tests/__pycache__/ +.aider* diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d50e88fb..3ac8b300 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,19 +1,30 @@ # Contributing to the Nexus -**Every PR: net โ‰ค 10 added lines.** Not a guideline โ€” a hard limit. -Add 40, remove 30. Can't remove? You're homebrewing. Import instead. +## Branch Protection Policy -## Why +All repositories enforce these rules on `main`: +- ๐Ÿ” **Require PR for merge** - No direct commits +- โœ… **1+ Approved Reviewers** - Minimum approval threshold +- ๐Ÿ”„ **Dismiss Stale Approvals** - Re-review on new commits +- ๐Ÿงช **CI/CD Success** - Pass all checks before merge +- ๐Ÿ”’ **Block Force Push** - Protect commit history +- ๐Ÿšซ **Block Branch Deletion** - Prevent accidental deletion -Import over invent. Plug in the research. No builder trap. -Removal is a first-class contribution. Baseline: 4,462 lines (2026-03-25). Goes down. +## Default Reviewers +- `@perplexity` - Mandatory reviewer for all repos +- `@Timmy` - Required on hermes-agent +- Repo-specific owners for domain areas -## PR Checklist +## PR Requirements +1. **Net diff โ‰ค 10 lines** (additions - deletions) +2. **Manual test plan** - Specific steps to verify changes +3. **Automated test output** - Paste CI results or add tests -1. **Net diff โ‰ค 10** (`+12 -8 = net +4 โœ…` / `+200 -0 = net +200 โŒ`) -2. **Manual test plan** โ€” specific steps, not "it works" -3. **Automated test output** โ€” paste it, or write a test (counts toward your 10) +## Exceptions +- Dependency config files (requirements.txt, package.json) +- Docs-only changes (must still pass CI) -Applies to every contributor: human, Timmy, Claude, Perplexity, Gemini, Kimi, Grok. -Exception: initial dependency config files (requirements.txt, package.json). -No other exceptions. Too big? Break it up. +## Enforcement +- Gitea branch protection rules are configured +- CODEOWNERS file defines default reviewers +- Failing these rules blocks merge diff --git a/README.md b/README.md index a9a791cf..d3272875 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,12 @@ As of current `main`, this repo does **not** ship a browser 3D world. In plain language: current `main` does not ship a browser 3D world. A clean checkout of `Timmy_Foundation/the-nexus` on `main` currently contains: + +## Governance + +- โœ… **Branch Protection** - See [CONTRIBUTING.md](CONTRIBUTING.md) for rules +- ๐Ÿ‘€ **Review Policy** - All changes require PR + review +- ๐Ÿงช **CI/CD** - Merges blocked on failing checks - Python heartbeat / cognition files under `nexus/` - `server.py` - protocol, report, and deployment docs