Conversation
This ensures cargo fmt runs as part of hk pre-commit hooks, preventing autofix-ci from needing to make separate formatting commits on PRs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Now handled by hk.pkl cargo-fmt linter step. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request streamlines the Rust code formatting process by centralizing Highlights
Changelog
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request refactors the Rust code formatting by moving cargo fmt into hk.pkl. While this simplifies the linting setup, I've identified a couple of issues. The glob pattern for Rust files is not recursive, which means it will miss most files. Additionally, the removal of the dynamic rustfmt.toml creation also removes specific formatting rules, which could lead to inconsistent formatting. My review includes suggestions to address these points.
I am having trouble creating individual review comments. Click here to see my feedback.
hk.pkl (17)
The glob pattern *.rs will only match Rust files in the root directory. To ensure all Rust files in the project are formatted, you should use a recursive glob pattern like **/*.rs.
glob = List("**/*.rs")
xtasks/lint-fix.sh (10-15)
By removing the dynamic creation of rustfmt.toml, you are also removing the specific formatting rules that were being applied (unstable_features = true, imports_granularity = "Module"). This will cause cargo fmt to revert to its default settings, which may result in different code formatting. If these settings are still required, you should create a permanent rustfmt.toml file in the repository root with the previous content.
| markdownlint --fix . | ||
| SHELLCHECK_OPTS="--exclude=SC1090 --exclude=SC2046 --exclude=SC2086 --exclude=SC2129" actionlint | ||
|
|
||
| cat >rustfmt.toml <<EOF |
There was a problem hiding this comment.
Formatting config options lost during cargo-fmt migration
Medium Severity
The old lint-fix.sh created a temporary rustfmt.toml with unstable_features = true and imports_granularity = "Module" before running cargo fmt. The new cargo-fmt step in hk.pkl runs cargo fmt without these settings, and no permanent rustfmt.toml exists in the repo. This silently changes formatting behavior — imports_granularity = "Module" grouped imports by module, which will no longer happen with the default "Preserve" setting.
Additional Locations (1)
Run `hk install --mise` when entering the project so pre-commit hooks are always set up for contributors. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Greptile SummaryThis PR consolidates all linters ( Key changes:
All changes affect only dev tooling and documentation; no production code impact. Confidence Score: 5/5
Last reviewed commit: 2b134eb |
Move actionlint, markdownlint, and schema validation from xtask lint scripts into hk.pkl so they run as part of pre-commit hooks via `hk install --mise`. Remove the dbg! ripgrep check. Delete .agent-os directory. Add .claude/ to .markdownlintignore. Revert the mise.toml hooks.enter change in favor of documenting `hk install --mise` in CLAUDE.md and contributing docs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| ["schema"] { | ||
| glob = List("schema/*.json") | ||
| check = "ajv compile -s schema/mise.json --spec=draft2019 --strict-schema=true && ajv compile -s schema/mise-task.json --spec=draft2019 --strict-schema=true && ajv compile -s schema/mise.plugin.json --spec=draft2020 --strict-schema=true" | ||
| } |
There was a problem hiding this comment.
Debug macro check removed without replacement
Medium Severity
The xtasks/lint/ripgrep script, which scanned src/ for accidental dbg! macros, was deleted but no equivalent step was added to hk.pkl. Clippy's dbg_macro lint is also not configured in Cargo.toml. This removes the only guard against committing Rust debug output to production code.
These now run via hk fix --all, so the explicit calls were duplicated. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Ensures subdirectories like docs/ are covered, matching the previous recursive behavior of `markdownlint .`. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Hyperfine Performance
|
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.3.4 x -- echo |
24.3 ± 0.5 | 23.5 | 28.4 | 1.00 |
mise x -- echo |
24.4 ± 0.4 | 23.5 | 27.5 | 1.00 ± 0.02 |
mise env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.3.4 env |
23.7 ± 0.7 | 22.5 | 29.0 | 1.00 |
mise env |
24.0 ± 0.4 | 23.0 | 26.8 | 1.01 ± 0.03 |
mise hook-env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.3.4 hook-env |
24.1 ± 0.3 | 23.4 | 28.0 | 1.00 |
mise hook-env |
24.7 ± 0.4 | 23.9 | 28.8 | 1.03 ± 0.02 |
mise ls
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.3.4 ls |
23.7 ± 0.4 | 22.9 | 25.2 | 1.00 |
mise ls |
24.0 ± 1.2 | 23.1 | 49.1 | 1.01 ± 0.06 |
xtasks/test/perf
| Command | mise-2026.3.4 | mise | Variance |
|---|---|---|---|
| install (cached) | 152ms | 152ms | +0% |
| ls (cached) | 83ms | 83ms | +0% |
| bin-paths (cached) | 88ms | 88ms | +0% |
| task-ls (cached) | 857ms | 815ms | +5% |
### 🚀 Features - **(vfox)** add `RUNTIME.envType` for libc variant detection by @malept in [#8493](#8493) - store provenance verification results in lockfile by @jdx in [#8495](#8495) ### 🐛 Bug Fixes - **(env)** skip remote version fetching for "latest" in prefer-offline mode by @jdx in [#8500](#8500) - **(tasks)** deduplicate shared deps across task delegation by @vadimpiven in [#8497](#8497) - **(windows)** correctly identify mise binary without extension by @jdx in [#8503](#8503) ### 🚜 Refactor - **(core)** migrate cmd! callers to async with kill_on_drop by @jdx in [a63f7d2](a63f7d2) ### Chore - **(ci)** temporarily disable `mise up` in release-plz by @jdx in [#8504](#8504) - consolidate all linters into hk.pkl by @jdx in [#8498](#8498) ## 📦 Aqua Registry Updates #### New Packages (1) - [`apache/ant`](https://github.com/apache/ant)


Summary
hk.pklrustfmt.tomlcreation fromxtasks/lint-fix.sh(cargo fmt now in hk)hk install --misefor pre-commit hooks in CLAUDE.md and contributing docs.agent-os/directory, add.claude/to.markdownlintignoreAll linters now run via
hk check --all, which meanshk install --misegives contributors pre-commit hooks that catch everything.🤖 Generated with Claude Code
Note
Low Risk
Primarily tooling and documentation changes; main risk is CI/local lint behavior changing due to new
hk.pklsteps and expanded file globs.Overview
Consolidates linting/formatting into
hk.pklby addingcargo fmt,actionlint,markdownlint, and JSON schema validation (ajv), while broadening glob coverage forpklandtaplo.Removes now-redundant
xtasks/lint/*scripts (including theripgrepdbg!check) and simplifiesxtasks/lint-fix.shto delegate entirely tohk fixwithout generating a temporaryrustfmt.toml.Updates contributor docs (
CLAUDE.md,docs/contributing.md) to usehk install --misefor pre-commit hooks, trims related task docs (tasks.md), deletes the.agent-os/documentation directory, and adds.claude/to.markdownlintignore.Written by Cursor Bugbot for commit 2b134eb. This will update automatically on new commits. Configure here.