docs: propose turning this repo into the White Noise landing page#703
docs: propose turning this repo into the White Noise landing page#703Datawav wants to merge 2 commits into
Conversation
Non-invasive additions: - LANDING.md: short human-facing landing page that explains White Noise and points readers to the per-platform client repos (Android, iOS, macOS, Linux) plus the Marmot protocol spec. - REPOS.md: exhaustive map of every active repo across the marmot-protocol org, intended to help agents and contributors find the right place to read, build, or file issues. - .github/ISSUE_TEMPLATE/config.yml: adds contact_links pointing new issue filers to the correct per-platform repo while preserving blank_issues_enabled: false. The existing README and AGENTS.md are unchanged. The Flutter codebase on master continues to build and run exactly as before. If the maintainers prefer a different direction, these files can be removed or replaced without touching any working code.
|
Ready to review this PR? Stage has broken it down into 3 individual chapters for you:
Chapters generated by Stage for commit 411020c on Jun 27, 2026 7:29am UTC. |
|
Warning Review limit reached
More reviews will be available in 27 minutes and 16 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds issue-routing contact links, a new project landing page, and a repository map that covers clients, protocol/spec repos, MDK bindings, infrastructure, tooling, and agent-facing conventions. ChangesProject entrypoints and repository map
Estimated review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@REPOS.md`:
- Line 37: The repository description entry for marmot-web uses inconsistent
branding capitalization. Update the text in the REPOS.md table row for the
marmot-web entry so it matches the established “Marmot Protocol” capitalization
used elsewhere in the document, keeping the rest of the sentence unchanged.
- Line 85: The `goggles` entry description is ambiguous, so update the wording
in the repository list to make its scope explicit. Clarify whether it is
visualization tooling for Marmot Protocol broadly or specifically for group
state and epoch transitions, and revise the sentence accordingly in the
`goggles` table row so the purpose is precise and consistent with the
surrounding description.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 7e8a0fec-4895-4e3e-acd4-7a3fc11e6316
📒 Files selected for processing (3)
.github/ISSUE_TEMPLATE/config.ymlLANDING.mdREPOS.md
📜 Review details
⏰ Context from checks skipped due to timeout. (5)
- GitHub Check: Test (3/4)
- GitHub Check: Test (4/4)
- GitHub Check: Test (1/4)
- GitHub Check: Test (2/4)
- GitHub Check: Check
🧰 Additional context used
🪛 LanguageTool
LANDING.md
[style] ~5-~5: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...d group messaging. No phone. No email. No compromise. > Note: This repositor...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
REPOS.md
[style] ~9-~9: This phrasing can be overused. Try elevating your writing with a more formal alternative.
Context: ...rent work happens. ## Quick routing | If you want to... | Go to | |---|---| | File a bug or ...
(IF_YOU_WANT)
[grammar] ~37-~37: Ensure spelling is correct
Context: ...b.com/marmot-protocol/marmot-web) | The marmot protocol website. | ## Marmot Development Kit (MDK) The...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~85-~85: Ensure spelling is correct
Context: ...ol/goggles) | Visualization tooling for Marmot. Helpful when debugging group state or ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[uncategorized] ~98-~98: The official name of this software platform is spelled with a capital “H”.
Context: ...re]:title prefixes. Check each repo's.github/ISSUE_TEMPLATE/` directory for the curr...
(GITHUB)
🔇 Additional comments (19)
LANDING.md (4)
5-5: LGTM! The stylistic repetition ("No phone. No email. No compromise.") is intentional marketing copy. The LanguageTool hint is a false positive for this context.
13-18: 🎯 Functional CorrectnessClient status inconsistency with
REPOS.md.
LANDING.mdlists Linux as "In development" butREPOS.mdline 30 describeswhitenoise-linuxwith detailed technical notes (Argon2id-derived key, etc.). The depth of implementation detail inREPOS.mdsuggests Linux may be further along than "In development" implies. Verify whether Linux status should be "In development" or something more specific (e.g., "Beta" or "Alpha") to align withREPOS.md's characterization.Similarly,
REPOS.mdline 29 listswhitenoise-macas "Sandboxed single-window app; consumes a vendoredMarmotKitframework" — verify "In development" is still accurate or if macOS has progressed further.
7-7: LGTM! The note about Flutter sources onmasterbranch is consistent withREPOS.mdline 5.
28-28: LGTM! Reference toREPOS.mdis correct and provides good navigation path.REPOS.md (13)
9-9: LGTM! "If you want to..." is appropriate for a quick-routing table header. The LanguageTool style suggestion is a false positive for this documentation context.
98-98: LGTM! "GitHub" is correctly spelled as the platform name. The LanguageTool uncategorized hint is a false positive.
11-20: LGTM! Quick routing table URLs are consistent with.github/ISSUE_TEMPLATE/config.ymlandLANDING.md.
25-31: LGTM! Client repository names, platforms, and technology stacks are consistent withLANDING.md.
43-54: LGTM! MDK repository names and language bindings are comprehensive and well-organized.
59-63: LGTM! TypeScript/Web implementations section provides good alternative path documentation.
66-69: LGTM! Servers section accurately describes the transponder notifications server.
72-79: LGTM! Storage adapters section clearly lists OpenMLS backend options.
82-88: LGTM! Tooling section covers CLI, visualization, conversion, and Homebrew distribution.
91-94: LGTM! Curated index section appropriately references awesome-marmot.
95-102: LGTM! Agent conventions section provides valuable cross-repository guidance. The scope clarification on line 101 is particularly helpful for architectural decisions.
103-106: LGTM! Exclusion disclaimer appropriately sets boundaries for what this document covers.
97-97: 🎯 Functional CorrectnessNo update needed.
mdk-kotlin-exampleusesmaster, so the branch note is consistent..github/ISSUE_TEMPLATE/config.yml (2)
21-23: 🎯 Functional CorrectnessInconsistent URL pattern for "Awesome Marmot".
All other
contact_linkspoint to/issues/new/choosefor issue filing, but the Awesome Marmot link points to the repository root (https://github.com/marmot-protocol/awesome-marmot) without/issues/new/choose. Since theabouttext says "Browse the curated list", this appears intentional for a read-only destination. However, for consistency with the link's purpose inREPOS.mdline 93 ("Start here when surveying what exists"), verify this is the desired behavior rather than a copy-paste inconsistency.If the intent is to route issue filers to browse rather than file issues, the current URL is correct; if the intent is to allow filing issues against the awesome list, append
/issues/new/choose.
2-24: LGTM! URLs are consistent with repository names used inLANDING.mdandREPOS.md. Theaboutdescriptions accurately match each destination's purpose.
- Capitalize 'Marmot Protocol' in marmot-web description for consistency - Clarify goggles scope as visualization for group state
|
counter proposal: we can use .github for that, and it will show up for anyone visiting https://github.com/marmot-protocol |
Proposal
Turn
marmot-protocol/whitenoiseinto the landing page and orientation hub for the project.White Noise has split into per-platform repositories:
whitenoise-android,whitenoise-ios,whitenoise-mac,whitenoise-linux. This repo holds the org's highest public traffic and star count, so visitors land here looking for the project but find the legacy Flutter code instead of pointers to where current work happens. Repurposing the repo as the landing page captures that traffic correctly without losing any history.What this PR adds
LANDING.mdREPOS.mdmarmot-protocolrepository: clients, spec, MDK and every language binding, TypeScript and Web implementations, the MIP-05 notifications server, OpenMLS storage adapters, tooling, examples, and the Homebrew tap..github/ISSUE_TEMPLATE/config.ymlcontact_linksto the per-platform repos, the spec, and the MDK so new issue filers land in the right place.The PR is additive: existing files are untouched and the Flutter app still builds from
master.Proposed follow-up (for maintainer review)
Once this PR is reviewed and the orientation docs are agreed on, the next step is to retire the Flutter sources cleanly:
flutter-final(or similarly named) annotated tag at the currentmasterHEAD, with release notes pointing to the per-platform repos. The full Flutter history stays reachable via the tag forever.masterin a follow-up PR, leaving onlyLANDING.md,REPOS.md,LICENSE, and the issue-template config.LANDING.mdtoREADME.mdso the GitHub repo page renders the landing content by default.flutter-finaltag from the newREADME.mdand fromREPOS.mdso anyone looking for the old code can still find it in one click.Each step is reversible until
masteris force-updated, and each one is small enough to review independently.Verification
Every URL in
LANDING.md,REPOS.md, and the issue template config was checked againsthttps://github.com/marmot-protocol/<repo>and returns 200. Default-branch notes inREPOS.mdreflect live values fromgh api repos/marmot-protocol/<repo> --jq .default_branchat the time of writing.Out of scope for this PR
Admin-only repo settings (description, topics, pinned status, homepage URL) are unchanged here and left to maintainers after merge.