CLI to generate GitHub issues using an LLM (Ollama/Mistral).
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/goudyj/assistant-cli/master/scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/goudyj/assistant-cli/master/scripts/install.ps1 | iexcurl -fsSL https://raw.githubusercontent.com/goudyj/assistant-cli/master/scripts/install.sh | bash -s v0.1.0cargo build --releaseConfigure 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"]
}
}
}
}| 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 |
| 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) |
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.
Install Ollama and pull the model:
ollama pull mistral:7bassistant # Start the TUI
assistant --project my-project # Start with a specific project
assistant --logout # Remove GitHub authentication and exitOn 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.
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.
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) |
$ 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
# LLM endpoint (default: http://localhost:11434/api/chat)
LLM_ENDPOINT=http://localhost:11434/api/chatsrc/
├── 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