joshuathemiller / hookboy Goto Github PK
View Code? Open in Web Editor NEWBetter Git Hooks in any language ๐
Home Page: https://hookboy.dev
Better Git Hooks in any language ๐
Home Page: https://hookboy.dev
Not necessarily a bug... as it should always be present. I'm going to treat this as a feature ๐
The issue was originally occurring when trying to write the hookfiles themselves to the .git/hooks folder, and the folder itself not being present which occurred during manual testing (I deleted the folder).
Grapple is taken by a few other packages/tools, and it doesn't really feel right as far as gut checks go...
Wrangler may work, but it is also fairly generic.
HookWrangler seems to long.
Hrangler seems like a decent concatenation... The 'H' being silent unless said with a Hank Hill access, of course ๐คช
Cowboys wrangle cows. How about hookboy? Seems less confusing to look at the hrangler.
Considered hooksmith, but this tool does not help with creating hooks, just wrangling them
To support better testing and future improvements
Folks delete repositories periodically. As such, the cache directory should get periodically flushed.
This is useful if caches are placed in a location outside of the repository, like in the user's home directory, and/or an application directory..
Add telemetry collection at various points:
The following seems like a decent starting point: https://paritylicense.com/versions/7.0.0.html
However, I would like to be able to support close source usage of the binaries of this project.
And enhancement to #5
Better: dictionary to support shorter weblinks.
GitHub
Git in general (w/ easy commit hash support for versioning)
Helps with debugging and gives end users a better experience if something funky happens
Cache directory should not insert another path. What would be better would be if the default cache directory is simply set to .git/hooks/.hookboy-cache
The default hook files that are created should check for the existence of the cache location upon every run, and fail if it does not exist. This is to provide a better notification experience for the end using after deletion of the cache folder (such as when git clean -xdf
is ran). The failure message should be helpful, and state that running the install
command again should resolve the failure.
Cache location should be configurable.
Some hooks are unable to be skipped with --verify=false
. To account for this, all hookfiles should first check for an env var named hookboy_skip
with a value set to true
. This will allow hooks to be skipped via command line modification of env vars.
hookboy.dev
Hookboy should display help text after every hook.
In light gray so as to not be too distracting.
Should be able to be turned off by running hookboy config set ShowHelp false
(ShowHelp must be uppercase)
Should be able to be turned off when first installing hooks by running hookboy install --do-not-show-help
Subsequent runs of hookboy install
should not modify any past set config values
Once public, add Sonar scans. Can always prepare pipelines beforehand though
Install
should, if hookboy has not yet been used in the git repository, take a snapshot of the current git hooks folder. It should then delete all files besides the snapshot and place a file called .hookboy-conf
to denote that hookboy has been installed.
Uninstall
(new command) should check for the existence of a .hookboy-conf
file and return gracefully if none is found. If one is found, all hookboy files and folders should be removed from the .git/hooks
folder. If a snapshot folder is present, all files and folders from within should be moved back to the .git/hooks
folder.
Clean
(new command) should ask for confirmation before it is fully ran. When ran, it should delete all files and folders from within the .git/hooks
directory.
snapshot-b4-hookboy
MVP: Start with the ability to simply resolve URLs.
Better: dictionary to support shorter weblinks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.