id = "hermit"
name = "Hermit"
homepage = "https://cashapp.github.io/hermit"
description = "Manages isolated, self-bootstrapping sets of tools in software projects."
executables = ["hermit"]
[dotfiles]
paths = ["~/.hermit.hcl"]
exclude = []
secret = []
side_effect = false
[commands]
format = 1
label = "Hermit"
description = "Install packages into the active Hermit environment, or install shell hooks. Other commands are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.subcommand]]
path = ["install"]
label = "Install packages"
[[commands.subcommand.source]]
id = "docs"
kind = "manual"
url = "https://cashapp.github.io/hermit/usage/get-started/"
revision = "2026-10-27"
evidence = """Once your environment is activated, use hermit search to search for
project🐚~/project$ hermit install go-1.16.3"""
[[commands.subcommand.field]]
id = "packages"
label = "Packages"
description = "For example go-1.16.3."
type = "string"
position = 0
multiple = true
sources = ["docs"]
[[commands.subcommand.task]]
id = "install"
label = "Install packages"
fields = ["packages"]
required = ["packages"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["packages"]
[[commands.subcommand]]
path = ["shell-hooks"]
label = "Install shell hooks"
description = "Writes Hermit hooks into your shell's startup file."
[[commands.subcommand.source]]
id = "shell"
kind = "manual"
url = "https://cashapp.github.io/hermit/usage/shell/"
revision = "2026-10-27"
evidence = """hermit shell-hooks --zsh
hermit shell-hooks --bash
hermit shell-hooks --fish"""
[[commands.subcommand.field]]
id = "zsh"
label = "zsh"
type = "boolean"
option = ["--zsh"]
effect = "overwrite"
sources = ["shell"]
[[commands.subcommand.field]]
id = "bash"
label = "bash"
type = "boolean"
option = ["--bash"]
effect = "overwrite"
sources = ["shell"]
[[commands.subcommand.field]]
id = "fish"
label = "fish"
type = "boolean"
option = ["--fish"]
effect = "overwrite"
sources = ["shell"]
[[commands.subcommand.task]]
id = "zsh"
label = "Install for zsh"
fields = ["zsh"]
required = ["zsh"]
set = { zsh = [true] }
[[commands.subcommand.task]]
id = "bash"
label = "Install for bash"
fields = ["bash"]
required = ["bash"]
set = { bash = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["zsh", "bash", "fish"]