⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⡽⠟⠛⠻⣶⣄⠀⢀⣐⣒⣒⣶⣴⣾⡿⢷⣶⣽⡢⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡾⣿⣿⢿⠋⠀⠀⠀⠀⠀⠉⠛⠓⠒⠛⠚⠛⠉⣿⠀⠀⣧⡏⠻⣷⣽⡦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣻⡾⠋⣇⢸⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠉⠀⠀⢸⠙⠻⣿⣷⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⠋⠈⠀⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠈⡿⣷⣽⣇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣞⡿⠟⣟⠀⠀⠀⠀⠀⠀⠀⠀⠸⡆⠀⠀⠀⣆⠀⠀⡀⢸⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠈⠻⣯⡳⣄⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣽⠟⠁⠀⠘⠃⠀⠀⠀⠀⢰⡀⠀⠀⢹⡀⠀⠀⢸⡄⢀⣇⡾⣠⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣾⣅⠀⠀⠀⠀ ⣀⣀⣠⡴⠿⣅⠐⢦⡀⠀⠀⠀⠲⣄⠀⠀⣙⣦⣶⣾⣻⣶⣶⠾⠿⠾⢿⣿⣿⣻⢷⣢⢤⣀⠀⠀⠀⠀⠀⠀⠀⡀⠀⣴⠛⣿⣷⣄⡀⠀ ⠹⠿⢿⣷⣦⣼⣷⣤⣻⣶⣤⣀⣀⣬⣷⡯⠷⠾⢿⣿⣭⣄⣀⣀⣀⣀⣀⣤⣭⡿⠿⢾⣿⣿⣿⣦⣤⣤⣤⣶⢾⡷⣿⣷⣾⣷⣿⡿⠿⠟ ⠀⠀⠘⣿⡝⣿⡿⢻⣿⡿⢩⡞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠰⡄⠀⠀⠀⠀⠘⢦⠹⣮⢷⠹⣷⣿⠀⠀⠀ ⠀⠀⠀⠙⣷⣿⠁⡞⣾⠀⡞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⡇⠀⠀⠀⠀⠀⢸⡆⢸⢸⣦⡟⠁⠀⠀⠀ ⠀⠀⠀⠀⠈⢻⣄⡏⣿⠀⡇⠀⠀⠀⠀⠀⢰⠀⠀⠀⠀⠀⠀⠀⢐⣧⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⣼⡇⠘⣼⠏⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠙⠻⣧⣧⢣⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠸⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⢹⣠⡾⠃⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⢿⣧⡘⣆⠀⠀⠘⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠀⠀⣴⣷⣿⡋⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⠷⣤⣀⣹⣄⠀⠀⠀⠀⠀⠀⡇⠀⠀⢀⠀⡆⠀⠀⣀⣴⣧⣴⣟⠯⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠽⠿⠿⠷⠶⢤⣤⣴⣿⣦⣶⣾⣿⣷⣾⣻⣿⠝⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠛⠛⠛⠛⠛⠊⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
One command. Any agent. Any OS. The Gentleman AI ecosystem -- configured and ready.
- What It Does
- Quick Start
- Install
- Supported Agents
- Components
- Skills
- Presets
- Persona Modes
- Usage
- Dependency Management
- Supported Platforms
- Architecture
- Testing
- Relationship to Gentleman.Dots
- License
This is NOT an AI agent installer. Most agents are easy to install. This is an ecosystem configurator -- it takes whatever AI coding agent(s) you use and supercharges them with the Gentleman stack:
- Engram -- persistent cross-session memory
- SDD -- Spec-Driven Development workflow (plan before you code)
- Skills -- curated coding patterns (SDD workflow + foundation skills like Go testing and skill creation)
- MCP servers -- Context7 for real-time library documentation
- GGA -- Gentleman Guardian Angel AI provider switcher
- Persona & config -- security-first permissions, teaching-oriented persona, themes
Before: "I installed Claude Code / OpenCode / Cursor, but it's just a chatbot that writes code."
After: Your agent now has memory, skills, workflow, MCP tools, and a persona that actually teaches you.
curl -fsSL https://raw.githubusercontent.com/Gentleman-Programming/gentle-ai/main/scripts/install.sh | bashirm https://raw.githubusercontent.com/Gentleman-Programming/gentle-ai/main/scripts/install.ps1 | iexThis downloads the latest release for your platform and launches the interactive TUI. No Go toolchain required.
brew tap Gentleman-Programming/homebrew-tap
brew install gentle-aigo install github.com/gentleman-programming/gentle-ai/cmd/gentle-ai@latest# Option 1: PowerShell installer (downloads binary from GitHub Releases)
irm https://raw.githubusercontent.com/Gentleman-Programming/gentle-ai/main/scripts/install.ps1 | iex
# Option 2: Go install (requires Go 1.24+)
go install github.com/gentleman-programming/gentle-ai/cmd/gentle-ai@latestDownload the binary for your platform from GitHub Releases.
| Agent | ID | Skills | MCP | Sub-agents | Output Styles | Slash Commands | Config Path |
|---|---|---|---|---|---|---|---|
| Claude Code | claude-code |
Yes | Yes | Yes | Yes | No | ~/.claude |
| OpenCode | opencode |
Yes | Yes | Yes | No | Yes | ~/.config/opencode |
| Gemini CLI | gemini-cli |
Yes | Yes | Yes (experimental) | No | No | ~/.gemini |
| Cursor | cursor |
Yes | Yes | Yes | No | No | ~/.cursor |
| VS Code Copilot | vscode-copilot |
Yes | Yes | Yes | No | No | ~/.copilot + VS Code User profile |
All agents receive the full SDD orchestrator (agent-teams-lite) injected into their system prompt, plus skill files written to their skills directory. Every agent supports sub-agent delegation natively, enabling the full SDD orchestration workflow with parallel sub-agents.
- Gemini CLI sub-agents are experimental and require
experimental.enableAgents: trueinsettings.json. Custom sub-agents are defined as markdown files in~/.gemini/agents/. - Cursor supports async sub-agents (v2.5+) that can run in background and spawn nested sub-agent trees.
- VS Code Copilot uses the
runSubagenttool with support for parallel execution and custom agent definitions. - Output Styles are currently a Claude Code exclusive feature (
~/.claude/output-styles/). - Slash Commands are currently supported by OpenCode only.
- VS Code Copilot stores skills under
~/.copilot/skills/(global), system prompt underCode/User/prompts/gentle-ai.instructions.md, and MCP config underCode/User/mcp.json.
| Component | ID | Description |
|---|---|---|
| Engram | engram |
Persistent cross-session memory |
| SDD | sdd |
Spec-Driven Development workflow (9 phases) |
| Skills | skills |
Curated coding skill library |
| Context7 | context7 |
MCP server for live framework/library documentation |
| Persona | persona |
Gentleman, neutral, or custom behavior mode |
| Permissions | permissions |
Security-first defaults and guardrails |
| GGA | gga |
Gentleman Guardian Angel -- AI provider switcher |
| Theme | theme |
Gentleman Kanagawa theme overlay |
gentle-ai --component gga installs/provisions the gga binary globally on your machine.
It does not run project-level hook setup automatically (gga init / gga install) because that should be an explicit decision per repository.
After global install, enable GGA per project with:
gga init
gga install11 curated skill files organized by category, injected into your agent's configuration:
| Skill | ID | Description |
|---|---|---|
| SDD Init | sdd-init |
Bootstrap SDD context in a project |
| SDD Explore | sdd-explore |
Investigate codebase before committing to a change |
| SDD Propose | sdd-propose |
Create change proposal with intent, scope, approach |
| SDD Spec | sdd-spec |
Write specifications with requirements and scenarios |
| SDD Design | sdd-design |
Technical design with architecture decisions |
| SDD Tasks | sdd-tasks |
Break down a change into implementation tasks |
| SDD Apply | sdd-apply |
Implement tasks following specs and design |
| SDD Verify | sdd-verify |
Validate implementation matches specs |
| SDD Archive | sdd-archive |
Sync delta specs to main specs and archive |
| Skill | ID | Description |
|---|---|---|
| Go Testing | go-testing |
Go testing patterns including Bubbletea TUI testing |
| Skill Creator | skill-creator |
Create new AI agent skills following the Agent Skills spec |
These foundation skills are installed by default with both full-gentleman and ecosystem-only presets.
| Preset | ID | What's Included |
|---|---|---|
| Full Gentleman | full-gentleman |
All components + all skills + gentleman persona |
| Ecosystem Only | ecosystem-only |
All components + P0 skills + gentleman persona |
| Minimal | minimal |
Engram + Persona + Permissions only |
| Custom | custom |
You pick components, skills, and persona individually |
| Persona | ID | Description |
|---|---|---|
| Gentleman | gentleman |
Teaching-oriented mentor persona -- pushes back on bad practices, explains the why |
| Neutral | neutral |
Clean, professional tone -- no personality, just facts |
| Custom | custom |
Bring your own persona instructions |
Just run it -- the Bubbletea TUI guides you through agent selection, components, skills, and presets:
gentle-ai# Full ecosystem for multiple agents
gentle-ai install \
--agent claude-code,opencode,gemini-cli \
--preset full-gentleman
# Minimal setup for Cursor
gentle-ai install \
--agent cursor \
--preset minimal
# Pick specific components and skills
gentle-ai install \
--agent claude-code \
--component engram,sdd,skills,context7,persona,permissions \
--skill go-testing,skill-creator \
--persona gentleman
# Dry-run first (preview plan without applying changes)
gentle-ai install --dry-run \
--agent claude-code,opencode \
--preset full-gentleman| Flag | Description |
|---|---|
--agent, --agents |
Agents to configure (comma-separated) |
--component, --components |
Components to install (comma-separated) |
--skill, --skills |
Skills to install (comma-separated) |
--persona |
Persona mode: gentleman, neutral, custom |
--preset |
Preset: full-gentleman, ecosystem-only, minimal, custom |
--dry-run |
Preview the install plan without applying changes |
--version, -v |
Print version and exit |
gentle-ai auto-detects prerequisites before installation and provides platform-specific guidance:
- Detected tools: git, curl, node, npm, brew, go
- Version checks: validates minimum versions where applicable
- Platform-aware hints: suggests
brew install,apt install,pacman -S, orwinget installdepending on your OS - Dependency-first approach: detects what's installed, calculates what's needed, shows the full dependency tree before installing anything, then verifies each dependency after installation
| Platform | Package Manager | Status |
|---|---|---|
| macOS (Apple Silicon + Intel) | Homebrew | Supported |
| Linux (Ubuntu/Debian) | apt | Supported |
| Linux (Arch) | pacman | Supported |
| Windows 10/11 | winget | Supported |
Derivatives are detected via ID_LIKE in /etc/os-release (Linux Mint, Pop!_OS, Manjaro, EndeavourOS, etc.).
Release binaries are built for linux, darwin, and windows on both amd64 and arm64.
- winget is used as the default package manager (pre-installed on Windows 10/11).
- npm global installs do not require
sudoon Windows (user-writable by default). - curl is pre-installed on Windows 10+ and does not require separate installation.
- PowerShell is the default shell when
$SHELLis not set. - Release archives use
.zipformat on Windows (.tar.gzon macOS/Linux).
Some antivirus products can flag unsigned Go binaries heuristically.
Use the release checksum to verify integrity:
# 1) Download checksums.txt from the same release tag
# 2) Compute local hash
Get-FileHash .\gentle-ai_<VERSION>_windows_amd64.zip -Algorithm SHA256
# 3) Compare the hash with checksums.txt entry for that fileIf the hash matches checksums.txt, the file is authentic for that release.
| Agent | Windows Config Path |
|---|---|
| Claude Code | %USERPROFILE%\.claude\ |
| OpenCode | %USERPROFILE%\.config\opencode\ |
| Gemini CLI | %USERPROFILE%\.gemini\ |
| Cursor | %USERPROFILE%\.cursor\ |
| VS Code Copilot | %APPDATA%\Code\User\ (settings, MCP, prompts) + %USERPROFILE%\.copilot\ (skills) |
cmd/gentle-ai/ CLI entrypoint
internal/
app/ Command dispatch + runtime wiring
model/ Domain types (agents, components, skills, presets, personas)
catalog/ Registry definitions (agents, skills, components)
system/ OS/distro detection, dependency checks, platform guards
cli/ Install flags, validation, orchestration, dry-run
planner/ Dependency graph, resolution, ordering, review payloads
installcmd/ Profile-aware command resolver (brew/apt/pacman/winget/go install)
pipeline/ Staged execution + rollback orchestration
backup/ Config snapshot + restore
assets/ Embedded skill files + persona templates
components/ Per-component install/inject logic
engram/ sdd/ skills/ mcp/ persona/ theme/ permissions/ gga/
filemerge/ Marker-based file merging (inject without clobbering)
agents/ Agent adapters (config strategy per agent)
claude/ opencode/ gemini/ cursor/ vscode/
verify/ Post-apply health checks + reporting
tui/ Bubbletea TUI (Rose Pine theme)
styles/ screens/
scripts/ Installer scripts (bash + PowerShell)
e2e/ Docker-based E2E tests (Ubuntu + Arch)
testdata/ Golden test fixtures
# Unit tests
go test ./...
# Docker E2E (Ubuntu + Arch, requires Docker)
RUN_FULL_E2E=1 RUN_BACKUP_TESTS=1 ./e2e/docker-test.sh
# Dry-run smoke test (macOS/Linux)
gentle-ai install --dry-run --agent claude-code --preset minimal
# Dry-run smoke test (Windows PowerShell)
gentle-ai.exe install --dry-run --agent claude-code --preset minimalTest coverage:
- 26 test packages across the codebase
- 260+ test functions covering all agent adapters, components, and system detection
- 78 E2E test functions running in Docker containers (Ubuntu + Arch)
- 17 golden files for snapshot testing component output
- Full pipeline tested: detection, planning, execution, backup, restore, verification
- All 5 agent adapters have unit tests with cross-platform path validation
| Gentleman.Dots | AI Gentle Stack | |
|---|---|---|
| Purpose | Dev environment (editors, shells, terminals) | AI development layer (agents, memory, skills) |
| Installs | Neovim, Fish/Zsh, Tmux/Zellij, Ghostty | Configures Claude Code, OpenCode, Gemini CLI, Cursor, VS Code Copilot |
| Overlap | None -- complementary | None -- different layer |
Install Gentleman.Dots first for your dev environment, then AI Gentle Stack for the AI layer on top.
MIT