id = "gitlogue" name = "Gitlogue" homepage = "https://github.com/unhappychoice/gitlogue" description = "Git repository history viewer." executables = ["gitlogue"] platforms = ["macos", "linux"] [dotfiles] # The upstream README documents the user's TOML configuration file. # https://github.com/unhappychoice/gitlogue paths = ["~/.config/gitlogue/config.toml"] exclude = [] secret = [] [commands] format = 1 label = "Replay git history" description = "Replay commits of the current repository as a terminal typing animation. Staged/unstaged diff mode, theme subcommands and speed rules are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.source]] id = "readme" kind = "help" url = "https://github.com/unhappychoice/gitlogue/blob/main/README.md" revision = "main 2026-10-27" evidence = """ gitlogue --commit abc123 gitlogue --commit HEAD~5..HEAD gitlogue --order asc gitlogue --commit abc123 --loop gitlogue --watch gitlogue --author "john" gitlogue --after "2024-01-01" gitlogue --before "1 week ago" gitlogue --theme dracula gitlogue --speed 20 gitlogue --ignore "*.ipynb" --ignore "poetry.lock" gitlogue --ignore-file .gitlogue-ignore """ [[commands.field]] id = "commit" label = "Commit or range" description = "A commit hash or a range such as HEAD~5..HEAD." type = "string" option = ["--commit"] sources = ["readme"] [[commands.field]] id = "order" label = "Order" description = "asc replays oldest first." type = "string" option = ["--order"] suggestions = [{ value = "asc", label = "Oldest first" }] sources = ["readme"] [[commands.field]] id = "loop" label = "Loop continuously" type = "boolean" option = ["--loop"] sources = ["readme"] [[commands.field]] id = "watch" label = "Watch for new commits" type = "boolean" option = ["--watch"] sources = ["readme"] [[commands.field]] id = "author" label = "Author" type = "string" option = ["--author"] sources = ["readme"] [[commands.field]] id = "after" label = "After date" type = "string" option = ["--after"] sources = ["readme"] [[commands.field]] id = "before" label = "Before date" type = "string" option = ["--before"] sources = ["readme"] [[commands.field]] id = "theme" label = "Theme" type = "string" option = ["--theme"] suggestions = [{ value = "dracula", label = "Dracula" }, { value = "nord", label = "Nord" }] sources = ["readme"] [[commands.field]] id = "speed" label = "Typing speed" type = "integer" option = ["--speed"] sources = ["readme"] [[commands.field]] id = "ignore" label = "Ignore patterns" type = "string" option = ["--ignore"] multiple = true sources = ["readme"] [[commands.field]] id = "ignore_file" label = "Ignore file" type = "path" option = ["--ignore-file"] path = { kind = "file", role = "input", must_exist = true } sources = ["readme"] [[commands.task]] id = "replay" label = "Replay a commit or range" fields = ["commit", "loop", "theme", "speed"] required = ["commit"] [[commands.task]] id = "watch" label = "Watch repository" fields = ["watch", "theme", "speed"] required = ["watch"] set = { watch = [true] } lock = ["watch"] [[commands.group]] id = "basic" label = "Basic" fields = ["commit", "order", "loop", "watch", "theme", "speed"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["author", "after", "before", "ignore", "ignore_file"]