id = "hunk"
name = "hunk"
homepage = "https://www.hunk.dev/"
description = "Hunk is a review-first diff viewer that plays nice with agents."
executables = ["hunk"]
[dotfiles]
paths = [
"~/.config/hunk/config.toml",
"~/.config/hunk/extensions/",
]
secret = []
[commands]
format = 1
label = "Hunk"
description = "Review changes in the diff viewer. Covers working-tree diffs and commits; two-file comparison, patches, GitHub pull requests and agent sessions are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.subcommand]]
path = ["diff"]
label = "Review current changes"
description = "Review working-tree changes, or a revision or revset when one is given."
[[commands.subcommand.source]]
id = "readme"
kind = "manual"
url = "https://github.com/modem-dev/hunk/blob/main/README.md"
revision = "v0.24.1"
evidence = """
hunk diff # review current repo changes, including untracked files
hunk diff --watch # auto-reload as the working tree changes
so `hunk diff [revset]` and `hunk show [revset]` use native revsets inside jj or Sapling workspaces.
"""
[[commands.subcommand.field]]
id = "revset"
label = "Revision or revset"
description = "Leave empty to review the working tree."
type = "string"
position = 0
sources = ["readme"]
[[commands.subcommand.field]]
id = "watch"
label = "Auto-reload"
description = "Reload as the working tree changes."
type = "boolean"
option = ["--watch"]
sources = ["readme"]
[[commands.subcommand.task]]
id = "working_tree"
label = "Review working tree"
fields = ["watch"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["revset", "watch"]
[[commands.subcommand]]
path = ["show"]
label = "Review a commit"
description = "Review the latest commit, or the given one."
[[commands.subcommand.source]]
id = "readme"
kind = "manual"
url = "https://github.com/modem-dev/hunk/blob/main/README.md"
revision = "v0.24.1"
evidence = """
hunk show # review the latest commit
hunk show HEAD~1 # review an earlier commit
"""
[[commands.subcommand.field]]
id = "ref"
label = "Commit or revset"
description = "Leave empty for the latest commit."
type = "string"
position = 0
sources = ["readme"]
[[commands.subcommand.task]]
id = "earlier"
label = "Review an earlier commit"
fields = ["ref"]
required = ["ref"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["ref"]