Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

125 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Assistant

CLI to generate GitHub issues using an LLM (Ollama/Mistral).

Installation

Quick Install (Recommended)

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/goudyj/assistant-cli/master/scripts/install.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/goudyj/assistant-cli/master/scripts/install.ps1 | iex

Install Specific Version

curl -fsSL https://raw.githubusercontent.com/goudyj/assistant-cli/master/scripts/install.sh | bash -s v0.1.0

Build from Source

cargo build --release

Configuration

Configure your settings in ~/.config/assistant.json:

{
  "coding_agent": "claude",
  "ide_command": "cursor",
  "projects": {
    "my-project": {
      "owner": "username",
      "repo": "my-repo",
      "labels": ["bug", "feature", "backend", "frontend"],
      "local_path": "/path/to/my-repo",
      "base_branch": "develop",
      "list_commands": {
        "bugs": ["bug"],
        "frontend": ["frontend", "bug"]
      }
    }
  }
}

Global settings

Field Description
coding_agent Agent for dispatch: "claude" or "opencode" (default: "claude")
ide_command IDE to open worktrees: "code", "cursor", etc. (auto-detected if not set)
auto_format_comments Auto-format issue comments (default: false)
last_project Auto-managed: remembers last selected project

Project settings

Field Description
owner Repository owner (user or organization)
repo Repository name
labels Available labels for issue generation
local_path Local repository path (required for worktree/dispatch features)
base_branch Base branch for new branches (auto-detects main/master/develop if not set)
list_commands Custom filter commands (see below)

Custom filter commands

Define shortcuts to filter issues by labels:

"list_commands": {
  "bugs": ["bug"],
  "urgent": ["bug", "priority:high"]
}

These become available as /bugs, /urgent commands in the TUI.

3. Ollama

Install Ollama and pull the model:

ollama pull mistral:7b

Usage

assistant              # Start the TUI
assistant --project my-project   # Start with a specific project
assistant --logout     # Remove GitHub authentication and exit

GitHub Authentication

On first use, authenticate with GitHub:

〉/login
Starting GitHub authentication...

Open this URL in your browser:
  https://github.com/login/device

And enter the code: ABCD-1234

Waiting for authorization...
Successfully logged in to GitHub!

The token is stored in ~/.config/assistant.json.

Using a Personal Access Token

You can also use a GitHub Personal Access Token instead of the OAuth flow. Add it directly to your config file:

{
  "github_token": "ghp_your_personal_access_token",
  "projects": { ... }
}

To create a token, go to GitHub Settings > Developer settings > Personal access tokens and generate a token with repo scope.

Commands

Press / in the TUI to open the command palette.

Command Description
/login Authenticate with GitHub via browser
/logout Remove GitHub authentication
/repository Open interactive project selector (alias: /repo)
/agent Select coding agent (Claude Code or Opencode)
/worktrees Manage worktrees (view, delete, open in IDE)
/prune Clean up orphaned worktrees
/help Show help
/quit Exit
/<custom> Custom filter commands defined in config (e.g., /bugs)

Example session

$ assistant

# Select a project with /repo, then browse issues
# Generate new issues by typing a description
# Dispatch issues to a coding agent with Enter
# Create PRs from completed work

Environment variables (optional)

# LLM endpoint (default: http://localhost:11434/api/chat)
LLM_ENDPOINT=http://localhost:11434/api/chat

Project structure

src/
├── agents/           # Coding agent integrations
│   ├── claude.rs     # Claude Code dispatch
│   ├── opencode.rs   # Opencode dispatch
│   ├── worktree.rs   # Git worktree management
│   └── session.rs    # Agent session tracking
├── auth.rs           # OAuth Device Flow
├── config.rs         # JSON configuration
├── github.rs         # GitHub API (octocrab)
├── issues.rs         # Issue generation via LLM
├── llm.rs            # Ollama communication
├── tui.rs            # TUI application
├── tui_events.rs     # Event handling
├── tui_draw.rs       # UI rendering
└── main.rs           # Entry point

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages