feat(init): add auto-detection and interactive mode#656
Merged
Conversation
Contributor
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
830fdb3 to
249a374
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
61f3d7f to
397fb33
Compare
397fb33 to
28ed0fa
Compare
| import "package://github.com/jdx/hk/releases/download/v{version}/hk@{version}#/Builtins.pkl" | ||
|
|
||
| "# | ||
| )); |
There was a problem hiding this comment.
Duplicated package URL template in generator functions
Low Severity
The package URL pattern package://github.com/jdx/hk/releases/download/v{version}/hk@{version}#/... is duplicated in both generate_pkl() (lines 8-13) and generate_default_template() (lines 76-78). Extract a shared helper function to generate the header with amends and import statements.
- Auto-detect project files (package.json, Cargo.toml, pyproject.toml, go.mod, Gemfile, Dockerfile, .github/workflows, etc.) and suggest relevant builtins - Add -i/--interactive flag for manual selection with fuzzy picker - Extract builtin metadata (category, description, globs) at build time - Generate well-formatted hk.pkl based on detected/selected builtins Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
28ed0fa to
b4787a3
Compare
- Fail build on malformed builtins_meta.json instead of silent fallback - Reuse DEFAULT_HOOKS constant in picker.rs to avoid duplication Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Contributor
|
I was thinking of adding a That might be helpful as well |
Write to a temp file and mv into place to prevent cargo clippy's build script from reading a half-written file when pkl:gen runs concurrently. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Extract gen logic into a cross-platform Python script and add a PowerShell (.ps1) file task wrapper so mise discovers it on Windows. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Merged
jdx
added a commit
that referenced
this pull request
Feb 1, 2026
### 🚀 Features - **(init)** add auto-detection and interactive mode by [@jdx](https://github.com/jdx) in [#656](#656) - **(stash)** use haiku names for stash patch backups by [@jdx](https://github.com/jdx) in [#655](#655) - add git worktree support by [@jdx](https://github.com/jdx) in [#651](#651) - add "did you mean?" suggestions for typos by [@jdx](https://github.com/jdx) in [#654](#654) ### 🚜 Refactor - use xx utilities and drop unused dependencies by [@jdx](https://github.com/jdx) in [#653](#653) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk release bookkeeping: mainly version string/package URL updates and regenerated CLI docs, with no substantive runtime logic changes. > > **Overview** > Releases **v1.35.0** by updating crate versions (`Cargo.toml`/`Cargo.lock`) and adding the `1.35.0` entry to `CHANGELOG.md`. > > Regenerates documentation and examples to reference `v1.35.0` package URLs and CLI version metadata, and updates `hk init` docs/usage to include the new `--interactive` flag. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 46c426e. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: mise-en-dev <123107610+mise-en-dev@users.noreply.github.com>
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.


Summary
-i/--interactiveflag for manual selection with fuzzy pickerUsage
Test plan
hk initin empty directory generates default templatehk initwith package.json detects JS/TS lintershk initwith Cargo.toml detects Rust lintershk initwith pyproject.toml detects Python lintershk initwith go.mod detects Go lintershk initwith .github/workflows detects actionlint/zizmorhk init --forceoverwrites existing filehk init --misegenerates mise.toml🤖 Generated with Claude Code
Note
Medium Risk
Medium risk because it adds new config-generation behavior (
hk init), introduces a new interactive dependency (demand), and changes build-time codegen/CI steps that could affect releases if metadata generation is missing or mismatched.Overview
hk initis revamped to auto-detect relevant builtins from the current project (via new per-builtinproject_indicators) and generate a tailoredhk.pkl, with a new-i/--interactivemode that lets users select linters and hooks via a fuzzy multi-select.Build tooling now generates and consumes
pkl/builtins_meta.json(category/description/indicators) to produce a compiledBUILTINS_METAtable; CI andmisetasks were updated to runpkl:gen(including on Windows), andpkl/builtins_meta.jsonis ignored. Tests were expanded to cover detection andinitbehaviors like--forceand--mise.Written by Cursor Bugbot for commit 965b1a2. This will update automatically on new commits. Configure here.