docs: ship Homebrew/Scoop, add task index, polish for usefulness - #31
Merged
Conversation
Distribution (now live): - Homebrew (wavyx/homebrew-tap Formula/pdcli.rb) and Scoop (wavyx/scoop-pdcli bucket/pdcli.json) are published for 0.22.0. brew install verified end-to-end incl --jq (the formula wires JQ_PATH to the Homebrew jq). distribution.mdx flipped from "coming soon" to working. - release.yml gains a `dist` job that regenerates + pushes both files to the tap repos on each stable release, gated on a TAP_TOKEN PAT secret (no-ops without it). gen-dist.mjs uses formula_opt_bin (brew audit clean). Usefulness / engagement: - New start/tasks.mdx — a "Which command do I use?" job-to-command index (the biggest discoverability gap across 154 commands); wired into the sidebar, Start-here reordered Installation → Quickstart → Distribution. - agents.mdx: the capability tour is now scannable grouped subsections (read / write-safely / react / sync / MCP) instead of one long paragraph. - mcp.mdx: a "verify it is running" note and a real payoff vignette. - troubleshooting.mdx: the npm-11 jq-binary trap, plus 429 and 400/422 entries and an exit-codes link. - analytics.mdx: an orientation table (command → question) + gotcha asides. - Home.astro: self-hosted demo.svg (was a raw.githubusercontent hotlink) and clickable AI-agents card / MCP terminal → docs. - ci.mdx dedups the workflow with github-actions.mdx; config/api/custom- fields/contributing quick-wins. Claude-Session: https://claude.ai/code/session_018dRMUUj9vpKp3tqKQFsvE9
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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.
Completes both follow-up tracks from the docs quality audit.
Distribution (now live + verified)
wavyx/homebrew-tap, Scoop manifest towavyx/scoop-pdcli.brew install wavyx/tap/pdcliverified end-to-end on macOS incl.--jq(formula wires JQ_PATH → Homebrew jq). Docs flipped coming-soon → working.release.ymldistjob auto-publishes both on each stable release — needs aTAP_TOKENPAT secret (contents:write on both tap repos); no-ops without it.Usefulness / engagement
agents.mdxcapability tour → scannable grouped subsections;mcp.mdxverify-note + payoff vignette.troubleshooting.mdx: the npm-11 jq-binary trap + 429/400/422 entries.analytics.mdxorientation table + asides;Home.astroself-hosted demo + clickable cards; ci dedup + small quick-wins.Astro build green (30 pages). No terminal-mock outputs altered.
Action needed from you: add the
TAP_TOKENfine-grained PAT secret to enable auto-publish of brew/scoop on future releases.https://claude.ai/code/session_018dRMUUj9vpKp3tqKQFsvE9
Greptile Summary
This PR ships Homebrew and Scoop distribution (previously marked "coming soon"), adds automation for publishing both on each stable release via a new
distworkflow job, and makes a broad documentation pass — a new task-to-command index, restructured agent subsections, an analytics orientation table, expanded troubleshooting entries, and an SVG noscript demo fallback on the home page.distCI job (release.yml): clones each tap repo with aTAP_TOKENPAT, commits the generated formula/manifest, and gracefully no-ops when the secret is absent or a prerelease tag is detected.formula_opt_bin("jq")/"jq"(gen-dist.mjs): the changed Homebrew DSL call is valid and preferred (it avoids instantiating the full formula object), confirmed against Homebrew source.tasks.mdxintroduces alookupexample using--by email=jane@acme.comwhich conflicts with the--field/--valueflags shown inagents.mdx— one is wrong and will produce a CLI error for users who copy it.Confidence Score: 4/5
Safe to merge with the lookup flag discrepancy addressed; everything else is documentation polish and well-tested infrastructure.
The tasks.mdx task index shows
pdcli lookup person --by email=jane@acme.comwhile agents.mdx shows--field email --value …for the same command — these can't both be right, and whichever one is wrong will produce an immediate CLI error for users who copy it. All other changes are straightforward and correct.website/src/content/docs/start/tasks.mdx — the lookup command example needs to match the actual flag interface documented in agents.mdx.
Important Files Changed
distjob that publishes Homebrew and Scoop packages on stable releases; gracefully no-ops whenTAP_TOKENis absent;push_fileembeds the token in a git clone URL (standard CI pattern).Formula["jq"].opt_bin/"jq"withformula_opt_bin("jq")/"jq"— confirmed valid Homebrew DSL (Utils::Path module); the new form is actually preferred for performance.lookupexample uses--by email=jane@acme.comsyntax while agents.mdx uses--field email --value …for the same command — one of the two syntaxes is wrong.hrefto selectable feature cards, an SVG noscript fallback for the terminal demo, and an invisible link overlay on the demo; all changes are well-formed.lookupexample still uses--field/--valueflags which conflicts withtasks.mdx.distjob and theTAP_TOKENrequirement; matches the workflow changes accurately.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[Tag push v*] --> B[release job\nnpm publish + GitHub Release + tarballs] B --> C[docker job\nBuild & push GHCR image] B --> D[dist job\nGenerate Homebrew formula + Scoop manifest] D --> E{Prerelease?\neg. v1.2.0-rc1} E -- Yes --> F[Skip tap publish\nexit 0] E -- No --> G{TAP_TOKEN secret\npresent?} G -- No --> H[Log warning\nexit 0 — no failure] G -- Yes --> I[push_file homebrew-tap\nFormula/pdcli.rb] I --> J[push_file scoop-pdcli\nbucket/pdcli.json] J --> K[Done — both taps updated]%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% flowchart TD A[Tag push v*] --> B[release job\nnpm publish + GitHub Release + tarballs] B --> C[docker job\nBuild & push GHCR image] B --> D[dist job\nGenerate Homebrew formula + Scoop manifest] D --> E{Prerelease?\neg. v1.2.0-rc1} E -- Yes --> F[Skip tap publish\nexit 0] E -- No --> G{TAP_TOKEN secret\npresent?} G -- No --> H[Log warning\nexit 0 — no failure] G -- Yes --> I[push_file homebrew-tap\nFormula/pdcli.rb] I --> J[push_file scoop-pdcli\nbucket/pdcli.json] J --> K[Done — both taps updated]Comments Outside Diff (1)
website/src/content/docs/start/tasks.mdx, line 693 (link)This row uses
--by email=jane@acme.com, butagents.mdxdocuments the same command aspdcli lookup person --field email --value …. One of the two syntaxes is wrong, and a user who copies the example from the wrong page will get an immediate CLI error. Please align both pages on whichever flag form the command actually accepts.Reviews (1): Last reviewed commit: "docs: ship Homebrew/Scoop, add a task in..." | Re-trigger Greptile