fix(site): surface Jamf Security Cloud command count#285
Merged
Conversation
…cards The GitHub Pages hero showed "Jamf Security Cloud: 0" and a headline total 21 short of reality. Two independent causes: 1. Regression in `commands -o json`: the product-detection walk matched any command *named* a namespace, so `pro report security` was mis-tagged product "security" instead of "pro". Gate the namespace check on top-level position (product == "") so nested commands can't re-trigger it. Adds a regression test. 2. Deployed catalog is stale: non-release site deploys build the CLI from the latest release tag (v1.22.0), which predates the Security Cloud namespace, so its cards genuinely have no data until v1.23.0 ships. Render any product stat card with a 0 count as a muted "Soon" instead of a stark red "0" — honest, reads as intentional, and auto-clears to the real number on release. Generalized to every product card, so future namespaces get it for free. Also refine the hero stat cards: restructure each label into two lines — "Jamf" (with the brand icon) on the first, the product name on the second — so long names like "Security Cloud" sit on their own line instead of overrunning the card. Make labels bolder (600) and slightly smaller (0.8rem), add breathing room under the number, and tighten the card footprint (180x124, was 200x135). Finally, replace hardcoded "over 1,250 commands" FAQ/JSON-LD prose with the __COMMAND_COUNT__ placeholder the deploy workflow already substitutes, and add the two real Security Cloud group titles to the catalog's GROUP_ORDER so the section renders in a deliberate order rather than alphabetical fallback. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
99252ed to
271e218
Compare
neilmartin83
approved these changes
Jul 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The GitHub Pages hero shows Jamf Security Cloud: 0, and the headline total (1,599) is 21 short of what
mainactually ships.Root cause — two independent issues
1. Latent regression in
commands -o json(correctness). The product-detection walk incollectCommandsmatched any command literally named a namespace, sopro report securitywas taggedproduct: "security"instead ofpro. In the released v1.22.0 it's correct; on currentmainit's wrong. On the next release Security Cloud would show 21 (one bogus) and Pro would be undercounted by one.2. Stale deployed catalog. On non-release pushes,
deploy-site.yamlbuilds the CLI from the latest release tag (v1.22.0) "so the deployed catalog reflects the released CLI." The Security Cloud namespace merged after v1.22.0, so the deployed binary has nosecuritycommands at all → the card genuinely shows 0 until v1.23.0 ships. Math checks out exactly: 1,620 (main) − 21 (security) = 1,599 (live). We're not changing the release-tracking contract — the "0" is truthful, it just looks broken.Changes
root.go): gate the namespace check on top-level position (product == "") so a nested command named after a namespace can't be re-tagged. AddsTestCollectCommands_NestedNamespaceNameNotReclassified.catalog.js+style.css): any product stat card with a 0 count renders a muted "Soon" instead of a stark red "0". Reads as intentional, auto-clears to the real number on the next release, and generalizes to any future namespace.index.html): replace hardcoded "over 1,250 commands" in the FAQ body + JSON-LD with the__COMMAND_COUNT__placeholder the deploy workflow already substitutes (its grep-guard fails the build on any leftover placeholder).catalog.js): add the real Security Cloud group titles (Device Risk & Lifecycle,Shared Signals & Events) toGROUP_ORDERso the section renders deliberately, not alphabetically.Verification
make build && make test && make lint(0 issues)&& make verify-site— all green.🤖 Generated with Claude Code