Skip to content

Getting Started

This guide will walk you through installing Ghit and setting up your first workflow.

Installation

Install Ghit globally using your preferred package manager:

bash
pnpm add -g ghit
bash
npm install -g ghit
bash
yarn global add ghit

First Steps

1. Authenticate with GitHub

Run the login command to authenticate:

bash
ghit login

This will:

  • Open your browser to GitHub's OAuth flow
  • Request necessary permissions
  • Store your token securely in ~/.ghit/db.sqlite

If your current workspace already has GitHub credentials available through your git credential helper, Ghit can reuse that token automatically (when Use Current Repo for Commands is enabled in ghit config).

2. Set a Default Repository

Set a default repository to avoid typing owner/repo on every command:

bash
ghit set-repo owner/repository-name

For example:

bash
ghit set-repo toneflix/ghit

When Use Current Repo for Commands is enabled (default), commands run inside a git repository will use that workspace repo first.

3. Verify Your Setup

Check that everything is configured correctly:

bash
ghit info

This displays:

  • Your authentication status
  • Current default repository
  • Configuration details

Working with Issues

Interactive Mode

Launch the interactive issues dashboard:

bash
ghit issues

This lets you:

  • Browse all issues in your repository
  • View detailed information
  • Close or reopen issues
  • Edit titles and descriptions
  • Delete issues

Creating Issues

Create a single issue:

bash
ghit issues:create --title "Bug: Login fails" --body "Description here"

Bulk Operations

Seed multiple issues from a directory of markdown files:

bash
ghit issues:seed ./issues-directory

Update existing issues:

bash
ghit issues:update ./issues-directory

Delete multiple issues:

bash
ghit issues:delete --start 1 --end 50

Generated API Commands

Ghit can generate commands directly from GitHub's OpenAPI specification.

Generate Commands

Run the generator once:

bash
ghit generate:apis

This creates .ghit/apis.generated.js containing all GitHub REST API endpoints as CLI commands.

Using Generated Commands

Once generated, use any GitHub API endpoint as a command:

bash
# Create an issue
ghit issues:create --title "New feature" --owner org --repo repo

# List repository issues
ghit issues:list --owner org --repo repo --state open

# Get a specific issue
ghit issues:get --owner org --repo repo --issue_number 42

# List organizations
ghit orgs:list-for-authenticated-user --per_page 50

TIP

The generated file is ignored by git (add .ghit/ to .gitignore). Regenerate when GitHub's API updates.

Configuration

View or modify configuration:

bash
ghit config

Available options:

  • debug — Enable detailed error messages
  • token — Your GitHub personal access token
  • useCurrentRepo — Auto-detect repository from current workspace and prefer git credential token when available
  • default_repo — Default repository context

Next Steps

Released under the ISC License.