https://github.com/kevinelliott/agentmanager
CLI/TUI app to easily detect, manage, install, and update AI Agent CLI tools
https://github.com/kevinelliott/agentmanager
agent agentic-ai agents ai ai-developer-tools ai-development ai-development-tools ai-tools cli cli-app cli-tool tui tui-app
Last synced: 3 months ago
JSON representation
CLI/TUI app to easily detect, manage, install, and update AI Agent CLI tools
- Host: GitHub
- URL: https://github.com/kevinelliott/agentmanager
- Owner: kevinelliott
- License: mit
- Created: 2026-01-08T17:37:01.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-01-17T07:15:02.000Z (4 months ago)
- Last Synced: 2026-01-18T15:50:24.738Z (4 months ago)
- Topics: agent, agentic-ai, agents, ai, ai-developer-tools, ai-development, ai-development-tools, ai-tools, cli, cli-app, cli-tool, tui, tui-app
- Language: Go
- Homepage:
- Size: 398 KB
- Stars: 6
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cli-coding-agents - AgentManager
README
# AgentManager (agentmgr)
[](https://github.com/kevinelliott/agentmanager/actions/workflows/ci.yml)
[](https://github.com/kevinelliott/agentmanager/releases)
[](https://go.dev/)
[](https://goreportcard.com/report/github.com/kevinelliott/agentmanager)
[](https://pkg.go.dev/github.com/kevinelliott/agentmanager)
[](https://opensource.org/licenses/MIT)
A comprehensive CLI/TUI/Library application for detecting, managing, installing, and updating AI development CLI agents across macOS, Linux, and Windows.
## Features
- **Agent Detection**: Automatically detect installed AI CLI agents (Claude Code, Amp, Aider, GitHub Copilot CLI, Gemini CLI, and more)
- **Version Management**: Check for updates from package registries (npm, PyPI, Homebrew) and manage agent versions
- **Multiple Installation Methods**: Support for npm, pip, pipx, uv, Homebrew, native installers, and more
- **Beautiful CLI Output**: Colored output with animated spinners and properly aligned tables
- **Beautiful TUI**: Interactive terminal interface built with Bubble Tea
- **Background Helper**: System tray application with notifications for available updates
- **REST & gRPC APIs**: Expose agent management via HTTP and gRPC for integration
- **Cross-Platform**: Works on macOS, Linux, and Windows
## Installation
### From Source
```bash
# Clone the repository
git clone https://github.com/kevinelliott/agentmanager.git
cd agentmgr
# Build
make build
# Install to PATH
make install
```
### Homebrew (macOS)
```bash
brew install kevinelliott/tap/agentmanager
```
### Go Install
```bash
go install github.com/kevinelliott/agentmanager/cmd/agentmgr@latest
```
## Quick Start
```bash
# List all detected agents (shows installed version and latest available)
agentmgr agent list
# Install a new agent
agentmgr agent install claude-code
# Update all agents
agentmgr agent update --all
# Launch the interactive TUI
agentmgr tui
# Disable colored output
agentmgr --no-color agent list
```
### Example Output
```console
$ agentmgr catalog list
ID NAME METHODS DESCRIPTION
------------ ---------------------- --------- ----------------------------------------
agent-cli Agent CLI npm Unified CLI for interacting with multi...
agent-deck Agent Deck go +2 Terminal session manager for AI codin...
aider Aider pip +2 AI pair programming in your terminal
amazon-q Amazon Q Developer CLI brew +1 Agentic chat experience in your termi...
amp Amp native +3 Frontier coding agent by Sourcegraph ...
blackbox-cli Blackbox CLI native +1 AI-powered CLI for natural language c...
claude-code Claude Code npm +1 Anthropic's official CLI for Claude A...
claude-squad Claude Squad brew +1 Terminal application for managing mul...
codex Codex npm +2 Lightweight coding agent from OpenAI ...
continue-cli Continue CLI npm Open-source AI code assistant CLI
crush Crush go +2 Terminal-based AI coding agent from C...
cursor-cli Cursor CLI native Cursor AI editor CLI agent
deepseek-cli DeepSeek CLI npm Command-line AI coding assistant leve...
dexter Dexter npm +2 AI coding agent built on Claude Code
droid Droid brew +1 AI-powered software engineering agent...
gemini-cli Gemini CLI npm Google's Gemini AI in your terminal
goose Goose native +3 Open-source AI agent from Block that ...
copilot-cli GitHub Copilot CLI npm +1 GitHub Copilot in the command line
juno-code Juno Code npm AI coding agent with web interface
kilocode-cli Kilocode CLI npm Terminal UI for Kilo Code
kubectl-ai kubectl-ai native +2 AI-powered Kubernetes Assistant
nanocoder Nanocoder npm +1 Community-driven local-first CLI codi...
opencode OpenCode npm +2 The open source AI coding agent
openhands OpenHands CLI uv +3 AI-driven development CLI with termin...
pi-coding-agent Pi Coding Agent npm AI coding assistant from Pi
plandex Plandex native Open source AI coding agent for large...
qoder-cli Qoder CLI binary Qoder AI coding assistant CLI
qwen-code Qwen Code npm +1 Open-source AI coding agent
rallies-cli Rallies CLI pip +1 AI-powered investment research CLI
ralph-tui Ralph TUI native Autonomous AI agent with TUI
tokscale Tokscale bun +1 High-performance CLI for monitoring A...
tunacode-cli Tunacode CLI npm AI coding assistant CLI
32 agents available
```
```console
$ agentmgr agent list
ID AGENT METHOD VERSION LATEST STATUS
------------ ------------------ ------ ------------------- ------- ------
aider Aider pip 0.86.1 0.86.1 ●
amp Amp npm 1.0.25 1.0.25 ●
blackbox-cli Blackbox CLI npm 0.0.9 0.8.1 ⬆
claude-code Claude Code npm 2.1.3 2.1.3 ●
claude-squad Claude Squad native 1.0.13 - ●
continue-cli Continue CLI npm 1.5.29 1.5.29 ●
crush Crush native 0.24.0 - ●
cursor-cli Cursor CLI native 2025.11.25 - ●
gemini-cli Gemini CLI native 0.15.1 - ●
copilot-cli GitHub Copilot CLI npm 0.0.340 0.0.377 ⬆
opencode OpenCode npm 1.0.119 1.1.10 ⬆
qoder-cli Qoder CLI native 0.1.15 - ●
qwen-code Qwen Code npm 0.2.3 0.6.1 ⬆
tokscale Tokscale npm 1.0.22 1.0.22 ●
```
> **Legend:** ● = up to date, ⬆ = update available
## Commands
### Agent Management
```bash
agentmgr agent list # List all detected agents (uses cache)
agentmgr agent list --refresh # Force re-detection, ignore cache
agentmgr agent refresh # Force re-detection and update cache
agentmgr agent install # Install an agent
agentmgr agent update # Update specific agent
agentmgr agent update --all # Update all agents
agentmgr agent info # Show agent details
agentmgr agent remove # Remove an agent
```
> **Note:** Agent detection results are cached for 1 hour by default. Use `agent refresh` or `agent list --refresh` to force re-detection.
### Catalog Management
```bash
agentmgr catalog list # List available agents
agentmgr catalog refresh # Refresh from remote
agentmgr catalog search # Search catalog
agentmgr catalog show # Show agent details
```
### Configuration
```bash
agentmgr config show # Show current config
agentmgr config set # Set config value
agentmgr config path # Show config file path
```
### Background Helper
```bash
agentmgr helper start # Start systray helper
agentmgr helper stop # Stop systray helper
agentmgr helper status # Check helper status
```
### System Health
```bash
agentmgr doctor # Check system health and configuration
agentmgr doctor --verbose # Show detailed output
```
### Self-Update
```bash
agentmgr upgrade # Check for and install updates
agentmgr upgrade --check # Check for updates only
agentmgr upgrade --force # Force reinstall
```
### Detection Plugins
```bash
agentmgr plugin list # List installed plugins
agentmgr plugin create # Create a new plugin
agentmgr plugin validate # Validate plugin config
agentmgr plugin enable # Enable a plugin
agentmgr plugin disable # Disable a plugin
```
See [docs/plugins.md](docs/plugins.md) for detailed plugin documentation.
### API Documentation
```bash
agentmgr api docs # Show REST API documentation
agentmgr api endpoints # List all API endpoints
agentmgr api spec # Output OpenAPI specification
```
### Global Options
```bash
--no-color # Disable colored output (also respects NO_COLOR env var)
--config, -c # Specify custom config file path
--verbose, -v # Enable verbose output
--format, -f # Output format (table, json, yaml)
```
## Supported Agents
| Agent | Installation Methods |
|-------|---------------------|
| Agent CLI | npm |
| Agent Deck | brew, go, native |
| Aider | pip, pipx, uv |
| Amazon Q Developer CLI | brew, native, dmg |
| Amp | native, npm, brew, chocolatey |
| Blackbox CLI | npm, native, powershell |
| Claude Code | npm, native |
| Claude Squad | brew, native |
| Codex | npm, brew, binary |
| Continue CLI | npm |
| Crush | brew, npm, go, winget, scoop |
| Cursor CLI | native |
| DeepSeek CLI | npm |
| Dexter | npm, brew, native |
| Droid | brew, native, powershell |
| Gemini CLI | npm |
| GitHub Copilot CLI | npm, brew, winget |
| Goose | native, brew, pip, cargo |
| Juno Code | npm |
| Kilocode CLI | npm |
| kubectl-ai | native, krew, nix |
| Nanocoder | npm, brew |
| OpenCode | npm, brew, scoop, chocolatey, curl |
| OpenHands CLI | uv, pip, pipx, native |
| Pi Coding Agent | npm |
| Plandex | native |
| Qoder CLI | binary |
| Qwen Code | npm, brew |
| Rallies CLI | pip, pipx |
| Ralph TUI | native |
| Tokscale | bun, npm |
| Tunacode CLI | npm |
## Architecture
AgentManager consists of two binaries:
1. **`agentmgr`** - Main CLI/TUI application for interactive use
2. **`agentmgr-helper`** - Background systray helper with notifications
### Library Usage
AgentManager can be used as a Go library:
```go
import (
"github.com/kevinelliott/agentmanager/pkg/detector"
"github.com/kevinelliott/agentmanager/pkg/catalog"
"github.com/kevinelliott/agentmanager/pkg/installer"
)
// Create a detector
d := detector.New(platform.Current())
// Detect all installed agents
installations, err := d.DetectAll(ctx, agentDefs)
// Install an agent
mgr := installer.NewManager(platform.Current())
result, err := mgr.Install(ctx, agentDef, method, false)
```
## Configuration
Configuration is stored in:
- macOS: `~/Library/Preferences/AgentManager/config.yaml`
- Linux: `~/.config/agentmgr/config.yaml`
- Windows: `%APPDATA%\AgentManager\config.yaml`
Example configuration:
```yaml
catalog:
refresh_interval: 1h
github_token: "" # Optional: for higher rate limits
detection:
cache_duration: 1h # How long to cache detected agents
update_check_cache_duration: 15m # How long to cache update check results
cache_enabled: true # Set to false to always detect fresh
updates:
check_interval: 6h
auto_check: true
notify: true
ui:
theme: auto
compact: false
use_colors: true # Set to false to disable colored output
logging:
level: info
file: ""
```
## Development
### Prerequisites
- Go 1.24+
- Make
- golangci-lint (for linting)
### Building
```bash
# Build all binaries
make build
# Run tests
make test
# Run linter
make lint
# Run all checks (fmt, vet, lint, test)
make check
# Run tests with coverage
make test-coverage
```
### Project Structure
```
agentmgr/
├── cmd/
│ ├── agentmgr/ # CLI/TUI binary
│ └── agentmgr-helper/ # Systray binary
├── pkg/ # Public library packages
│ ├── agent/ # Agent types, versions
│ ├── catalog/ # Catalog management
│ ├── detector/ # Agent detection
│ ├── installer/ # Installation management
│ ├── storage/ # SQLite storage
│ ├── config/ # Configuration
│ ├── ipc/ # IPC communication
│ ├── api/ # gRPC & REST APIs
│ └── platform/ # Platform abstraction
├── internal/
│ ├── cli/ # CLI commands
│ ├── tui/ # TUI interface
│ └── systray/ # Systray helper
└── catalog.json # Default agent catalog
```
## License
MIT License - see [LICENSE](LICENSE) for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request