A lightweight developer CLI built with Go for working with Git hosting platforms from the terminal.
- GitHub authentication with OAuth device flow or personal access tokens
- Repository, issue, and pull request workflows
- Automatic repository context detection
- Shell completion for Bash, Zsh, and Fish
- Structured output for scripting
brew install bniladridas/tap/kitFor Homebrew installation, see: https://github.com/bniladridas/homebrew-tap
For Linux and macOS:
curl -fsSL https://raw.githubusercontent.com/bniladridas/kit/main/scripts/install.sh | shgo install github.com/bniladridas/kit/cmd/kit@latestDownload the binary from the latest release and move it to your PATH.
curl -fsSL https://github.com/bniladridas/kit/releases/download/v1.0.0/kit-linux-amd64 -o kit
chmod +x kit
sudo mv kit /usr/local/binkit updateChecks for a newer version and suggests the correct update command. It does not update automatically.
| Installed with | Update command |
|---|---|
| Homebrew | brew upgrade kit |
| Go | go install github.com/bniladridas/kit/cmd/kit@latest |
| Install script | Run the install script again |
| Manual download | Download the latest release and replace the binary |
kit auth login github
kit github repo list
kit github issue list
kit github pr listOr with a personal access token:
kit auth login github --token <token>kit auth login github
kit auth login github --token <token>
kit auth status
kit auth whoami
kit auth logoutkit auth login github- authenticate via OAuth device flowkit auth login github --token <token>- authenticate with a personal access tokenkit auth status- show authentication status for all providerskit auth whoami- show the current authenticated userkit auth logout- remove stored credentials
kit github repo list
kit github repo list --json
kit github repo clone owner/repo
kit github issue list
kit github issue create --title "Bug" --body "Description"
kit github pr list
kit github pr create --title "Fix"
kit github pr checkout 123kit github repo list [--json] [--quiet]- list repositorieskit github repo clone <owner/repo>- clone a repositorykit github issue list [--owner --repo] [--state] [--json] [--quiet]- list issueskit github issue create --title <title> [--owner --repo] [--body]- create an issuekit github pr list [--owner --repo] [--state] [--json] [--quiet]- list pull requestskit github pr create --title <title> [--owner --repo] [--body]- create a pull requestkit github pr checkout <number> [--owner --repo]- checkout a pull request branch
Owner and repo are inferred from the current Git repository when not provided.
kit config list
kit config set <key> <value>
kit config get <key>kit contextShow the current Git repository context: owner, repo, branch, and remote.
kit completion bash
kit completion zsh
kit completion fishkit doctorCheck configuration, authentication, Git availability, and network connectivity.
kit versionExample:
kit version 1.0.0
- Stable commands: auth, github, config, context, completion, doctor, version
- Command names, flags, and output formats will not change in patch releases.
- Breaking changes will only occur in major versions with advance notice.
- Features will be deprecated in one minor release before removal in the next major release.
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Invalid usage |
| 3 | Not authenticated |
| 4 | Configuration error |
| 5 | Network error |
| 6 | Git error |
| 7 | API error |
| 8 | Cancelled |
| 9 | Not implemented |
KIT_API_URL- override the GitHub API URLKIT_CONFIG- path to config file
KIT_GITHUB_TOKEN- GitHub personal access token for live integration testsKIT_INTEGRATION_TESTS- set to1to enable live integration tests
git clone https://github.com/bniladridas/kit.git
cd kit
make build
make test
make docsMIT