id = "gcli"
name = "GCLI"
homepage = "https://herrhotzenplotz.de/gcli/"
description = "GCLI is a tool that lets you interact with Git forges such as GitLab, Gitea and GitHub with a consistent command line interface."
executables = ["gcli"]
[dotfiles]
paths = ["[configHome]/gcli/config"]
secret = []
[[dotfiles.secret_paths]]
file = "[configHome]/gcli/config"
match = { prefix = ["token"] }
[commands]
format = 1
label = "Query a git forge"
description = "List issues, pull requests and other items on GitHub, GitLab or Gitea. Global overrides and per-subcommand options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "man"
kind = "manual"
url = "https://manpages.debian.org/testing/gcli/gcli.1.en.html"
revision = "2.13.0-3"
evidence = """
gcli [overrides] subcommand [forge-path] [options]
issues pulls labels forks gists snippets repos comment status pipelines releases milestones config api version
-s, --sorted Reverse the output such that most recent items appear at the bottom.
-n, --count n Fetch multiple items of data.
-a, --all Fetch all data, including closed issues and closed/merged PRs.
-y, --yes Do not ask for confirmation when performing destructive operations or performing submissions.
gh:owner/repo
"""
[[commands.field]]
id = "subcommand"
label = "Subcommand"
type = "enum"
position = 0
choices = [{ value = "issues", label = "Issues" }, { value = "pulls", label = "Pull requests" }, { value = "labels", label = "Labels" }, { value = "forks", label = "Forks" }, { value = "gists", label = "Gists" }, { value = "repos", label = "Repositories" }, { value = "status", label = "Status" }, { value = "pipelines", label = "Pipelines" }, { value = "releases", label = "Releases" }, { value = "milestones", label = "Milestones" }]
sources = ["man"]
[[commands.field]]
id = "forge_path"
label = "Forge path"
description = "Optional shorthand such as gh:owner/repo."
type = "string"
position = 1
min = 0
sources = ["man"]
[[commands.field]]
id = "count"
label = "Number of items"
description = "-1 fetches everything."
type = "integer"
option = ["--count", "-n"]
sources = ["man"]
[[commands.field]]
id = "all"
label = "Include closed and merged"
type = "boolean"
option = ["--all"]
sources = ["man"]
[[commands.field]]
id = "sorted"
label = "Most recent last"
type = "boolean"
option = ["--sorted", "-s"]
sources = ["man"]
[[commands.task]]
id = "list-issues"
label = "List issues"
set = { subcommand = ["issues"] }
lock = ["subcommand"]
fields = ["subcommand", "forge_path", "count", "all", "sorted"]
required = ["subcommand"]
[[commands.task]]
id = "list-pulls"
label = "List pull requests"
set = { subcommand = ["pulls"] }
lock = ["subcommand"]
fields = ["subcommand", "forge_path", "count", "all", "sorted"]
required = ["subcommand"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["subcommand", "forge_path", "count", "all", "sorted"]