Skip to content

Gentleman-Programming/gentle-ai

Repository files navigation

⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⡽⠟⠛⠻⣶⣄⠀⢀⣐⣒⣒⣶⣴⣾⡿⢷⣶⣽⡢⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡾⣿⣿⢿⠋⠀⠀⠀⠀⠀⠉⠛⠓⠒⠛⠚⠛⠉⣿⠀⠀⣧⡏⠻⣷⣽⡦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣻⡾⠋⣇⢸⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠉⠀⠀⢸⠙⠻⣿⣷⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⠋⠈⠀⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠈⡿⣷⣽⣇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢀⣞⡿⠟⣟⠀⠀⠀⠀⠀⠀⠀⠀⠸⡆⠀⠀⠀⣆⠀⠀⡀⢸⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠈⠻⣯⡳⣄⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢀⣽⠟⠁⠀⠘⠃⠀⠀⠀⠀⢰⡀⠀⠀⢹⡀⠀⠀⢸⡄⢀⣇⡾⣠⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣾⣅⠀⠀⠀⠀
⣀⣀⣠⡴⠿⣅⠐⢦⡀⠀⠀⠀⠲⣄⠀⠀⣙⣦⣶⣾⣻⣶⣶⠾⠿⠾⢿⣿⣿⣻⢷⣢⢤⣀⠀⠀⠀⠀⠀⠀⠀⡀⠀⣴⠛⣿⣷⣄⡀⠀
⠹⠿⢿⣷⣦⣼⣷⣤⣻⣶⣤⣀⣀⣬⣷⡯⠷⠾⢿⣿⣭⣄⣀⣀⣀⣀⣀⣤⣭⡿⠿⢾⣿⣿⣿⣦⣤⣤⣤⣶⢾⡷⣿⣷⣾⣷⣿⡿⠿⠟
⠀⠀⠘⣿⡝⣿⡿⢻⣿⡿⢩⡞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠰⡄⠀⠀⠀⠀⠘⢦⠹⣮⢷⠹⣷⣿⠀⠀⠀
⠀⠀⠀⠙⣷⣿⠁⡞⣾⠀⡞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⡇⠀⠀⠀⠀⠀⢸⡆⢸⢸⣦⡟⠁⠀⠀⠀
⠀⠀⠀⠀⠈⢻⣄⡏⣿⠀⡇⠀⠀⠀⠀⠀⢰⠀⠀⠀⠀⠀⠀⠀⢐⣧⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⣼⡇⠘⣼⠏⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠙⠻⣧⣧⢣⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠸⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⢹⣠⡾⠃⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⢿⣧⡘⣆⠀⠀⠘⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠀⠀⣴⣷⣿⡋⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⠷⣤⣀⣹⣄⠀⠀⠀⠀⠀⠀⡇⠀⠀⢀⠀⡆⠀⠀⣀⣴⣧⣴⣟⠯⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠽⠿⠿⠷⠶⢤⣤⣴⣿⣦⣶⣾⣿⣷⣾⣻⣿⠝⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠛⠛⠛⠛⠛⠊⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

AI Gentle Stack

One command. Any agent. Any OS. The Gentleman AI ecosystem -- configured and ready.

Release License: MIT Go 1.24+ Platform


Table of Contents


What It Does

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.


Quick Start

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/Gentleman-Programming/gentle-ai/main/scripts/install.sh | bash

Windows (PowerShell)

irm https://raw.githubusercontent.com/Gentleman-Programming/gentle-ai/main/scripts/install.ps1 | iex

This downloads the latest release for your platform and launches the interactive TUI. No Go toolchain required.


Install

Homebrew (macOS / Linux)

brew tap Gentleman-Programming/homebrew-tap
brew install gentle-ai

Go install (any platform with Go 1.24+)

go install github.com/gentleman-programming/gentle-ai/cmd/gentle-ai@latest

Windows (PowerShell)

# 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@latest

From releases

Download the binary for your platform from GitHub Releases.


Supported Agents

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.

Notes

  • Gemini CLI sub-agents are experimental and require experimental.enableAgents: true in settings.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 runSubagent tool 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 under Code/User/prompts/gentle-ai.instructions.md, and MCP config under Code/User/mcp.json.

Components

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

GGA Behavior

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 install

Skills

11 curated skill files organized by category, injected into your agent's configuration:

SDD (Spec-Driven Development)

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

Foundation

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.


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 Modes

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

Usage

Interactive TUI

Just run it -- the Bubbletea TUI guides you through agent selection, components, skills, and presets:

gentle-ai

CLI Mode

# 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

CLI Flags

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

Dependency Management

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, or winget install depending 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

Supported Platforms

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.

Windows Notes

  • winget is used as the default package manager (pre-installed on Windows 10/11).
  • npm global installs do not require sudo on Windows (user-writable by default).
  • curl is pre-installed on Windows 10+ and does not require separate installation.
  • PowerShell is the default shell when $SHELL is not set.
  • Release archives use .zip format on Windows (.tar.gz on macOS/Linux).

Windows Security Verification

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 file

If the hash matches checksums.txt, the file is authentic for that release.

Windows Config Paths

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)

Architecture

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

Testing

# 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 minimal

Test 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

Relationship to Gentleman.Dots

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.


License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages