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))