hooksman 3.3.0
hooksman: ^3.3.0 copied to clipboard
Create git hooks and tasks using Dart scripts and Shell commands
3.3.0 | 8.13.26 #
Features #
- Snapshot the index and working tree before tasks run and roll back to it when a hook does not succeed, so a failed hook cannot leave behind partial task edits or destroy uncommitted work. Opt out per hook with
backup: false - Keep the snapshot at
refs/hooksman/backupuntil the hook succeeds, so work is recoverable by hand if the hook is killed before it can restore - Add
GitService.workingDirectoryto rungitsomewhere other than the process working directory
Docs #
- Ship
llms.txtandllms-full.txtin the published package, so AI assistants can read a complete usage reference straight from the pub cache - Add
AGENTS.md(with aCLAUDE.mdpointer) documenting the repository layout, commands, generated code, vendoring, and release process for contributors
3.2.0 | 7.31.26 #
Features #
- Migrate hook progress UI to nocterm TUI
- Add husky-style
hooks/_path,uninstall, andCommitMsgHook - Depend on hosted
nocterm; vendor unpublishednocterm_provider/nocterm_nestedunderlib/src/vendor/for pub.dev publish
Fixes #
- Exit cleanly on Ctrl-C during nocterm UI
- Skip chmod and use cmd on Windows
- Restore equatable codegen and builder config
3.1.2 | 12.9.25 #
Fixes #
- Fix issue where the label maker would throw an error if the terminal was not available
- Would impact if the user was running the hook in a non-terminal environment (such as vscode extensions)
3.1.1 | 11.19.25 #
3.0.0 | 10.15.25 #
2.0.2 | 6.5.25 #
Fixes #
- Issue where deleted files were being added to commit when they were not modified
2.0.1 | 4.16.25 #
2.0.0 | 4.12.25 #
Features #
- Create
PreCommitHookspecifically for thepre-commithook- This hook will get the files that are being committed to run the tasks against
- This was the previous default behavior of the
Hookclass
- Create
PrePushHookspecifically for thepre-pushhook- This hook will get the files that are being pushed to run the tasks against
- Create
AnyHook- A general purpose hooks that can be used to create custom hooks
- Add
verboseconstructor to all hooks- This will enable verbose output, providing detailed information about the tasks being executed
Breaking Changes #
Hookis now an abstract class- Remove
VerboseHook, prefer to use theverboseconstructor on any of theHookclasses - Remove functionality for running tasks against "partially staged" files
- Tasks will run against the staged files as they are
- The previous behavior was buggy and slow. The benefit that it provided was not worth the complexity it added to the code
- (If you feel differently, please let me know and I will reconsider this)
1.3.0 | 2.21.25 #
Enhancements #
- Apply failsafe stash before attempting to restore
- This helps prevent the loss of non-version controlled files (such as the .dart_tool directory)
1.2.0 | 1.20.25 #
Features #
- New
alwaysconstructor on commands to run them regardless if any files are being processed - Create failsafe Stash during backup processing to ensure that files are not lost when an error occurs
Enhancements #
- Improve backup processing during pre-commit hooks
Fixes #
- Better handle file processing when
diffArgsis provided
1.0.2 | 12.9.24 #
- Initial version