Skip to content

docs: propose turning this repo into the White Noise landing page#703

Open
Datawav wants to merge 2 commits into
marmot-protocol:masterfrom
Datawav:docs/landing-hub
Open

docs: propose turning this repo into the White Noise landing page#703
Datawav wants to merge 2 commits into
marmot-protocol:masterfrom
Datawav:docs/landing-hub

Conversation

@Datawav

@Datawav Datawav commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Proposal

Turn marmot-protocol/whitenoise into 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

File Purpose
LANDING.md One-page human introduction to White Noise: what it is, the four platform clients, the Marmot Protocol spec, related projects.
REPOS.md Exhaustive agent-and-human-readable map of every active marmot-protocol repository: 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.yml Adds contact_links to 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:

  1. Tag the last Flutter state. Cut a flutter-final (or similarly named) annotated tag at the current master HEAD, with release notes pointing to the per-platform repos. The full Flutter history stays reachable via the tag forever.
  2. Delete the Flutter sources from master in a follow-up PR, leaving only LANDING.md, REPOS.md, LICENSE, and the issue-template config.
  3. Promote LANDING.md to README.md so the GitHub repo page renders the landing content by default.
  4. Reference the flutter-final tag from the new README.md and from REPOS.md so anyone looking for the old code can still find it in one click.

Each step is reversible until master is 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 against https://github.com/marmot-protocol/<repo> and returns 200. Default-branch notes in REPOS.md reflect live values from gh api repos/marmot-protocol/<repo> --jq .default_branch at 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.

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.
@stage-review

stage-review Bot commented Jun 27, 2026

Copy link
Copy Markdown

Ready to review this PR? Stage has broken it down into 3 individual chapters for you:

Title
1 Introduce the White Noise landing page
2 Document the Marmot Protocol repository map
3 Redirect issue filers to platform-specific repos
Open in Stage

Chapters generated by Stage for commit 411020c on Jun 27, 2026 7:29am UTC.

@coderabbitai

coderabbitai Bot commented Jun 27, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@Datawav, we couldn't start this review because you've reached your PR review rate limit.

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 3d9eae4d-e9b8-4157-9ad5-eddf631f1eb2

📥 Commits

Reviewing files that changed from the base of the PR and between 1f638c9 and 411020c.

📒 Files selected for processing (1)
  • REPOS.md
📝 Walkthrough

Walkthrough

Adds 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.

Changes

Project entrypoints and repository map

Layer / File(s) Summary
Issue routing and landing page
.github/ISSUE_TEMPLATE/config.yml, LANDING.md
Disables blank issues, adds platform- and project-specific contact links, and introduces the project landing page with product, platform, protocol, related-project, and licensing content.
Core repository map
REPOS.md
Adds the main repository index sections for routing, clients, protocol, MDK, TypeScript/Web, servers, and storage adapters.
Tooling, index, and conventions
REPOS.md
Adds tooling links, a curated index reference, agent-facing conventions, and an explicit exclusion list.

Estimated review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is descriptive and clearly related to the new landing-page and documentation changes.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 9fca13f and 1f638c9.

📒 Files selected for processing (3)
  • .github/ISSUE_TEMPLATE/config.yml
  • LANDING.md
  • REPOS.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 Correctness

Client status inconsistency with REPOS.md.

LANDING.md lists Linux as "In development" but REPOS.md line 30 describes whitenoise-linux with detailed technical notes (Argon2id-derived key, etc.). The depth of implementation detail in REPOS.md suggests 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 with REPOS.md's characterization.

Similarly, REPOS.md line 29 lists whitenoise-mac as "Sandboxed single-window app; consumes a vendored MarmotKit framework" — verify "In development" is still accurate or if macOS has progressed further.


7-7: LGTM! The note about Flutter sources on master branch is consistent with REPOS.md line 5.


28-28: LGTM! Reference to REPOS.md is 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.yml and LANDING.md.


25-31: LGTM! Client repository names, platforms, and technology stacks are consistent with LANDING.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 Correctness

No update needed. mdk-kotlin-example uses master, so the branch note is consistent.

.github/ISSUE_TEMPLATE/config.yml (2)

21-23: 🎯 Functional Correctness

Inconsistent URL pattern for "Awesome Marmot".

All other contact_links point to /issues/new/choose for issue filing, but the Awesome Marmot link points to the repository root (https://github.com/marmot-protocol/awesome-marmot) without /issues/new/choose. Since the about text says "Browse the curated list", this appears intentional for a read-only destination. However, for consistency with the link's purpose in REPOS.md line 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 in LANDING.md and REPOS.md. The about descriptions accurately match each destination's purpose.

Comment thread REPOS.md Outdated
Comment thread REPOS.md Outdated
@Datawav Datawav changed the title docs: add cross-repo landing page and ecosystem map docs: propose turning this repo into the White Noise landing page Jun 27, 2026
- Capitalize 'Marmot Protocol' in marmot-web description for consistency
- Clarify goggles scope as visualization for group state
@dannym-arx

dannym-arx commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

counter proposal: we can use .github for that, and it will show up for anyone visiting https://github.com/marmot-protocol

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants