id = "harsh"
name = "harsh"
homepage = "https://github.com/wakatara/harsh"
description = "A minimalist, command-line tool for tracking, understanding, and forging habits."
executables = ["harsh"]
[dotfiles]
paths = ["[configHome]/harsh/habits"]
secret = []
[commands]
format = 1
label = "harsh"
description = "Record habits and show the consistency graph. The stats and todo subcommands are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["log"]
label = "Show habit log"
description = "Show the consistency graph, optionally filtered by habit name fragment."
[[commands.subcommand.source]]
id = "help"
kind = "manual"
url = "https://github.com/wakatara/harsh/blob/HEAD/README.md"
evidence = """| `harsh log` | Show consistency graph (last 100 days) |
-C, --color string Color output: "always", "never", "auto" (default "auto")
-H, --hide-ended Hide habits that have an end date
-j, --json Output in JSON format (for programmatic use)
harsh log --json gym # Filter by fragment"""
[[commands.subcommand.field]]
id = "filter"
label = "Habit filter"
type = "string"
position = 0
min = 0
sources = ["help"]
[[commands.subcommand.field]]
id = "json"
label = "JSON output"
type = "boolean"
option = ["--json", "-j"]
sources = ["help"]
[[commands.subcommand.field]]
id = "hide_ended"
label = "Hide ended habits"
type = "boolean"
option = ["--hide-ended", "-H"]
sources = ["help"]
[[commands.subcommand.field]]
id = "color"
label = "Color"
type = "enum"
option = ["--color", "-C"]
choices = [{ value = "always", label = "Always" }, { value = "never", label = "Never" }, { value = "auto", label = "Auto" }]
sources = ["help"]
[[commands.subcommand.task]]
id = "log"
label = "Show log"
fields = ["filter", "hide_ended", "color"]
[[commands.subcommand.task]]
id = "json"
label = "JSON log"
set = { json = [true] }
lock = ["json"]
fields = ["json", "filter", "hide_ended"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["filter", "json", "hide_ended", "color"]