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] # https://github.com/wakatara/harsh — the README's tips edit # ~/.config/harsh/habits; this is the user-authored habit configuration. 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"]