Giter Club home page Giter Club logo

hookboy's People

Contributors

joshuathemiller avatar

Watchers

 avatar  avatar  avatar

hookboy's Issues

Clean up unused cache directories

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..

ShowHelp upon hook running

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

New name?

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

Telemetry

Add telemetry collection at various points:

  • install
  • apply
  • uninstall
  • global exception

Hookboy website

hookboy.dev

  • Docs explaining usage
  • Hookboy Config Simple
  • Hookboy Config Advanced

Hook global skip

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.

Add Sonar scans

Once public, add Sonar scans. Can always prepare pipelines beforehand though

Resolve failure when .git hooks directory is not present

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).

Ability to retrieve web links.

MVP: Start with the ability to simply resolve URLs.
Better: dictionary to support shorter weblinks.

  • GitHub
  • Git in general (w/ easy commit hash support for versioning)

Install and Uninstall Enhancements

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" could mean move all existing files to a folder called snapshot-b4-hookboy

Notify on deleted cache dir

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.

Recognized Web Links

And enhancement to #5

Better: dictionary to support shorter weblinks.

GitHub
Git in general (w/ easy commit hash support for versioning)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.