Skip to content

docs: correct the docs against what actually ships - #78

Open
kyle-ssg wants to merge 1 commit into
mainfrom
docs/accuracy-pass
Open

docs: correct the docs against what actually ships#78
kyle-ssg wants to merge 1 commit into
mainfrom
docs/accuracy-pass

Conversation

@kyle-ssg

Copy link
Copy Markdown
Owner

What

An accuracy pass over README.md, CONTRIBUTING.md, RELEASING.md, SECURITY.md and the GitHub Pages landing page, checking every factual claim against the code. Docs only — no code touched.

Wrong, now fixed

Claim Reality
cargo test runs the test suite The root package is the binary, so a bare cargo test skips every crate under crates/. Now cargo test --workspace, with the reason spelled out (README + CONTRIBUTING).
CONTRIBUTING: cargo clippy --all-targets -- -D warnings CI runs --workspace --all-targets --all-features. The documented command could pass locally while CI failed.
RELEASING: the build job packages three platform artifacts It packages two macOS zips (kyde-macos.zip, kyde-macos-x86_64.zip) + .sha256, signed/notarized/stapled. Linux and Windows are commented out in release.yml.
RELEASING: "while Kyde is 0.x…" Kyde is 2.5.0. Section rewritten; also documents that release-please owns two version fields ([package] + [workspace.package] via extra-files), not one.
README: no caret-follow scrolling It ships (reveal_pending). Soft-wrap is the real gap, and only in the file editor.
README: menu bar is Settings / FPS / Quit Also Plugins, What's New, Clear Data & Restart, and a File menu with Open + Recent Projects.
README: Push when ahead of upstream Pull and Fetch ship too.
README: file management = New File, Rename, Delete 2.5.0 added cut/copy/paste, drag & drop, folder rename, the non-git guard.
SECURITY: src/git.rs, "pre-1.0" Now crates/kyde-git/src/lib.rs; the version line is gone.
Landing page: xattr -dr com.apple.quarantine The release is Developer ID signed, notarized and stapled — the quarantine dance is unnecessary and reads as unsigned.

Shipped but undocumented, now covered

Worktree switcher (its screenshot was already committed but unused), compare two files, ⌘-click navigation, error squiggles, Sort Lines / Sort Object Keys, back/forward navigation, What's New, the in-app updater, single-instance launches, and the light + colour-vision-deficiency palettes. Missing shortcuts added to the keymap list (⌘⇧F, ⌘⌥←/→, ⌥⌘L/⌥⌘S, ⌃` ).

SECURITY's threat model also gained the in-app updater and the single-instance socket.

Testing

Docs only, no code changed, so nothing to run beyond reading the rendered diff.

Note

SECURITY.md still lists kyle.johnson@flagsmith.com as the contact — left alone deliberately. Change it if that's stale.

🤖 Generated with Claude Code

An accuracy pass over README, CONTRIBUTING, RELEASING, SECURITY and the
GitHub Pages landing page. Several claims had drifted from the code:

- `cargo test` was documented as the test command, but the root package is
  the binary, so it silently skips every crate under `crates/` where most
  of the logic tests live. Now `cargo test --workspace`, with the reason.
- CONTRIBUTING's clippy line was missing `--workspace --all-features`, so a
  local run could pass while CI failed on the same code.
- RELEASING claimed the release job packages macOS, Linux and Windows. It
  packages two macOS zips; the other two are commented out in release.yml.
  Also dropped the pre-1.0 SemVer section (Kyde is 2.5.0) and documented
  that release-please owns two version fields, not one.
- README listed caret-follow scrolling as missing (it ships), the menu bar
  as three items, Push without Pull/Fetch, and file management as New File
  / Rename / Delete (2.5.0 added cut/copy/paste, drag & drop, folder
  rename, the non-git guard).
- Features that shipped but were never documented: worktree switcher (its
  screenshot was already in the repo, unused), compare two files, ⌘-click
  navigation, error squiggles, sort ops, back/forward, What's New, the
  in-app updater, single-instance launches, the light + CVD palettes.
- SECURITY pointed at `src/git.rs` (now `crates/kyde-git`), still said
  pre-1.0, and didn't cover the updater or the single-instance socket.
- The landing page told users to strip the quarantine attribute from a
  build that is Developer ID signed, notarized and stapled.

Docs only — no code touched.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@themis-gatacre-games

Copy link
Copy Markdown

🤖 AI Review: 🧹 Ship it, nits inside

A thorough accuracy pass over all five doc files — README, CONTRIBUTING, RELEASING, SECURITY, and the landing page — checking every factual claim against the actual code. Every correction I spot-checked is accurate: paths, crate counts, feature presence, shortcut bindings, CI flags, release artifacts, and the six shipped palettes all match. The quarantine removal is justified (the release is signed and notarized). Solid housekeeping.

🎯 Correctness 5/5
🧪 Test coverage 5/5
📐 Code quality 4/5
🚀 Product impact 4/5

🧹 Nits

  • CONTRIBUTING.md:46 — The "Before you open a PR" block still says cargo test --all while the "Getting started" section above now says cargo test --workspace with an explanation of why --workspace matters. Both are functionally identical (--all is a deprecated alias), but switching to --workspace here too would be consistent with the new prose and avoid sending readers to cargo help test to check whether they differ.
📝 Walkthrough
  • README features — Documented worktree switcher, compare-two-files, ⌘-click nav, error squiggles, sort commands, back/forward, non-git folders, filesystem watcher, in-app updater, single instance, What's New window, and expanded file-management / image-format / palette lists.
  • README corrections — Fixed terminal shortcut (⌃` not ⌃\``), push→push/pull/fetch, image formats (8 not 4), 6 palettes not 2, cargo test --workspace`, and removed the false "no caret-follow" limitation.
  • CONTRIBUTING — Corrected plugins.rs path, clippy flags to match CI (--workspace --all-targets --all-features), rewrote the Tests section for the new crates/ layout, added the explanation of why --workspace matters.
  • RELEASING — Corrected build artifacts to two macOS zips + .sha256 (Linux/Windows commented out), updated version-ownership to two fields + extra-files, rewrote post-1.0 semver guidance, fixed manual-release instructions.
  • SECURITY — Fixed git.rscrates/kyde-git/src/lib.rs, removed "pre-1.0", added updater and single-instance socket to threat model, added history to config-file list.
  • Landing page — Updated meta description, added Local History + Terminal cards, expanded Branches card, corrected install section (signed/notarized, no quarantine), updated platform pills.

Product take: This is a significant documentation quality improvement. The README was trailing reality by several features and two major versions — anyone evaluating Kyde from the repo page was getting a materially incomplete picture. The SECURITY threat model additions (updater, socket) are the kind of thing that matters if a researcher comes knocking.

🧭 Assumptions & unverified claims
  • The README's claim that ⌘-click navigation covers exactly Rust, TypeScript/TSX, JavaScript, and Python was not exhaustively verified against every grammar's links_on / definitions_on implementation — only that the feature exists and Rust is wired up.
  • The README's "opt-out per pack" for error squiggles was not verified in the plugin config schema.

A docs PR this honest about what actually ships is rarer than it should be — nice work. · reviewed at 0ba7941

1 finding(s) anchored outside the diff (not posted inline)
  • CONTRIBUTING.md:46 🧹 Nit · ⚡ Quick win

cargo test --all--workspace for consistency

The Getting Started section above now uses --workspace and explains why it matters; this pre-PR checklist still uses the deprecated --all alias.

cargo test --workspace

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