Skip to content

docs: move Privacy & Telemetry and Releasing runbook from README into mdBook#6737

Open
TheHypnoo wants to merge 3 commits into
mainfrom
docs/telemetry-releasing-pages
Open

docs: move Privacy & Telemetry and Releasing runbook from README into mdBook#6737
TheHypnoo wants to merge 3 commits into
mainfrom
docs/telemetry-releasing-pages

Conversation

@TheHypnoo

@TheHypnoo TheHypnoo commented Jul 21, 2026

Copy link
Copy Markdown
Member

The README rewrite (docs/readme-cleanup) shortens the README, but two blocks it removes exist nowhere else. This PR preserves them as dedicated mdBook pages before that content is lost:

  • docs/src/cli/telemetry.md — the full "Privacy & Telemetry" section: both opt-in channels (telemetry.enabled, telemetry.compatibility_reports / feat(telemetry): opt-in compatibility reports for unsupported TS/Node features #849), the complete compatibility-report payload schema, redaction rules, the 30-day dedup cache, and the perry doctor inspection flags. Previously the docs only mentioned PERRY_NO_TELEMETRY in one table row of the perry.toml reference; this page is now cross-linked from there.
  • docs/src/contributing/releasing.md — the maintainer release runbook: pre-release checklist, major-release per-platform verification matrix, the iOS/tvOS simulator-run recipe (PERRY_UI_TEST_MODE=1), what release-packages.yml does on the tag, release gates, and failure recovery.

Both pages are added to SUMMARY.md. Content is verbatim from the pre-rewrite README except:

  • the §3 cross-reference became an in-page anchor link;
  • the release-step comment "Add a 'Recent Changes' entry in CLAUDE.md" was updated to point at CHANGELOG.md, matching the current workflow (the README predated the CHANGELOG split).

No version bump or CHANGELOG entry (maintainer handles at merge).

Summary by CodeRabbit

  • Documentation
    • Added a new guide explaining privacy & telemetry behavior, including opt-in channels, configuration/flags, compatibility reporting modes, payload expectations, and related diagnostic commands.
    • Added release process documentation covering release cadence, required pre-release verification per platform, publishing workflow behavior, release gates, and troubleshooting runbooks.
    • Updated the documentation table of contents with links to the new pages.

… mdBook

The README rewrite drops these two sections; this preserves them as
dedicated docs pages (docs/src/cli/telemetry.md and
docs/src/contributing/releasing.md) and adds them to SUMMARY.md.
Content is verbatim from the pre-rewrite README except for mdBook
anchor links and updating the stale 'Recent Changes in CLAUDE.md'
release step to CHANGELOG.md.
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a878b009-5a99-4b04-808e-c7c9708a43cd

📥 Commits

Reviewing files that changed from the base of the PR and between bd9984a and e4c1d69.

📒 Files selected for processing (1)
  • docs/src/contributing/releasing.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/src/contributing/releasing.md

📝 Walkthrough

Walkthrough

Adds documentation for Perry’s privacy and telemetry behavior and release process, with new table-of-contents links under CLI Reference and Contributing.

Changes

Telemetry documentation

Layer / File(s) Summary
Privacy and telemetry reference
docs/src/cli/telemetry.md, docs/src/SUMMARY.md
Documents opt-in telemetry channels, configuration controls, compatibility reports, payloads, exclusions, deduplication, and related perry doctor commands. Adds the page to the CLI reference.

Release documentation

Layer / File(s) Summary
Release preparation and verification
docs/src/contributing/releasing.md, docs/src/SUMMARY.md
Documents release cadence, pre-release checks, version tagging, cross-platform verification, and iOS, tvOS, and watchOS simulator procedures. Adds the page to the contributing section.
Release automation and recovery
docs/src/contributing/releasing.md
Documents package publishing, release gates, platform-specific failures, benchmark handling, and recovery procedures.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • PerryTS/perry#6736: Updates the README privacy section to point to the telemetry documentation added here.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly states the main change: moving two README sections into mdBook pages.
Description check ✅ Passed It has a solid summary and concrete change details, but it omits the Related issue and Test plan sections from the template.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/telemetry-releasing-pages

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: 3

🤖 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 `@docs/src/contributing/releasing.md`:
- Around line 43-46: Reconcile the CI coverage descriptions in the platform
matrix and the accompanying paragraph: update the Linux and Windows entries to
accurately reflect the automated doc-test coverage provided by test.yml, while
distinguishing checks that remain manual or build-only. Ensure the statements
consistently describe the same coverage across the table and the paragraph.
- Around line 31-35: Update the release instructions around the tag-push command
to reflect that release-packages.yml runs only after publishing the
corresponding GitHub Release (or via workflow_dispatch), not from pushing a tag
alone. Instruct maintainers to publish the GitHub Release after pushing the tag,
and update the referenced CI description so both sections consistently describe
the actual trigger.
- Around line 28-29: Update the release checklist in the contributing release
instructions to remove the stale CLAUDE.md “Current Version” update and retain
CHANGELOG.md as the release documentation target alongside Cargo.toml
workspace.package.version. Ensure the checklist no longer directs maintainers to
modify CLAUDE.md.
🪄 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: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 48261114-edd8-4372-89c1-b1f0879eeee0

📥 Commits

Reviewing files that changed from the base of the PR and between 0adf0d2 and bd9984a.

📒 Files selected for processing (3)
  • docs/src/SUMMARY.md
  • docs/src/cli/telemetry.md
  • docs/src/contributing/releasing.md

Comment thread docs/src/contributing/releasing.md Outdated
Comment on lines +28 to +29
# Edit Cargo.toml workspace.package.version + CLAUDE.md "Current Version".
# Add a changelog entry in CHANGELOG.md.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Resolve the stale CLAUDE.md release reference.

The checklist still instructs maintainers to update CLAUDE.md, while the PR objective says this release-step reference was changed to CHANGELOG.md. As written, the runbook contradicts itself and can leave the documented version source incorrect.

Suggested correction
-# Edit Cargo.toml workspace.package.version + CLAUDE.md "Current Version".
+# Edit Cargo.toml workspace.package.version and update CHANGELOG.md.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Edit Cargo.toml workspace.package.version + CLAUDE.md "Current Version".
# Add a changelog entry in CHANGELOG.md.
# Edit Cargo.toml workspace.package.version and update CHANGELOG.md.
# Add a changelog entry in CHANGELOG.md.
🤖 Prompt for 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.

In `@docs/src/contributing/releasing.md` around lines 28 - 29, Update the release
checklist in the contributing release instructions to remove the stale CLAUDE.md
“Current Version” update and retain CHANGELOG.md as the release documentation
target alongside Cargo.toml workspace.package.version. Ensure the checklist no
longer directs maintainers to modify CLAUDE.md.

Comment thread docs/src/contributing/releasing.md Outdated
Comment on lines +43 to +46
| **macOS** (arm64 + x86_64) | `cargo test` + `run_parity_tests.sh` + `scripts/run_doc_tests.sh` | Yes, `test.yml` (arm64 only) |
| **Linux glibc** (x86_64 + aarch64) | Same, under `xvfb-run -a` for UI; `apt install libgtk-4-dev libadwaita-1-dev xvfb` first | Partial — release build only |
| **Linux musl** (x86_64 + aarch64) | Release build via `release-packages.yml`; spot-check a compiled `hello.ts` runs on Alpine | Build only |
| **Windows** (x86_64 MSVC) | `scripts/run_doc_tests.ps1`; smoke-test `perry compile hello.ts -o hello.exe && .\hello.exe` | Build only |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Reconcile the platform CI coverage claims.

The table says Linux and Windows are “Build only,” but the following paragraph says Linux and Windows doc-tests are automated in test.yml. Maintainers cannot determine which major-release checks are covered by CI versus which must be run manually.

Also applies to: 55-57

🤖 Prompt for 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.

In `@docs/src/contributing/releasing.md` around lines 43 - 46, Reconcile the CI
coverage descriptions in the platform matrix and the accompanying paragraph:
update the Linux and Windows entries to accurately reflect the automated
doc-test coverage provided by test.yml, while distinguishing checks that remain
manual or build-only. Ensure the statements consistently describe the same
coverage across the table and the paragraph.

TheHypnoo added a commit that referenced this pull request Jul 21, 2026
- Qualify the no-runtime claim: hero lists native targets only, web/WASM
  moved to an explicit caveat (also footnoted under the comparison table)
- Link the migrated telemetry and releasing docs pages (#6737) from the
  Documentation section
…ctual CI

- release-packages.yml triggers on a published GitHub Release (or
  workflow_dispatch), not on the tag push; document the extra publish step
  and retitle §3 accordingly (anchor updated)
- doc-tests: only the macOS lane runs in test.yml — the Linux (gtk4) and
  Windows matrix entries are disabled pending testkit fixes; the old
  'Linux + Windows doc-tests are automated' claim was stale
- clarify the version-bump comment: Cargo.toml and CLAUDE.md 'Current
  Version' move together (kept — CLAUDE.md still carries that line),
  changelog entry goes in CHANGELOG.md
proggeramlug pushed a commit that referenced this pull request Jul 21, 2026
…page (#6736)

* docs(readme): rewrite README as a concise, marketing-focused landing page

Cut the README from 1042 to ~140 lines. Detailed content (language
feature tables, CLI flags, project structure, release runbook, telemetry
payload schema) now lives in the docs site; the README focuses on the
pitch: comparison table vs Node/Bun/Electron, measured benchmark
highlights with linked sources, showcase, quick start, and community
links.

* docs(readme): link privacy section to the new telemetry docs page (#6737)

* docs(readme): address CodeRabbit review

- Qualify the no-runtime claim: hero lists native targets only, web/WASM
  moved to an explicit caveat (also footnoted under the comparison table)
- Link the migrated telemetry and releasing docs pages (#6737) from the
  Documentation section
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.

1 participant