From 7427e0701a629dcea16d257da2c7b60c655e8507 Mon Sep 17 00:00:00 2001 From: Ryan Lee Date: Wed, 7 Oct 2026 01:07:35 -0400 Subject: [PATCH] chore: drop darwin from flake and install docs PR #131 already removed macOS from CI and release (platform.yml matrix, targets.json, release.jsonc, check-matrix gate). This removes the last darwin/macOS references: - flake.nix: drop x86_64-darwin/aarch64-darwin from the systems list, narrow meta.platforms to linux, and drop the macOS attribution from the no-sandbox HOME comment (the rationale holds on any no-sandbox nix). - README / CONCEPTS: state Linux and Windows (not macOS) as the built platforms; fix the stale 'five platform pins' to three. - check-matrix note: 'five' -> 'three' platform pins. macOS is no longer a build or distribution target. --- .changeset/drop-darwin-flake.md | 5 +++++ CONCEPTS.md | 4 ++-- flake.nix | 8 ++++---- npm/packages/comment-checker/README.md | 2 +- scripts/tools/check-matrix.ts | 2 +- 5 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 .changeset/drop-darwin-flake.md diff --git a/.changeset/drop-darwin-flake.md b/.changeset/drop-darwin-flake.md new file mode 100644 index 0000000..61e0237 --- /dev/null +++ b/.changeset/drop-darwin-flake.md @@ -0,0 +1,5 @@ +--- +"@systemfsoftware/claude-code-comment-checker": none +--- + +Drop darwin/macOS from the Nix flake systems list and from the install/distribution docs; macOS is no longer a build or distribution target. No change to the package's observable behavior. diff --git a/CONCEPTS.md b/CONCEPTS.md index 9069067..e9ac802 100644 --- a/CONCEPTS.md +++ b/CONCEPTS.md @@ -51,10 +51,10 @@ identity at runtime and spawns the binary — the only package that declares a bin. ### Platform package -One per os-cpu pair (`-linux-x64`, `-darwin-arm64`, …), generated from +One per os-cpu pair (`-linux-x64`, `-linux-arm64`, …), generated from `scripts/lib/targets.json`: ships only the compiled binary and its manifest (`os`/`cpu`/`libc` fields, no `bin`). The launcher's -`optionalDependencies` pins all five to the release version. +`optionalDependencies` pins all three to the release version. The committed launcher manifest never lists these packages as `optionalDependencies` — pnpm cannot lock the platform packages diff --git a/flake.nix b/flake.nix index 0686ab4..ad4e96f 100644 --- a/flake.nix +++ b/flake.nix @@ -11,7 +11,7 @@ outputs = { self, nixpkgs, rust-overlay }: let - systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + systems = [ "x86_64-linux" "aarch64-linux" ]; forAllSystems = f: nixpkgs.lib.genAttrs systems (system: @@ -67,8 +67,8 @@ # would run the whole suite inside the nix sandbox. doCheck = false; TSLP_SOURCE_BUNDLE_URL = "file://${tslpBundle}/parser-sources.tar.zst"; - # cargo defaults CARGO_HOME to $HOME/.cargo. Without a sandbox (the - # macOS default) nix's HOME=/homeless-shelter is the real host path, + # cargo defaults CARGO_HOME to $HOME/.cargo. Without a sandbox + # nix's HOME=/homeless-shelter is the real host path, # so the build would create it and every later rebuild would fail # nix's purity check. Keep cargo's home inside the build directory. preBuild = '' @@ -78,7 +78,7 @@ description = "Claude Code PostToolUse hook that flags unnecessary comments"; homepage = "https://github.com/systemfsoftware/comment-checker"; license = licenses.asl20; - platforms = platforms.unix; + platforms = platforms.linux; }; }; mkBwrap = pkgs: commentChecker: diff --git a/npm/packages/comment-checker/README.md b/npm/packages/comment-checker/README.md index e1b86c5..b07139f 100644 --- a/npm/packages/comment-checker/README.md +++ b/npm/packages/comment-checker/README.md @@ -5,7 +5,7 @@ `@systemfsoftware/claude-code-comment-checker` is the npm distribution launcher for `comment-checker`, a standalone `PostToolUse` hook for Claude Code that classifies code comments as justified or unnecessary across 37 programming languages. -It downloads or executes native platform binaries for Linux, macOS, and Windows via optional platform dependencies. Without `--strip`, it never modifies files on disk and performs all parsing and classification offline. +It downloads or executes native platform binaries for Linux and Windows via optional platform dependencies. Without `--strip`, it never modifies files on disk and performs all parsing and classification offline. ## Quick Start diff --git a/scripts/tools/check-matrix.ts b/scripts/tools/check-matrix.ts index 5c49505..93a1c62 100755 --- a/scripts/tools/check-matrix.ts +++ b/scripts/tools/check-matrix.ts @@ -100,7 +100,7 @@ function checkManifest(manifest: LauncherManifest, targets: Target[]) { const declaredNames = Object.keys(manifest.optionalDependencies ?? {}) if (declaredNames.length === 0) { note( - 'launcher manifest carries no optionalDependencies in-tree; the shared release toolchain injects the five platform pins from targets.json when the launcher is packaged', + 'launcher manifest carries no optionalDependencies in-tree; the shared release toolchain injects the three platform pins from targets.json when the launcher is packaged', ) } else { const missingNames = expectedNames.filter((name) => !declaredNames.includes(name))