Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jdx/hk
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.44.1
Choose a base ref
...
head repository: jdx/hk
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.44.2
Choose a head ref
  • 12 commits
  • 32 files changed
  • 4 contributors

Commits on Apr 24, 2026

  1. fix(docs): stack banner message and link on mobile (#865)

    ## 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. Also shrink the font slightly, tighten
    line-height, add `text-wrap: balance` for even two-line breaks, and
    nudge the close button flush to the corner.
    
    Matches the identical fix going out to the mise and aube docs.
    
    ## Test plan
    - [ ] Visit hk.jdx.dev on a mobile device (or DevTools <=640px) after
    deploy and confirm the banner stacks cleanly.
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Low Risk**
    > Low risk CSS-only change limited to the banner’s `@media (max-width:
    640px)` styling.
    > 
    > **Overview**
    > Adjusts `docs/.vitepress/theme/banner.css` to improve the banner on
    narrow viewports by switching to `flex-direction: column` with tighter
    mobile spacing and typography (`gap`, `font-size`, `line-height`,
    `text-wrap: balance`).
    > 
    > Also nudges the close button position (`right`) on mobile to better
    align with the updated layout.
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    2cce073. Bugbot is set up for automated
    code reviews on this repo. Configure
    [here](https://www.cursor.com/dashboard/bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    jdx authored Apr 24, 2026
    Configuration menu
    Copy the full SHA
    12e790b View commit details
    Browse the repository at this point in the history
  2. fix(docs): pin banner close button to top-right corner on mobile (#867)

    ## Summary
    Follow-up to #865. With `flex-direction: column` the mobile banner is
    now taller, and the base rule's `top: 50%; transform: translateY(-50%)`
    centering floats the × button in the vertical middle of the stacked
    content instead of in the top-right corner.
    
    Override `top` and `transform` inside the `<=640px` media query so the
    button pins flush to the corner.
    
    ## Test plan
    - [ ] Open hk.jdx.dev at a <=640px viewport, clear
    `localStorage['jdx-banner-dismissed']`, confirm the × button sits in the
    top-right corner rather than floating in the middle.
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Low Risk**
    > Low risk CSS-only change scoped to the mobile banner close button
    positioning with no functional or data-impacting logic changes.
    > 
    > **Overview**
    > Adjusts `docs/.vitepress/theme/banner.css` so that on `<=640px`
    viewports the banner close button no longer uses `top: 50%` +
    `translateY(-50%)` centering.
    > 
    > Within the mobile media query, it explicitly sets `top: 0.25rem` and
    removes the transform to keep the × button pinned to the top-right
    corner when the banner stacks vertically.
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    fbf8067. Bugbot is set up for automated
    code reviews on this repo. Configure
    [here](https://www.cursor.com/dashboard/bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    jdx authored Apr 24, 2026
    Configuration menu
    Copy the full SHA
    c744fe1 View commit details
    Browse the repository at this point in the history
  3. chore(deps): bump communique 1.0.3 → 1.0.4 (#868)

    ## Summary
    
    Bumps the [communique](https://github.com/jdx/communique) CLI used in
    the release workflow from 1.0.3 to
    [1.0.4](https://github.com/jdx/communique/releases/tag/v1.0.4).
    
    1.0.4 salvages partial `submit_release_notes` submissions at the retry
    limit instead of hard-failing with a generic `malformed N times` error,
    and replaces that error with a miette diagnostic that embeds the
    received JSON and lists the specific per-field failures.
    
    ## Test plan
    
    - [x] `mise.lock` updated via `mise up communique`
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Low Risk**
    > Low risk lockfile-only dependency bump; the only impact is the
    version/asset metadata for the `communique` CLI used in tooling.
    > 
    > **Overview**
    > Updates `mise.lock` to bump the pinned `communique` CLI from `1.0.3`
    to `1.0.4`, including refreshed per-platform download URLs, checksums,
    and asset IDs.
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    af9928c. 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]>
    jdx and claude authored Apr 24, 2026
    Configuration menu
    Copy the full SHA
    1208c91 View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2026

  1. chore(deps): update anthropics/claude-code-action digest to 2da6cfa (#…

    …869)
    
    This PR contains the following updates:
    
    | Package | Type | Update | Change |
    |---|---|---|---|
    |
    [anthropics/claude-code-action](https://redirect.github.com/anthropics/claude-code-action)
    ([changelog](https://redirect.github.com/anthropics/claude-code-action/compare/e58dfa55559035499a4982426bb73605e8b5ad8e..2da6cfae686f4d400300e440e0228b971388afed))
    | action | digest | `e58dfa5` → `2da6cfa` |
    
    ---
    
    ### 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/hk).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    7a3c02a View commit details
    Browse the repository at this point in the history
  2. chore(deps): update anthropics/claude-code-action digest to 567fe95 (#…

    …870)
    
    This PR contains the following updates:
    
    | Package | Type | Update | Change |
    |---|---|---|---|
    |
    [anthropics/claude-code-action](https://redirect.github.com/anthropics/claude-code-action)
    ([changelog](https://redirect.github.com/anthropics/claude-code-action/compare/2da6cfae686f4d400300e440e0228b971388afed..567fe954a4527e81f132d87d1bdbcc94f7737434))
    | action | digest | `2da6cfa` → `567fe95` |
    
    ---
    
    ### 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/hk).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    288fbf2 View commit details
    Browse the repository at this point in the history
  3. fix(ci): serialize docs lint step (#874)

    ## Summary
    
    - mark the docs lint step as exclusive so `mise run docs:build` does not
    race Cargo checks during `mise run lint`
    - fixes the macOS CI failure where `cargo-check` lost Cargo fingerprint
    files while docs generation was also compiling/running
    
    ## Validation
    
    - `mise run pkl:gen && pkl eval hk.pkl >/dev/null`
    
    _This PR was generated by Codex._
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Low Risk**
    > Low risk config change that only affects hook/lint step scheduling;
    main risk is longer lint runtimes or unintended serialization if
    `exclusive` is misapplied.
    > 
    > **Overview**
    > Marks the `docs` lint step in `hk.pkl` as `exclusive` so `mise run
    docs:build` runs serialized instead of concurrently with other lint
    steps.
    > 
    > This prevents CI races (notably on macOS) where docs generation and
    Rust `cargo` checks contend for Cargo fingerprint/build artifacts during
    `mise run lint`.
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    280228f. Bugbot is set up for automated
    code reviews on this repo. Configure
    [here](https://www.cursor.com/dashboard/bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    jdx authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    ed73dc2 View commit details
    Browse the repository at this point in the history
  4. docs(site): show release version and github stars (#872)

    ## Summary
    
    - read the latest site release label from `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/hk-release-version/docs`
    
    _Note: local git hooks were skipped for commit/push because the fresh
    worktree hook config could not evaluate `pkl/Builtins.pkl`; the targeted
    docs build passed._
    
    _This PR was generated by Codex._
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Low Risk**
    > Low risk docs-only changes, but adds build-time parsing of
    `Cargo.toml` and an optional GitHub API call that could affect docs
    builds if environment/network assumptions change.
    > 
    > **Overview**
    > Updates the VitePress docs nav to show the current release label (e.g.
    `vX.Y.Z`) by parsing `Cargo.toml` at build time, replacing the static
    “Releases” text.
    > 
    > Adds an optional GitHub star counter: `stars.data.ts` can fetch
    `stargazers_count` from the GitHub API (gated by env vars/tokens and
    tolerant of offline/rate limits), and the theme injects/stylizes a
    `.star-count` badge onto the GitHub social link using a
    `MutationObserver` for late-rendered DOM.
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    7235569. Bugbot is set up for automated
    code reviews on this repo. Configure
    [here](https://www.cursor.com/dashboard/bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    jdx authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    9a50d39 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2026

  1. chore(deps): bump communique to 1.1.2 (#875)

    ## 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`
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Low Risk**
    > Low risk lockfile-only change that updates the pinned `communique`
    tool binary and its download metadata; main risk is install/CI breakage
    if any platform URL/checksum is incorrect.
    > 
    > **Overview**
    > Updates `mise.lock` to bump the pinned `communique` tool from `1.0.4`
    to `1.1.2`.
    > 
    > Refreshes per-platform release asset URLs, `url_api` IDs, and
    checksums (including switching to distinct `*-musl` assets where
    applicable) so `mise install --locked communique` pulls the new
    binaries.
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    4be0ba2. Bugbot is set up for automated
    code reviews on this repo. Configure
    [here](https://www.cursor.com/dashboard/bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    jdx authored Apr 26, 2026
    Configuration menu
    Copy the full SHA
    4ed7a2a View commit details
    Browse the repository at this point in the history
  2. chore: add pr-closer workflow (#876)

    ## Summary
    - Adds `.github/workflows/pr-closer.yml`, ported from `jdx/mise`
    - Runs daily and closes non-jdx PRs idle for 30+ days; uses a different
    message when CI was failing
    - Skips PRs labeled `keep-open`
    
    ## Test plan
    - [ ] Trigger via `workflow_dispatch` once merged to confirm it runs
    cleanly
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Medium Risk**
    > Introduces an automated GitHub Actions job that closes pull requests,
    which can unintentionally close active work if the search criteria or
    labels are misapplied. Otherwise isolated to repo maintenance and uses
    standard `GITHUB_TOKEN` permissions.
    > 
    > **Overview**
    > Adds a new GitHub Actions workflow, `pr-closer`, that runs daily (and
    via manual dispatch) to close open PRs not updated in 30+ days.
    > 
    > The job excludes PRs authored by `jdx` and PRs labeled `keep-open`,
    and posts a different close comment when CI checks are detected as
    failing.
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    cfeef5d. 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]>
    jdx and claude authored Apr 26, 2026
    Configuration menu
    Copy the full SHA
    79abff2 View commit details
    Browse the repository at this point in the history
  3. fix(config): include main pkl path in cache fresh files (#879)

    ## Summary
    
    - Closes [discussion #877](#877).
    - When `HK_PKL_BACKEND=pklr` was set, edits to `hk.pkl` weren't picked
    up until `hk cache clear` was run. The default `pkl` CLI didn't have
    this issue.
    - Always append the main config `path` to the config cache's
    `fresh_files` so changes to `hk.pkl` invalidate the cache regardless of
    which backend's `analyze_imports` is used.
    
    ## Root cause
    
    `Config::load_config_cached` built `fresh_files` from
    `analyze_imports`'s output. The two backends return different things:
    
    - The **`pkl` CLI** path reads `pkl analyze imports`'s `resolvedImports`
    map. Its keys include the main file itself plus its transitive imports,
    so `hk.pkl` ended up in `fresh_files` by accident.
    - **`pklr::analyze_imports`** parses the source and returns only the
    direct/transitive `import` URIs — it never includes the source file in
    its output.
    
    With `pklr`, `fresh_files` therefore did not contain `hk.pkl`. Editing
    `hk.pkl` updated its mtime but no file in `fresh_files` was newer than
    the cache, so `is_fresh()` returned true and the stale `Config` was
    reused.
    
    The pre-existing comment ``// Build the config cache with all fresh
    files (imports + main config)`` shows the intent already was *"imports +
    main config"* — this was a missed step in implementation, not a design
    decision.
    
    ## Test plan
    
    - [x] Build with `mise run build`.
    - [x] Reproduce against `main`: with `HK_PKL_BACKEND=pklr` and a scratch
    `hk.pkl`, run `hk check --why`, then rename a step name in `hk.pkl`.
    Confirmed `hk check --why` still reports the old name without the fix;
    reports the new name with the fix.
    - [x] Repeat without `HK_PKL_BACKEND` (default backend): edits picked up
    correctly — no regression.
    - [x] `mise run test:cargo` — 145 passed.
    - [x] `test/config_pkl_imports.bats` — passes.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Low Risk**
    > Low risk: small change limited to cache invalidation inputs for `.pkl`
    configs, with minimal chance of side effects beyond slightly more
    frequent cache refreshes.
    > 
    > **Overview**
    > Ensures `.pkl` config cache invalidation always considers the main
    config file by inserting `path` into the `fresh_files` set built from
    `analyze_imports`.
    > 
    > This fixes stale `Config` reuse when `HK_PKL_BACKEND=pklr`, where
    `analyze_imports` doesn’t include the source file (while avoiding
    duplicates for the `pkl` CLI backend via `IndexSet`).
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    ec979b0. 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]>
    jdx and claude authored Apr 26, 2026
    Configuration menu
    Copy the full SHA
    4b28d64 View commit details
    Browse the repository at this point in the history
  4. fix(builtins): silence pklr deprecation warnings on Builtins.pkl load (

    …#880)
    
    ## Summary
    
    - Closes [discussion #878](#878).
    - With `HK_PKL_BACKEND=pklr`, every load of `Builtins.pkl` printed
    `[pklr] WARNING: property 'check_byte_order_marker' is deprecated` and
    the same for `fix_byte_order_marker`, even when the user's `hk.pkl` did
    not reference those aliases.
    - Combine the upstream pklr fix with a generator change so the warning
    only fires when a user actually references the deprecated aliases.
    
    ## Two coordinated changes
    
    1. **Bump `pklr` 0.4.1 → 0.4.2**
    ([jdx/pklr#58](jdx/pklr#58),
    [jdx/pklr#61](jdx/pklr#61)). pklr now treats
    `@Deprecated` lazily — the warning fires on field access, not on module
    evaluation.
    2. **`scripts/gen_builtins.py`**: special-case the deprecated aliases.
    Skip them in the auto-loop and emit them as `@Deprecated` bindings that
    point at the canonical `byte_order_marker` step. With this,
    `Builtins.pkl`'s own bindings no longer access a deprecated property at
    load, so even the lazy field-access warning stays silent until the user
    explicitly references `Builtins.check_byte_order_marker` /
    `.fix_byte_order_marker`.
    
    The deprecated stub files (`pkl/builtins/check_byte_order_marker.pkl`,
    `pkl/builtins/fix_byte_order_marker.pkl`) keep their `@Deprecated`
    annotations untouched — the migration nudge is preserved for direct
    importers.
    
    ## Test plan
    
    - [x] `mise run test:cargo` — 145 passed.
    - [x] End-to-end with `HK_PKL_BACKEND=pklr`:
    - import `Builtins.pkl` without using deprecated aliases → **silent**
    (was 2× warnings per load).
    - access `Builtins.check_byte_order_marker` → warning fires once per
    evaluation.
    - [x] `hk` pre-commit hooks pass.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Low Risk**
    > Low risk: changes are limited to a dependency patch bump and
    generation/mapping of builtin aliases to reduce deprecation warnings,
    with no impact on core hook execution logic beyond alias resolution.
    > 
    > **Overview**
    > Stops `Builtins.pkl` from triggering deprecation warnings on load when
    using the `pklr` backend.
    > 
    > This bumps `pklr` from `0.4.1` to `0.4.2` and updates
    `scripts/gen_builtins.py` to *skip* generating deprecated builtin
    bindings in the main loop, then re-add them as explicit `@Deprecated`
    aliases pointing to the canonical `byte_order_marker` builtin.
    > 
    > The pre-commit migration map is updated so `check-byte-order-marker`
    and `fix-byte-order-marker` now resolve directly to
    `Builtins.byte_order_marker` instead of the deprecated alias names.
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    549c070. Bugbot is set up for automated
    code reviews on this repo. Configure
    [here](https://www.cursor.com/dashboard/bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    jdx authored Apr 26, 2026
    Configuration menu
    Copy the full SHA
    e95c30b View commit details
    Browse the repository at this point in the history
  5. chore: release v1.44.2 (#866)

    ### 🐛 Bug Fixes
    
    - **(builtins)** silence pklr deprecation warnings on Builtins.pkl load
    by [@jdx](https://github.com/jdx) in
    [#880](#880)
    - **(ci)** serialize docs lint step by [@jdx](https://github.com/jdx) in
    [#874](#874)
    - **(config)** include main pkl path in cache fresh files by
    [@jdx](https://github.com/jdx) in
    [#879](#879)
    - **(docs)** stack banner message and link on mobile by
    [@jdx](https://github.com/jdx) in
    [#865](#865)
    - **(docs)** pin banner close button to top-right corner on mobile by
    [@jdx](https://github.com/jdx) in
    [#867](#867)
    
    ### 📚 Documentation
    
    - **(site)** show release version and github stars by
    [@jdx](https://github.com/jdx) in
    [#872](#872)
    
    ### 🔍 Other Changes
    
    - add pr-closer workflow by [@jdx](https://github.com/jdx) in
    [#876](#876)
    
    ### 📦️ Dependency Updates
    
    - bump communique 1.0.3 → 1.0.4 by [@jdx](https://github.com/jdx) in
    [#868](#868)
    - update anthropics/claude-code-action digest to 2da6cfa by
    [@renovate[bot]](https://github.com/renovate[bot]) in
    [#869](#869)
    - update anthropics/claude-code-action digest to 567fe95 by
    [@renovate[bot]](https://github.com/renovate[bot]) in
    [#870](#870)
    - bump communique to 1.1.2 by [@jdx](https://github.com/jdx) in
    [#875](#875)
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > <sup>[Cursor Bugbot](https://cursor.com/bugbot) is generating a
    summary for commit 62ff432. Configure
    [here](https://www.cursor.com/dashboard/bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    Co-authored-by: mise-en-dev <[email protected]>
    jdx and mise-en-dev authored Apr 26, 2026
    Configuration menu
    Copy the full SHA
    3cb88fb View commit details
    Browse the repository at this point in the history
Loading