You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The install instructions as provided assume one of a couple of things that are not always true (at least for me):
I'll want to install talisman globally and use it everywhere
Point 1 is also true for the homebrew option
If I want to install talisman within a repo only, I will automatically set it up with a hook in the way that the developers imagined
Typically I try to keep dependencies maintained within the repo - I want to minise the external setup steps my teams makes when configuring a workstation.
There are other commit hook options out there, and we don't want one individual tool forcing it's way into our specific hooks configuration - the developer should be configuring this to match their system and needs.
So, the options available are too specific for my typical use case.
Solution
Given that there isn't any package manager support available (#362) then it would be valuable to at least be able to download and manage talisman as a dependency within the scripting available in said package managers.
I would suggest that an option is provided on the ./install.sh script to skip any hook installation and just download the binary.
This would allow a developer to add an install script e.g. ./install-talisman.sh no-hook into their package manager (e.g. npm has postinstall) and then use lefthook as they would any other dev dependency - including running it in their git hooks the same way that they use any other linting or testing tool.
Documentation
The existing documentation is a little hard to follow without proper understanding of the code base, and this will make things more confusing. A benefit of requiring that the install script install a git hook is that there's automatically something in place - this option is designed to turn off that requirement, a potential downside.
We should signpost clearly that the option in question is a stripped down version that puts more responsibility in the hands of the developer, else someone thinks the tool is installed but has not actually ran it etc. I would also consider a strong warning when running the command on stdout to the same effect.
##Alternatives you've considered
Direct package management is raised in another ticket but has not been considered, and is more difficult to create and maintain. This solution gets universal coverage (with some work from the consumer).
The text was updated successfully, but these errors were encountered:
FelixMarcus
pushed a commit
to FelixMarcus/talisman
that referenced
this issue
Mar 4, 2023
Problem
The install instructions as provided assume one of a couple of things that are not always true (at least for me):
Typically I try to keep dependencies maintained within the repo - I want to minise the external setup steps my teams makes when configuring a workstation.
There are other commit hook options out there, and we don't want one individual tool forcing it's way into our specific hooks configuration - the developer should be configuring this to match their system and needs.
So, the options available are too specific for my typical use case.
Solution
Given that there isn't any package manager support available (#362) then it would be valuable to at least be able to download and manage talisman as a dependency within the scripting available in said package managers.
I would suggest that an option is provided on the ./install.sh script to skip any hook installation and just download the binary.
This would allow a developer to add an install script e.g.
./install-talisman.sh no-hook
into their package manager (e.g. npm has postinstall) and then use lefthook as they would any other dev dependency - including running it in their git hooks the same way that they use any other linting or testing tool.Documentation
The existing documentation is a little hard to follow without proper understanding of the code base, and this will make things more confusing. A benefit of requiring that the install script install a git hook is that there's automatically something in place - this option is designed to turn off that requirement, a potential downside.
We should signpost clearly that the option in question is a stripped down version that puts more responsibility in the hands of the developer, else someone thinks the tool is installed but has not actually ran it etc. I would also consider a strong warning when running the command on stdout to the same effect.
##Alternatives you've considered
Direct package management is raised in another ticket but has not been considered, and is more difficult to create and maintain. This solution gets universal coverage (with some work from the consumer).
The text was updated successfully, but these errors were encountered: