Wingman CLI
A powerful AI-powered coding assistant that runs directly in your terminal. Wingman helps you with coding tasks by reading files, executing commands, editing code, and writing new files β all through natural conversation.

β¨ Features
- Interactive TUI β Rich terminal interface with markdown rendering and syntax highlighting
- File Operations β Read, write, edit, and search files in your codebase
- Shell Integration β Execute shell commands with elicitation
- MCP Support β Extend functionality with Model Context Protocol servers
- Context Management β Automatic conversation compaction to handle long sessions
- Multi-Model Support β Works with any OpenResponses API compatible endpoint with auto-selection
- Rewind & Diff β Checkpoint-based undo with visual diff viewer
- Skills β Define custom workflows using Agent Skills format
- Image Support β Paste images from clipboard for vision-capable models
- File Context β Add files to context with
@filename or /file command
- Theme Detection β Automatic light/dark theme based on terminal settings
π¦ Installation
From Source
go install github.com/adrianliechti/wingman-cli@latest
Build Locally
git clone https://github.com/adrianliechti/wingman-cli.git
cd wingman-cli
go build -o wingman .
π Quick Start
- Set up your API key:
# For any OpenResponses API compatible endpoint
export OPENAI_API_KEY="your-api-key"
# Optional: custom endpoint (defaults to OpenAI)
export OPENAI_BASE_URL="https://your-api-endpoint/v1"
- Run Wingman in your project directory:
wingman
- Start chatting! Ask Wingman to help with coding tasks:
> Show me all TODO comments in this project
> Refactor the config package to use dependency injection
> Write tests for the agent module
βοΈ Configuration
Environment Variables
| Variable |
Description |
OPENAI_API_KEY |
OpenAI API key (required) |
OPENAI_BASE_URL |
Custom OpenAI-compatible API endpoint |
OPENAI_MODEL |
Model to use (auto-selected if not specified) |
Alternative: Wingman Server
| Variable |
Description |
WINGMAN_URL |
Wingman server URL (takes priority over OpenAI vars) |
WINGMAN_TOKEN |
Wingman authentication token |
WINGMAN_MODEL |
Model to use |
Project Configuration
Create an AGENTS.md file in your project root to provide context-specific instructions:
# Project Guidelines
- Use Go 1.25+ features
- Follow standard Go project layout
- Write tests for all new functionality
MCP Integration
Add a mcp.json file to integrate with MCP servers:
{
"servers": {
"my-server": {
"command": "npx",
"args": ["-y", "@my-org/my-mcp-server"]
}
}
}
Wingman comes with powerful built-in tools:
| Tool |
Description |
read |
Read file contents with optional line range |
write |
Create or overwrite files |
edit |
Make surgical edits to existing files |
ls |
List directory contents |
find |
Find files using glob patterns |
grep |
Search file contents using regex patterns |
shell |
Execute shell commands |
π¨ Modes
- Agent Mode β Full autonomous operation with tool execution
- Plan Mode β Planning and analysis without making changes
Toggle between modes using Tab key.
β¨οΈ Keyboard Shortcuts
| Shortcut |
Action |
Enter |
Send message |
Tab |
Toggle Agent/Plan mode |
Shift+Tab |
Cycle through available models |
@ |
Open file picker to add context |
Ctrl+V / Cmd+V |
Paste image from clipboard |
Ctrl+L |
Clear chat history |
Escape |
Clear input and pending attachments |
Ctrl+C |
Close modal or exit |
π Commands
| Command |
Description |
/help |
Show available commands |
/model |
Select AI model from available options |
/file |
Add file to context |
/paste |
Paste from clipboard |
/plan |
Show current plan |
/diff |
Show changes from session baseline |
/rewind |
Restore to previous checkpoint |
/clear |
Clear chat history |
/quit |
Exit application |
π§ Skills
Skills are reusable workflows defined in SKILL.md files. Wingman discovers skills from:
.skills/
.github/
.claude/
.opencode/
Example skill file (.skills/testing/SKILL.md):
---
name: run-tests
description: Run the project test suite with coverage
---
# Testing Skill
Run tests with: `go test -cover ./...`