-
-
Notifications
You must be signed in to change notification settings - Fork 38
Comparing changes
Open a pull request
base repository: jdx/usage
base: v3.2.1
head repository: jdx/usage
compare: v3.3.0
- 20 commits
- 42 files changed
- 7 contributors
Commits on Apr 23, 2026
-
chore(release): append en.dev sponsor blurb to release notes (#598)
## Summary - Appends a **Sponsor usage** section to every GitHub Release body, run after `communique generate` in the `enhance-release` job in [`.github/workflows/publish-cli.yml`](.github/workflows/publish-cli.yml). - Same pattern as [mise#9272](jdx/mise#9272), adapted for usage. ## What it looks like Rendered at the bottom of each release body: > ## 💚 Sponsor usage > > usage is built by [@jdx](https://github.com/jdx) at [**en.dev**](https://en.dev) — an independent developer-tooling studio behind [mise](https://mise.jdx.dev/), [aube](https://aube.en.dev/), hk, and more. Work on usage is funded by sponsorships. > > If \`usage\` powers CLI specs, docs, or completions for a tool you maintain or use, please consider [sponsoring at en.dev](https://en.dev). Every sponsorship helps the project stay independent and moving. ## Test plan - [x] \`actionlint\` + \`yamllint\` pass on the modified workflow - [ ] Next tagged release produces a GitHub Release whose body ends with the sponsor section 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk: only adjusts the GitHub Actions release workflow to post-process release notes; no runtime or security-sensitive application code changes. > > **Overview** > After `communique generate` runs in the `enhance-release` job, the workflow now *edits the GitHub Release body* to append a **“Sponsor usage”** section. > > This is implemented by fetching the current release body via `gh release view`, concatenating the sponsor blurb, and updating the release with `gh release edit --notes-file`. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit d1de688. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e6ef05c - Browse repository at this point
Copy the full SHA e6ef05cView commit details -
docs: add cross-site announcement banner (#600)
## Summary - Adds `docs/.vitepress/theme/banner.ts` + `banner.css` \u2014 fetches banner config from `https://jdx.dev/banner.json` and renders a dismissible announcement bar at the top of the docs - Wires it into `.vitepress/theme/index.ts` via `enhanceApp` - Link scheme is validated to `http:`/`https:` so a compromised upstream can't inject a `javascript:` URL - Dismissals persist per banner id in `localStorage` Used to announce en.dev, and any future cross-site announcements. ## Test plan - [ ] Run docs dev server, confirm banner appears at top of page - [ ] Click the \u00d7 \u2014 banner disappears and stays dismissed across reloads - [ ] Clear localStorage `jdx-banner-dismissed`, reload \u2014 banner returns \U0001F916 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Moderate risk because it introduces client-side fetching and DOM injection in the docs site (including localStorage persistence and layout offset adjustments), which could affect layout or reliability if the remote endpoint misbehaves. > > **Overview** > Adds a docs-site announcement banner that **fetches remote config** from `https://jdx.dev/banner.json`, renders a fixed, dismissible top bar, and persists dismissal per-banner in `localStorage` (with `http/https` link validation). > > Updates the VitePress theme to initialize the banner via `enhanceApp()` and adds a new `EndevFooter` component wired into `layout-bottom`. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit d869013. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 73df3ca - Browse repository at this point
Copy the full SHA 73df3caView commit details -
docs: fix banner dark-mode contrast (#601)
## Summary White banner text was unreadable in dark mode because VitePress inverts \`--vp-c-brand-1\` per theme: - Light mode: \`#3451b2\` (dark indigo) \u2014 white text reads fine - Dark mode: \`#a8b1ff\` (light lavender) \u2014 white text is nearly invisible Hardcode the banner bg to \`#3451b2\` so it stays dark with white text in both themes. \U0001F916 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk: a single CSS tweak hardcodes the banner background color to avoid theme-variable inversion; no logic or data flow changes. > > **Overview** > For the docs site announcement banner, the background color is now hardcoded to `#3451b2` instead of using `var(--vp-c-brand-1)`, keeping white banner text readable in dark mode as well as light mode. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 9fa2bc1. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2661934 - Browse repository at this point
Copy the full SHA 2661934View commit details -
docs: respect banner expires field (#602)
## Summary - Honors the new optional `expires` (ISO-8601) field in [jdx.dev/banner.json](https://jdx.dev/banner.json) - Banner is hidden once `Date.now() >= Date.parse(expires)` - No-op when `expires` is absent (preserves existing behavior) - Requires [jdx/blog#65](jdx/blog#65) to populate the field ## Test plan - [ ] Set an `expires` in the past → banner hidden - [ ] Set an `expires` in the future → banner shown - [ ] No `expires` field → banner shown as before 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk: small, client-side docs banner change that only gates rendering based on an optional timestamp; no auth or data writes beyond existing localStorage usage. > > **Overview** > Adds support for an optional `expires` field in `banner.json` so the docs site announcement banner will **not render once the timestamp has passed**. > > Introduces `isExpired()` to safely parse the date (treating missing/invalid values as non-expired) and checks it during `initBanner()` before calling `render()`. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit b64256d. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 90ad7f1 - Browse repository at this point
Copy the full SHA 90ad7f1View commit details
Commits on Apr 24, 2026
-
fix(docs): stack banner and pin close button on mobile (#603)
## Summary - On narrow viewports the site banner rendered cramped: `flex-wrap: nowrap` forced the message onto two squeezed lines while the "Read more" link sat jammed against the text. - At `<=640px`, switch the banner to `flex-direction: column` so the message and link stack cleanly. Shrink font slightly, tighten line-height, add `text-wrap: balance` for even two-line breaks, and pin the close button flush to the top-right corner. Matches the same fix going out across the mise, hk, aube, pitchfork, usage, fnox, and communique docs. ## Test plan - [ ] Visit the docs site on a mobile device (or DevTools <=640px) after deploy and confirm the banner stacks cleanly with the × button in the top-right corner. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk CSS-only change limited to docs banner layout on small viewports; main risk is minor visual regressions on mobile. > > **Overview** > Adjusts `docs/.vitepress/theme/banner.css` for `<=640px` to **stack banner text/link vertically** (`flex-direction: column`), tighten spacing/typography, and add `text-wrap: balance` to avoid cramped wrapping. > > Repositions the close button on mobile by pinning it to the top-right and removing the vertical centering transform. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 365d049. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
Configuration menu - View commit details
-
Copy full SHA for db5274d - Browse repository at this point
Copy the full SHA db5274dView commit details
Commits on Apr 25, 2026
-
docs(site): show release version and github stars (#604)
## Summary - read the latest site release label from `usage/lib/Cargo.toml` and show it as the releases nav item - add a GitHub star counter to the VitePress social nav, matching the existing aube/mise pattern ## Validation - `npm run docs:build` in `/home/jdx/src/usage-release-version` _This PR was generated by Codex._ <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk docs-only changes; main risk is minor build/CI variability from parsing `lib/Cargo.toml` and optionally fetching GitHub stars (guarded with fallbacks/timeouts). > > **Overview** > Updates the VitePress docs navbar to display the current release label (e.g. `vX.Y.Z`) by reading and regex-parsing `lib/Cargo.toml` at build time. > > Adds a GitHub star counter badge under the existing GitHub social link, backed by a new `stars.data.ts` loader that optionally fetches `stargazers_count` (with token/env gating, timeout, and offline/rate-limit fallback) and new CSS/DOM injection logic in the theme to render it. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 3068b8c. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
Configuration menu - View commit details
-
Copy full SHA for b32dc5b - Browse repository at this point
Copy the full SHA b32dc5bView commit details
Commits on Apr 26, 2026
-
chore(deps): bump communique to 1.1.2 (#605)
## Summary - update the communique mise lock entry to v1.1.2 - refresh release asset URLs and checksums, including musl assets ## Validation - monitored jdx/communique release workflow 24960017639 to success - `mise install --locked communique` - usage pre-commit hooks ran during commit <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk: this only updates the `mise.lock` entry for the `communique` tool (version/asset URLs/checksums) and does not change application/runtime code. > > **Overview** > Bumps the `communique` tool in `mise.lock` from `0.1.7` to `1.1.2`, refreshing the pinned release asset URLs, GitHub asset IDs, and checksums across supported platforms (including *musl* builds). > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit f9a26be. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 7743fe1 - Browse repository at this point
Copy the full SHA 7743fe1View commit details
Commits on Apr 27, 2026
-
docs: prefix star count with ★ glyph and populate it on deploy (#606)
## Summary Three small changes to the docs: - **Wrap a ★ (U+2605) in a sans-serif `.star-glyph` span** before the count, so the badge reads "★ N" instead of just "N". Switching to sans-serif keeps the glyph crisp at 0.6rem — the mono digit font renders ★ as a smudge at this size. - **Add CSS** for the new `.star-glyph` span. - **Pass `GITHUB_TOKEN` to the VitePress build step.** Without it, the build-time data loader in `docs/.vitepress/stars.data.ts` falls back to 0 and returns an empty string, so the badge currently renders blank on the live site (curl-verified). With the token set, the loader can hit the GitHub API and populate the count. ## Test plan - [ ] Merge → docs deploy runs → reload https://usage.jdx.dev/ → top-nav GitHub icon shows "★ N" <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk UI/CSS tweak plus a GitHub Actions env var change; main risk is only around the docs build step now relying on `GITHUB_TOKEN` for API calls/rate limits. > > **Overview** > Docs Pages builds now pass `GITHUB_TOKEN` into the VitePress build so the `stars.data` loader can successfully query the GitHub API and populate the star badge. > > The GitHub social link star badge UI is updated to render as `★ N` by inserting a dedicated `.star-glyph` element and styling it with a sans-serif font for crisp rendering at small sizes. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 90998ab. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
Configuration menu - View commit details
-
Copy full SHA for e63c0be - Browse repository at this point
Copy the full SHA e63c0beView commit details -
chore(deps): lock file maintenance (#607)
This PR contains the following updates: | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed | 🔧 This Pull Request updates lock files to use the latest dependency versions. --- ### Configuration 📅 **Schedule**: (in timezone America/Chicago) - Branch creation - "before 4am on monday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/jdx/usage). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 577390b - Browse repository at this point
Copy the full SHA 577390bView commit details -
chore: switch analytics from gtm to plausible (#609)
## Summary - Drops Google Tag Manager from the docs site - Adds Plausible Analytics via the shrill.en.dev Cloudflare worker proxy 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk: only updates a client-side analytics script in VitePress `head` metadata with no impact on core app logic or data handling beyond pageview tracking. > > **Overview** > Switches the docs site analytics integration in `docs/.vitepress/config.mts` by removing the inline Google Tag Manager/`gtag` setup and loading a deferred Plausible-style script instead. > > The new script is configured via `data-domain` and a custom `data-api` endpoint pointing at the `shrill.en.dev` proxy. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 83af975. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 86b24de - Browse repository at this point
Copy the full SHA 86b24deView commit details
Commits on Apr 30, 2026
-
ci: pin taiki-e/install-action to commit SHA (#610)
## Summary - Pin `taiki-e/install-action@cargo-llvm-cov` to a full-length commit SHA in `coverage.yml`. The `cargo-llvm-cov` ref is a tool-alias tag the action's CI auto-bumps; SHA-pinning is required by org policy regardless. ## Test plan - [ ] coverage workflow still installs cargo-llvm-cov and reports coverage on next push 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk CI-only change that pins a GitHub Action to a specific commit; impact is limited to whether the coverage job can still install `cargo-llvm-cov`. > > **Overview** > Pins the coverage workflow’s `taiki-e/install-action` step for installing `cargo-llvm-cov` from the moving `@cargo-llvm-cov` ref to a specific commit SHA, improving supply-chain/CI determinism. > > No other workflow behavior changes (coverage generation and Codecov upload remain the same). > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 252557c. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c6dc7ae - Browse repository at this point
Copy the full SHA c6dc7aeView commit details
Commits on May 1, 2026
-
chore(deps): update autofix-ci/action action to v1.3.4 (#611)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [autofix-ci/action](https://redirect.github.com/autofix-ci/action) | action | patch | `v1.3.3` → `v1.3.4` | --- ### Release Notes <details> <summary>autofix-ci/action (autofix-ci/action)</summary> ### [`v1.3.4`](https://redirect.github.com/autofix-ci/action/releases/tag/v1.3.4): autofix-ci/action 1.3.4 [Compare Source](https://redirect.github.com/autofix-ci/action/compare/v1.3.3...v1.3.4) #### What's Changed - Update action to use Node 24 **Full Changelog**: <autofix-ci/action@v1...v1.3.4> </details> --- ### Configuration 📅 **Schedule**: (in timezone America/Chicago) - Branch creation - Only on Friday (`* * * * 5`) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/jdx/usage). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 41727f3 - Browse repository at this point
Copy the full SHA 41727f3View commit details -
chore(deps): update apple-actions/import-codesign-certs action to v7 (#…
…612) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [apple-actions/import-codesign-certs](https://redirect.github.com/apple-actions/import-codesign-certs) | action | major | `v6` → `v7` | --- ### Release Notes <details> <summary>apple-actions/import-codesign-certs (apple-actions/import-codesign-certs)</summary> ### [`v7`](https://redirect.github.com/apple-actions/import-codesign-certs/compare/v7.0.0...v7.0.0) [Compare Source](https://redirect.github.com/apple-actions/import-codesign-certs/compare/v7.0.0...v7.0.0) ### [`v7.0.0`](https://redirect.github.com/Apple-Actions/import-codesign-certs/releases/tag/v7.0.0) [Compare Source](https://redirect.github.com/apple-actions/import-codesign-certs/compare/v6.1.0...v7.0.0) #### What's Changed - Switch from `ncc` to `esbuild` - Bump flatted from 3.4.1 to 3.4.2 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [Apple-Actions#166](https://redirect.github.com/Apple-Actions/import-codesign-certs/pull/166) - Bump actions/setup-node from 6.2.0 to 6.3.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [Apple-Actions#167](https://redirect.github.com/Apple-Actions/import-codesign-certs/pull/167) - Bump picomatch from 2.3.1 to 2.3.2 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [Apple-Actions#168](https://redirect.github.com/Apple-Actions/import-codesign-certs/pull/168) - Bump knip from 5.78.0 to 6.2.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [Apple-Actions#173](https://redirect.github.com/Apple-Actions/import-codesign-certs/pull/173) **Full Changelog**: <Apple-Actions/import-codesign-certs@v6.1.0...v7.0.0> ### [`v6.1.0`](https://redirect.github.com/apple-actions/import-codesign-certs/compare/v6.0.0...v6.1.0) [Compare Source](https://redirect.github.com/apple-actions/import-codesign-certs/compare/v6...v6.1.0) </details> --- ### Configuration 📅 **Schedule**: (in timezone America/Chicago) - Branch creation - Only on Friday (`* * * * 5`) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/jdx/usage). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 13d3c1d - Browse repository at this point
Copy the full SHA 13d3c1dView commit details
Commits on May 2, 2026
-
chore(deps): update taiki-e/install-action digest to fc9eae0 (#613)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [taiki-e/install-action](https://redirect.github.com/taiki-e/install-action) ([changelog](https://redirect.github.com/taiki-e/install-action/compare/d79fce544138636ae8155ecac335f73c98e3b198..fc9eae0a7877a2f4152f841721d1d1aa8c3f1a27)) | action | digest | `d79fce5` → `fc9eae0` | --- ### Configuration 📅 **Schedule**: (in timezone America/Chicago) - Branch creation - Only on Friday (`* * * * 5`) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/jdx/usage). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for cae041f - Browse repository at this point
Copy the full SHA cae041fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 874b964 - Browse repository at this point
Copy the full SHA 874b964View commit details
Commits on May 3, 2026
-
docs: integrate Commander.js, oclif and yargs (#616)
https://github.com/gaojunran/usage-integrations a monorepo that shares Node.js lib integrations. 50+ tests for each integration to make it workable. --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 9213dfe - Browse repository at this point
Copy the full SHA 9213dfeView commit details -
chore: rename CLAUDE.md to AGENTS.md and symlink (#618)
## Summary - Renames `CLAUDE.md` to `AGENTS.md` so the project instructions live under the standard agents file - Replaces `CLAUDE.md` with a symlink to `AGENTS.md` so Claude Code keeps loading the same content ## Test plan - [ ] `readlink CLAUDE.md` resolves to `AGENTS.md` - [ ] Claude Code in this repo still picks up the project instructions 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Documentation-only change that renames the agent instructions file and introduces a `CLAUDE.md` symlink; no runtime code paths are affected, with minimal risk aside from tooling that doesn’t follow symlinks. > > **Overview** > Moves the Claude Code repository instructions from `CLAUDE.md` to a new `AGENTS.md` (same content) to match the standard agents filename. > > Replaces `CLAUDE.md` with a symlink-style stub pointing at `AGENTS.md` so existing tooling that reads `CLAUDE.md` continues to work. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit fb6d811. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f9ea78b - Browse repository at this point
Copy the full SHA f9ea78bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f29f3c - Browse repository at this point
Copy the full SHA 7f29f3cView commit details -
feat(complete): auto-completion for usage shebang scripts (#620)
## Summary Adds `usage g completion-init <shell>` (bash/zsh/fish) — a one-time init script users source from their shell rc to enable `<Tab>` completion for any command on `\$PATH` whose first line is a `usage` shebang. No per-script `usage g completion bash <bin> -f <script>` generation required. ```bash # bash: ~/.bashrc source <(usage g completion-init bash) # zsh: ~/.zshrc source <(usage g completion-init zsh) # fish: ~/.config/fish/conf.d/usage.fish usage g completion-init fish | source ``` Closes the docs gap reported in #617 where users expected shebang scripts on \$PATH to gain completion automatically. ## Mechanism per shell - **bash**: registers `complete -D` default handler. On `<Tab>`, resolves the candidate command, peeks line 1 for `#!*usage*`, and dispatches to `usage complete-word`. Chains to `_completion_loader` for non-usage commands so bash-completion's dynamic loader still works. - **zsh**: registers `compdef -default-` fallback. Same shebang detection. Falls back to `_files` for non-usage commands. - **fish**: fish has no `-default-` equivalent, so the init scans `\$PATH` once at shell startup and registers `complete -c <name>` per usage shebang script. One-time cost proportional to `\$PATH` size. ## Tests Three integration tests in `cli/tests/shell_completions_integration.rs` drive each shell against a staged usage shebang script and assert on the resulting completion candidates (positional, flag, partial flag). The existing \"skip if shell missing\" pattern was bumped: `skip_if_shell_missing()` now **panics under `CI=1`** to prevent silent false-positives if a shell is missing in CI. ## Test plan - [x] `cargo test --all --all-features` passes - [x] `cargo clippy --all --all-features -- -D warnings` clean - [x] `mise run ci` green - [x] `CI=1 cargo test -p usage-cli --test shell_completions_integration` — all 9 pass - [x] Manual smoke test: stage `examples/example.sh` as `ex` on PATH, source init in each shell, verify `<Tab>` produces `val-1 val-2 val-3` and flag completion - [ ] Reviewer: confirm zsh \`compdef -default-\` doesn't conflict with reviewer's existing zsh setup - [ ] Reviewer: confirm fish startup-scan cost is acceptable for typical \$PATH sizes <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Adds new shell init scripts that install default completion handlers (bash `complete -D`, zsh `compdef -default-`) and a fish `$PATH` scan, which could interfere with users’ existing completion setups or impact shell startup performance. CI changes also alter workflow behavior by requiring additional packages and making missing shells in CI a hard failure. > > **Overview** > Adds a new `usage generate completion-init` (alias `ci`) subcommand that outputs a one-time init script for `bash`/`zsh`/`fish`, enabling tab-completion for any executable on `$PATH` whose first line is a `usage` shebang by dispatching to `usage complete-word`. > > Implements shell-specific init generators in `lib/src/complete/` (including bash default-handler chaining and fish startup `$PATH` scanning), wires them into the CLI, and expands integration tests to cover `completion-init` behavior plus stricter “skip” logic (panic when shells are missing under `CI`). > > Updates generated docs/manpage/Fig spec/reference JSON and adjusts GitHub Actions workflows to install `zsh`, `fish`, and ensure `pwsh` is available so the new integration tests run reliably in CI. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 55c1d36. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 03b2a70 - Browse repository at this point
Copy the full SHA 03b2a70View commit details -
### 🚀 Features - **(complete)** auto-completion for usage shebang scripts by [@jdx](https://github.com/jdx) in [#620](#620) ### 🐛 Bug Fixes - **(docs)** stack banner and pin close button on mobile by [@jdx](https://github.com/jdx) in [#603](#603) ### 📚 Documentation - **(site)** show release version and github stars by [@jdx](https://github.com/jdx) in [#604](#604) - add cross-site announcement banner by [@jdx](https://github.com/jdx) in [#600](#600) - fix banner dark-mode contrast by [@jdx](https://github.com/jdx) in [#601](#601) - respect banner expires field by [@jdx](https://github.com/jdx) in [#602](#602) - prefix star count with ★ glyph and populate it on deploy by [@jdx](https://github.com/jdx) in [#606](#606) - integrate Commander.js, oclif and yargs by [@gaojunran](https://github.com/gaojunran) in [#616](#616) - integrate Typer and Click by [@gaojunran](https://github.com/gaojunran) in [#619](#619) ### 🔍 Other Changes - **(docs)** remove shrill.en.dev analytics script by [@jdx](https://github.com/jdx) in [#614](#614) - **(release)** append en.dev sponsor blurb to release notes by [@jdx](https://github.com/jdx) in [#598](#598) - switch analytics from gtm to plausible by [@jdx](https://github.com/jdx) in [#609](#609) - pin taiki-e/install-action to commit SHA by [@jdx](https://github.com/jdx) in [#610](#610) - rename CLAUDE.md to AGENTS.md and symlink by [@jdx](https://github.com/jdx) in [#618](#618) ### 📦️ Dependency Updates - bump communique to 1.1.2 by [@jdx](https://github.com/jdx) in [#605](#605) - lock file maintenance by [@renovate[bot]](https://github.com/renovate[bot]) in [#607](#607) - update autofix-ci/action action to v1.3.4 by [@renovate[bot]](https://github.com/renovate[bot]) in [#611](#611) - update apple-actions/import-codesign-certs action to v7 by [@renovate[bot]](https://github.com/renovate[bot]) in [#612](#612) - update taiki-e/install-action digest to fc9eae0 by [@renovate[bot]](https://github.com/renovate[bot]) in [#613](#613) --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for f8fa60b - Browse repository at this point
Copy the full SHA f8fa60bView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v3.2.1...v3.3.0