Hello. I’m current maintainer of Lefthook–tool for software developers to help manage git hooks for complex development workflows.
Lefthook users specifies commands they need to run on various git events (pre-commit. pre-push, etc) in
lefthook.yml configuration file in their project’s git repository root and Lefthook registers itself as a git hook (as git allows only single hook for every event) and when event occurs, Lefthook is being invoked by git and then Lefthook execute required commands in parallel.
Because of a) requirement to access arbitrary user files (including hidden files, possibly located outside of home directory) and b) requirement to run arbitrary other commands (specified by user in their
lefthook.yml), Lefthook most probably wouldn’t be able to run in strict confinement mode (however, I hadn’t fully grok all the interfaces).
As Lefthook falls into supported category of “tools for local, non-root user driven configuration of/switching to development workspaces/environments” as per “Process for reviewing classic confinement snaps”, I believe that it should be approved for classic confinement.
We already have bunch of users complaining about lefthook not working if installed from Snap store here, in issue #161 lefthook install not working: permission denied
Also as we’re using GoReleaser’s integration to Snapcraft, we don’t have
snapcraft.yml in source code repository as it is generated for us.
Source code repository: https://github.com/evilmartians/lefthook
Links for some blog posts with examples of lefthook usage can be found there in the very bottom of README file.