gitextract_h_yok89w/ ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ └── feature_request.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── dependabot.yml │ └── workflows/ │ ├── codeql.yml │ ├── gh-pages.yml │ ├── lint.yml │ ├── release.yml │ └── test.yml ├── .gitignore ├── .golangci.yml ├── .goreleaser.yml ├── .lefthook.yml ├── .tool-versions ├── .typos.toml ├── AGENTS.md ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── SECURITY.md ├── assets/ │ └── css/ │ └── lefthook.css ├── book.toml ├── cliff.toml ├── cmd/ │ ├── add-usage.txt │ ├── add.go │ ├── check_install.go │ ├── commands.go │ ├── commands_without_self_update.go │ ├── dump.go │ ├── install.go │ ├── lefthook.go │ ├── run.go │ ├── self_update.go │ ├── uninstall.go │ ├── validate.go │ └── version.go ├── codecov.yml ├── docmd.config.js ├── docs/ │ ├── configuration/ │ │ ├── Commands.md │ │ ├── Hook.md │ │ ├── README.md │ │ ├── Scripts.md │ │ ├── args.md │ │ ├── assert_lefthook_installed.md │ │ ├── colors.md │ │ ├── configs.md │ │ ├── env.md │ │ ├── exclude.md │ │ ├── exclude_tags.md │ │ ├── extends.md │ │ ├── fail_on_changes.md │ │ ├── fail_on_changes_diff.md │ │ ├── fail_text.md │ │ ├── file_types.md │ │ ├── files-global.md │ │ ├── files.md │ │ ├── follow.md │ │ ├── git_url.md │ │ ├── glob.md │ │ ├── glob_matcher.md │ │ ├── group.md │ │ ├── install_non_git_hooks.md │ │ ├── interactive.md │ │ ├── jobs.md │ │ ├── lefthook.md │ │ ├── min_version.md │ │ ├── name.md │ │ ├── no_auto_install.md │ │ ├── no_tty.md │ │ ├── only.md │ │ ├── output.md │ │ ├── parallel.md │ │ ├── piped.md │ │ ├── priority.md │ │ ├── rc.md │ │ ├── ref.md │ │ ├── refetch.md │ │ ├── refetch_frequency.md │ │ ├── remotes.md │ │ ├── root.md │ │ ├── run.md │ │ ├── runner.md │ │ ├── script.md │ │ ├── setup.md │ │ ├── skip.md │ │ ├── skip_lfs.md │ │ ├── source_dir.md │ │ ├── source_dir_local.md │ │ ├── stage_fixed.md │ │ ├── tags.md │ │ ├── templates.md │ │ └── use_stdin.md │ ├── configuration.md │ ├── examples/ │ │ ├── commitlint.md │ │ ├── filters.md │ │ ├── lefthook-local.md │ │ ├── remotes.md │ │ ├── skip.md │ │ ├── stage_fixed.md │ │ └── wrap-commands.md │ ├── index.md │ ├── install.md │ ├── installation/ │ │ ├── alpine.md │ │ ├── arch.md │ │ ├── deb.md │ │ ├── devbox.md │ │ ├── go.md │ │ ├── homebrew.md │ │ ├── manual.md │ │ ├── mise.md │ │ ├── node.md │ │ ├── python.md │ │ ├── rpm.md │ │ ├── ruby.md │ │ ├── scoop.md │ │ ├── snap.md │ │ ├── swift.md │ │ └── winget.md │ ├── misc/ │ │ └── contributors.md │ ├── usage/ │ │ ├── commands/ │ │ │ ├── add.md │ │ │ ├── check-install.md │ │ │ ├── dump.md │ │ │ ├── install.md │ │ │ ├── run.md │ │ │ ├── self-update.md │ │ │ ├── uninstall.md │ │ │ ├── validate.md │ │ │ └── version.md │ │ ├── envs/ │ │ │ ├── CI.md │ │ │ ├── CLICOLOR_FORCE.md │ │ │ ├── LEFTHOOK.md │ │ │ ├── LEFTHOOK_BIN.md │ │ │ ├── LEFTHOOK_CONFIG.md │ │ │ ├── LEFTHOOK_EXCLUDE.md │ │ │ ├── LEFTHOOK_OUTPUT.md │ │ │ ├── LEFTHOOK_VERBOSE.md │ │ │ └── NO_COLOR.md │ │ └── features/ │ │ ├── git-args.md │ │ ├── git-lfs.md │ │ ├── interactive.md │ │ ├── local.md │ │ └── pass-stdin.md │ └── usage.md ├── examples/ │ ├── commitlint/ │ │ ├── README.md │ │ ├── commitlint.config.js │ │ └── lefthook.yml │ ├── complete/ │ │ └── lefthook.yml │ ├── remote/ │ │ └── ping.yml │ ├── verbose/ │ │ └── lefthook.yml │ └── with_scripts/ │ └── lefthook.yml ├── gen/ │ └── jsonschema.go ├── go.mod ├── go.sum ├── integration_test.go ├── internal/ │ ├── command/ │ │ ├── add.go │ │ ├── add_test.go │ │ ├── check_install.go │ │ ├── dump.go │ │ ├── install.go │ │ ├── install_test.go │ │ ├── lefthook.go │ │ ├── run.go │ │ ├── run_test.go │ │ ├── uninstall.go │ │ ├── uninstall_test.go │ │ └── validate.go │ ├── config/ │ │ ├── available_hooks.go │ │ ├── command.go │ │ ├── command_executor.go │ │ ├── command_test.go │ │ ├── config.go │ │ ├── files.go │ │ ├── hook.go │ │ ├── job.go │ │ ├── jsonc_parser.go │ │ ├── jsonschema.go │ │ ├── jsonschema.json │ │ ├── load.go │ │ ├── load_test.go │ │ ├── remote.go │ │ ├── script.go │ │ ├── script_test.go │ │ ├── skip_checker.go │ │ └── skip_checker_test.go │ ├── git/ │ │ ├── command_executor.go │ │ ├── command_executor_test.go │ │ ├── lfs.go │ │ ├── remote.go │ │ ├── repository.go │ │ ├── repository_test.go │ │ └── state.go │ ├── log/ │ │ ├── builder.go │ │ ├── execution.go │ │ ├── log.go │ │ ├── log_test.go │ │ ├── settings.go │ │ ├── settings_test.go │ │ ├── setup.go │ │ └── skip.go │ ├── run/ │ │ ├── controller/ │ │ │ ├── command/ │ │ │ │ ├── build.go │ │ │ │ ├── build_command.go │ │ │ │ ├── build_script.go │ │ │ │ ├── replacer/ │ │ │ │ │ ├── replacer.go │ │ │ │ │ └── replacer_test.go │ │ │ │ └── skip_error.go │ │ │ ├── controller.go │ │ │ ├── controller_test.go │ │ │ ├── exec/ │ │ │ │ ├── exec_unix.go │ │ │ │ ├── exec_windows.go │ │ │ │ └── executor.go │ │ │ ├── filter/ │ │ │ │ ├── detect_text.go │ │ │ │ ├── detect_text_test.go │ │ │ │ ├── filter.go │ │ │ │ └── filter_test.go │ │ │ ├── guard.go │ │ │ ├── guard_test.go │ │ │ ├── job.go │ │ │ ├── lfs.go │ │ │ ├── run.go │ │ │ ├── scope.go │ │ │ ├── scope_test.go │ │ │ ├── setup.go │ │ │ └── utils/ │ │ │ ├── cached_reader.go │ │ │ ├── cached_reader_test.go │ │ │ ├── firstNonBlank.go │ │ │ └── intersect.go │ │ ├── result/ │ │ │ ├── result.go │ │ │ └── result_test.go │ │ └── run.go │ ├── system/ │ │ ├── command.go │ │ ├── limits.go │ │ ├── null_reader.go │ │ ├── null_reader_test.go │ │ ├── sh_unix.go │ │ └── sh_windows.go │ ├── templates/ │ │ ├── config.tmpl │ │ ├── hook.tmpl │ │ └── templates.go │ ├── updater/ │ │ ├── updater.go │ │ └── updater_test.go │ └── version/ │ ├── version.go │ └── version_test.go ├── main.go ├── packaging/ │ ├── .gitignore │ ├── registries/ │ │ ├── aur/ │ │ │ ├── lefthook/ │ │ │ │ └── PKGBUILD │ │ │ └── lefthook-bin/ │ │ │ └── PKGBUILD │ │ ├── npm/ │ │ │ ├── lefthook/ │ │ │ │ ├── bin/ │ │ │ │ │ └── index.js │ │ │ │ ├── get-exe.js │ │ │ │ ├── package.json │ │ │ │ └── postinstall.js │ │ │ ├── lefthook-darwin-arm64/ │ │ │ │ └── package.json │ │ │ ├── lefthook-darwin-x64/ │ │ │ │ └── package.json │ │ │ ├── lefthook-freebsd-arm64/ │ │ │ │ └── package.json │ │ │ ├── lefthook-freebsd-x64/ │ │ │ │ └── package.json │ │ │ ├── lefthook-linux-arm64/ │ │ │ │ └── package.json │ │ │ ├── lefthook-linux-x64/ │ │ │ │ └── package.json │ │ │ ├── lefthook-openbsd-arm64/ │ │ │ │ └── package.json │ │ │ ├── lefthook-openbsd-x64/ │ │ │ │ └── package.json │ │ │ ├── lefthook-windows-arm64/ │ │ │ │ └── package.json │ │ │ └── lefthook-windows-x64/ │ │ │ └── package.json │ │ ├── npm-bundled/ │ │ │ ├── bin/ │ │ │ │ └── index.js │ │ │ ├── get-exe.js │ │ │ ├── package.json │ │ │ └── postinstall.js │ │ ├── npm-installer/ │ │ │ ├── bin/ │ │ │ │ └── index.js │ │ │ ├── install.js │ │ │ └── package.json │ │ ├── pypi/ │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── hatch_build.py │ │ │ ├── lefthook/ │ │ │ │ ├── __init__.py │ │ │ │ ├── __main__.py │ │ │ │ ├── bin/ │ │ │ │ │ └── .keep │ │ │ │ └── main.py │ │ │ └── pyproject.toml │ │ └── rubygems/ │ │ ├── Gemfile │ │ ├── README.md │ │ ├── Rakefile │ │ ├── bin/ │ │ │ └── lefthook │ │ ├── lefthook.gemspec │ │ ├── lib/ │ │ │ └── lefthook.rb │ │ └── libexec/ │ │ └── .keep │ └── scripts/ │ ├── META6.json │ ├── clean.raku │ ├── lib/ │ │ ├── Constants.rakumod │ │ ├── Packager.rakumod │ │ ├── Registries/ │ │ │ ├── AUR/ │ │ │ │ └── Publishing.rakumod │ │ │ ├── AUR-Bin.rakumod │ │ │ ├── AUR.rakumod │ │ │ ├── NPM.rakumod │ │ │ ├── PyPI.rakumod │ │ │ └── RubyGems.rakumod │ │ ├── Registry.rakumod │ │ ├── System.rakumod │ │ └── SystemAPI.rakumod │ ├── prepare.raku │ ├── publish.raku │ ├── set-version.raku │ └── t/ │ ├── 01-system.rakutest │ ├── 02-npm.rakutest │ ├── 03-rubygems.rakutest │ ├── 04-pypi.rakutest │ └── lib/ │ ├── FakeSystem.rakumod │ └── TestRegistry.rakumod ├── schema.json ├── tea.yaml └── tests/ ├── helpers/ │ ├── cmdtest/ │ │ ├── cmdtest.go │ │ ├── dumb.go │ │ ├── ordered.go │ │ ├── ordered_test.go │ │ ├── tracking.go │ │ └── tracking_test.go │ ├── configtest/ │ │ ├── config.go │ │ └── config_test.go │ └── gittest/ │ ├── gittest.go │ └── gittest_test.go └── integration/ ├── add.txt ├── check_install.txt ├── cli_run_only.txt ├── dump.txt ├── env_overwrite_issue_1137.txt ├── exclude.txt ├── exclude_arg.txt ├── fail_on_changes.txt ├── fail_on_changes_issue_1125.txt ├── fail_on_changes_recover_previous_change.txt ├── fail_text.txt ├── files_override.txt ├── files_skip_if_empty.txt ├── filter_by_file_type.txt ├── filter_by_mime_type.txt ├── group_envs.txt ├── hide_unstaged.txt ├── install.txt ├── install_specific.txt ├── job_fail_text.txt ├── job_filter_by_file_type.txt ├── job_merging.txt ├── job_stage_fixed.txt ├── lefthook_job_name_issue_1345.txt ├── lefthook_option.txt ├── many_extends_levels.txt ├── min_version.txt ├── pre-commit_issue_919.txt ├── remotes.txt ├── run_deleted_only.txt ├── run_interrupt.txt ├── run_json.txt ├── run_jsonc.txt ├── run_non_existing.txt ├── run_script.txt ├── run_script_with_args.txt ├── run_toml.txt ├── run_yml.txt ├── setup_instructions.txt ├── sh_syntax_in_files.txt ├── skip_group_issue_1083.txt ├── skip_merge_commit.txt ├── skip_run.txt ├── stage_fixed.txt ├── stage_fixed_505.txt ├── templates.txt ├── timeout.txt ├── timeout_success.txt ├── uninstall.txt ├── validate.txt ├── validate_fail.txt └── version.txt