Files
iris-context/commands/ops/gh.go
T
VERSE ebde9ba68f refactor(commands): separate commands and its core into two folders (#32)
- I think it would be better if one for commands only, one for the spec
handling core logic so people won't be confused by the core logic inside
the commands folder (cleaner I guess)
- Regen docs
2026-07-05 11:27:30 +07:00

107 lines
6.4 KiB
Go

package ops
import (
"github.com/versenilvis/iris/spec"
)
func init() {
spec.Register(&spec.Spec{
Name: "gh",
Description: "Current branch",
Subcommands: []spec.Subcommand{
{Name: "alias", Description: "Create command shortcuts"},
{Name: "delete", Description: "Delete an alias"},
{Name: "list", Description: "List available aliases"},
{Name: "set", Description: "Set an alias for a gh command"},
{Name: "expansion", Description: "The gh command to be invoked, more info with --help"},
{Name: "api", Description: "Make an authenticated GitHub API request"},
{Name: "auth", Description: "Login, logout, and refresh your authentication"},
{Name: "login", Description: "Authenticate with a GitHub host"},
{Name: "logout", Description: "Log out of a GitHub host"},
{Name: "refresh", Description: "Refresh stored authentication credentials"},
{Name: "setup-git", Description: "Configure git to use GitHub CLI as a credential helper"},
{Name: "status", Description: "View authentication status"},
{Name: "gpg-key", Description: "Manage GPG keys registered with your GitHub account"},
{Name: "add", Description: "Add a GPG key to your GitHub account"},
{Name: "browse", Description: "Open the repository in the browser"},
{Name: "completion", Description: "Generate shell completion scripts"},
{Name: "config", Description: "Manage configuration for gh"},
{Name: "get", Description: "Print the value of a given configuration key"},
{Name: "git_protocol", Description: "The protocol to use for git clone and push operations"},
{Name: "editor", Description: "The text editor program to use for authoring text"},
{Name: "prompt", Description: "Toggle interactive prompting in the terminal"},
{Name: "http_unix_socket", Description: "The path to a unix socket through which to make HTTP connection"},
{Name: "extensions", Description: "Manage gh extensions"},
{Name: "create", Description: "Create a new extension"},
{Name: "install", Description: "Install a gh extension from a repository"},
{Name: "remove", Description: "Remove an installed extension"},
{Name: "upgrade", Description: "Upgrade installed extensions"},
{Name: "gist", Description: "Manage gists"},
{Name: "clone", Description: "Clone a gist locally"},
{Name: "edit", Description: "Edit one of your gists"},
{Name: "view", Description: "View a gist"},
{Name: "issue", Description: "Manage issues"},
{Name: "close", Description: "Close issue"},
{Name: "comment", Description: "Create a new issue comment"},
{Name: "number", Description: "Number or Title"},
{Name: "reopen", Description: "Reopen issue"},
{Name: "transfer", Description: "Transfer issue to another repository"},
{Name: "pr", Description: "Manage pull requests"},
{Name: "checkout", Description: "Check out a pull request in git"},
{Name: "checks", Description: "Show CI status for a single pull request"},
{Name: "diff", Description: "View changes in a pull request"},
{Name: "merge", Description: "Merge a pull request"},
{Name: "ready", Description: "Mark a pull request as ready for review"},
{Name: "review", Description: "Add a review to a pull request"},
{Name: "release", Description: "Manage GitHub releases"},
{Name: "repo", Description: "Work with GitHub repositories"},
{Name: "archive", Description: "Archive a GitHub repository. With no argument, archives the current repository"},
{Name: "deploy-key", Description: "Manage deploy keys in a repository"},
{Name: "key-file", Description: "Path to the public key file"},
{Name: "key-id", Description: "ID of the key to delete"},
},
Options: []spec.Option{
{Name: "-c", Description: "Name of the codespace"},
{Name: "--clone", Description: "Clone the fork {true|false}"},
{Name: "-y", Description: "Skip the confirmation prompt"},
{Name: "--repo", Description: "Select another repository"},
{Name: "-e", Description: "List secrets for an environment"},
{Name: "-o", Description: "List secrets for an environment"},
{Name: "-s", Description: "Declare an alias to be passed through a shell interpreter"},
{Name: "-h", Description: "The hostname of the GitHub instance to authenticate with"},
{Name: "-w", Description: "Open a browser to authenticate"},
{Name: "--with-token", Description: "Read token from standard input"},
{Name: "-b", Description: "Select another branch by passing in the branch name"},
{Name: "-n", Description: "Print destination URL instead of opening the browser"},
{Name: "-p", Description: "Open repository projects"},
{Name: "-R", Description: "Select another repository using the [HOST/]OWNER/REPO format"},
{Name: "--all", Description: "Upgrade all extensions"},
{Name: "--force", Description: "Force upgrade extensions"},
{Name: "-d", Description: "A description for this gist"},
{Name: "-f", Description: "Provide a filename to be used when reading from STDIN"},
{Name: "-a", Description: "Add a new file to the gist"},
{Name: "-L", Description: "Maximum number of gists to fetch (default 10)"},
{Name: "--public", Description: "Show only public gists"},
{Name: "--secret", Description: "Show only secret gists"},
{Name: "--files", Description: "List file names from the gist"},
{Name: "-r", Description: "Print raw instead of rendered gist contents"},
{Name: "-F", Description: "Read body text from file"},
{Name: "-l", Description: "Add labels by name"},
{Name: "-m", Description: "Add the issue to a milestone by name"},
{Name: "--recover", Description: "Recover input from a failed run of create"},
{Name: "-t", Description: "Supply a title. Will prompt for one otherwise"},
{Name: "--add-assignee", Description: "Add labels by name"},
{Name: "--remove-assignee", Description: "Remove labels by name"},
{Name: "--remove-project", Description: "Remove the issue from projects by name"},
{Name: "-A", Description: "Filter by author"},
{Name: "-q", Description: "Filter JSON output using a jq expression"},
{Name: "--json", Description: "Output JSON with the specified fields"},
{Name: "--mention", Description: "Filter by mention"},
{Name: "-S", Description: "Search issues with query"},
{Name: "--recurse-submodules", Description: "Update all active submodules (recursively)"},
{Name: "--add-project", Description: "Add the pull request to projects by name"},
{Name: "--add-reviewer", Description: "Add reviewers by their login"},
},
})
}