https://github.com/user-attachments/assets/fa5c0cfe-06e7-4c0d-bd6e-8ac7cb934339
https://github.com/user-attachments/assets/6d2bc422-a4dd-4ecf-a04b-fcd3bea7fea9
If Gentle-AI made your agent worth trusting, a star helps other people find it.
WORKS WITH THE AGENT YOU ALREADY HAVE
Pi · OpenCode · Claude Code · Codex · Cursor · VS Code Copilot · Gemini CLI · Kilo Code Kimi Code · Kiro IDE · Qwen Code · Hermes · Antigravity · Windsurf · OpenClaw · Trae · Conductor
17 integrations · native configuration · compare capabilities →
Features
Engram™ — Keep your project context
The cost of a fresh session is not the tokens — it is you, re-explaining the same decisions every morning. Engram removes that: your agent writes down what it learns as it goes and reaches for it before it reaches for you, so context accumulates instead of resetting.
ODD — Keep small work small
Small changes should not need a planning pipeline, and larger work should not lose its context between sessions. Organic Driven Development (ODD) keeps understood changes lightweight and gives substantial, authorized work one recoverable feature document. Questions, reviews and proposals stay read-only until you ask for a change. The agent explores before changing code, checks the results, and keeps progress current so work can resume without rebuilding the plan.
Tasks are sized by understanding, risk, and resumability, never by file count. A small task — understood, with contained risk, and resumable from the diff alone — runs inline: no subagents, no task document. Work becomes large only when it can't be resumed from the diff — several sessions, external waits, or requirements too long to survive compaction — never because of its size. The feature document of a large task holds your spec verbatim, and every handoff points at it instead of paraphrasing it.
https://github.com/user-attachments/assets/857a2195-34b8-4720-87af-f71bca3dec92
Delegate for a reason — Not for size
A subagent costs a fresh session, uncached reads, and a handoff. So the orchestrator delegates only when it can name the reason:
A trigger holds only when its condition truly holds; none holds by default, and when in doubt the parent works inline. Without a reason the parent writes inline, following its feature document. File count, task size, or a model price ratio never decide the route on their own.
https://github.com/user-attachments/assets/ccd96c9e-e0fd-4504-ad94-0302398f13a9
Measured — What proportional routing changed
The routing rules above came from benchmarks, not intuition. These are Gentle Shell runs on a local benchmark with hidden acceptance suites; each cell is a single run (n=1), and cost is API-equivalent.
Against the same model in Codex CLI, with blind review of every solution, Gentle Shell was accepted on the first round in every cell and ranked higher on the medium (3 of 3 runs) and large tasks; it was close on the small one. The large task still took about three times longer (17.5–17.9 min vs 6.1 min) — that gap is open work. Sources: gentle-shell#1723, #1794, #1713.
Test-first by default — Prove each requested rule
ODD applies test-first development by default when a relevant runnable test and a clear expected outcome exist: capture a failing behavior test before implementation, make it pass, then refactor while tests stay green. Each requested rule gets one RED test, each touched existing command or option gets one test proving its previous behavior still holds, and nothing else is padded in. Without a meaningful runnable test, the agent explains the exception and runs applicable functional checks anyway.
RDD — Check finished work at the right depth
Receipt-Driven Development (RDD) is on by default and opt-out: run gentle-ai review mode disable to turn it off. Explicit global or clone-local OFF choices remain OFF. Its point is that a review cannot drift: the candidate is frozen before anything reads it, so the evidence belongs to the exact version you are about to rely on — not to whatever the worktree looked like a moment later. The depth comes from that frozen candidate rather than from the model's judgment, and the result is informational. Commit, push and release stay your call.
Review is proportionate: an automatic review is due only for a high-risk candidate, and the agent can name the 4R lenses that fit what it touched — with a reason frozen alongside the authority — instead of paying for all four. Verification by risk tier covers the rest.
https://github.com/user-attachments/assets/9d3b176f-6e59-48f3-aba2-1196f20a4a6f
Deterministic by design — Know the next valid step
A model that guesses the next step guesses differently tomorrow, and differently again for your teammate. That is the gap between a workflow and a suggestion. The gentle-ai binary owns native RDD review transitions; ODD guidance keeps ordinary work proportional to the request. Review evidence is bound to the candidate rather than a model's recollection.
Gentle Shell — A complete workspace for Pi
Gentle Shell is a separate Pi integration package. Gentle AI configures supported agents; Gentle Shell owns its own Pi runtime, agents, and interface. Installing or updating this binary does not itself establish Pi behavior parity.
On a clean machine, the Gentle Shell installers set up a self-contained, bundled Gentle Shell with its exact Pi, its pinned Gentle AI, and Engram.
17 agents — Keep the agent you already use
Gentle-AI brings its shared workflow to Pi, OpenCode, Claude Code, Codex, and thirteen more agents. Each integration uses that agent's native capabilities, so available features such as delegation and RDD review can differ.
Also in the box
Every component, skill and preset: Full breakdown →
Get started
# macOS (Homebrew)
brew install gentleman-programming/tap/gentle-ai
# macOS / Linux (curl)
curl -fsSL https://raw.githubusercontent.com/Gentleman-Programming/gentle-ai/main/scripts/install.sh | bash
# Windows (PowerShell) — source install of the latest release, needs Go 1.25.10+
go install github.com/gentleman-programming/gentle-ai/v4/cmd/[email protected]
When the install directory is not on your PATH yet, install.sh adds one marked line (# gentle-ai installer) to the startup file your shell reads: ~/.zshrc for zsh, ~/.bashrc for bash on Linux, for bash on macOS the first existing of ~/.bash_profile, ~/.bash_login, or ~/.profile (else ~/.bash_profile), a conf.d file for fish, and ~/.profile otherwise. install.ps1 adds the directory to your user Path. Open a new terminal afterwards, or run the command the installer prints under Current terminal: to use gentle-ai in the current one. If the startup file is a symlink or cannot be edited, nothing is written and the installer prints the line to add yourself.
go install never changes your PATH. It puts gentle-ai in $(go env GOBIN) or, when that is unset, in $(go env GOPATH)/bin (usually ~/go/bin), and Go's Linux and macOS setups do not add that directory for you. If gentle-ai is not found after go install, add it once and open a new terminal (use your GOBIN directory instead when it is set, and ~/.zshrc for zsh):
echo "export PATH=\"$(go env GOPATH)/bin:\$PATH\"" >> ~/.bashrc
To install main with the PATH set up for you, use install.sh --channel beta, which runs go install from main and then adds its directory as described above:
curl -fsSL https://raw.githubusercontent.com/Gentleman-Programming/gentle-ai/main/scripts/install.sh | bash -s -- --channel beta
gentle-ai # pick your agents, components and persona
gentle-ai doctor # verify — read-only, changes nothing
If doctor cannot read state.json, inspect the reported file and parent directory's access; for permission errors, check permissions and ownership. Keep the existing state file. For invalid JSON, restore a valid backup or repair the content while preserving your installation settings. Then re-run gentle-ai doctor; it never changes the file or its permissions.
Then use your agent normally. Your configs are snapshotted before every write, and Gentle-AI never installs an AI agent for you — it configures what you already have.
Beta channel and per-distro prerequisites: Quickstart → · Signature verification: Release signing →
Documentation
Community
Everything labelled up-for-grabs is scoped, approved and unclaimed — pick one and it's yours.
Built with Gentle-AI
Shipped something with Gentle-AI? Wear the rose. Paste this into your README and the badge links back here:
<a href="https://github.com/Gentleman-Programming/gentle-ai">
<img width="220" src="https://raw.githubusercontent.com/Gentleman-Programming/gentle-ai/main/docs/assets/brand/built-with-gentle-ai.png" alt="Built with Gentle-AI" />
</a>
Prefer plain Markdown?
[](https://github.com/Gentleman-Programming/gentle-ai)
Keep the image URL exactly as shown — it is how I find and feature the projects that carry the badge.
About the author
Built by Alan Buscaglia (Gentleman Programming): 15 years of enterprise architecture, a community of thousands of developers testing these tools daily, and one rule for AI-assisted work — verifying beats generating.
Teams adopting AI and finding it isn't working — resistance, everyone prompting their own way, no shared quality bar — can reach out about engagements built on these same open-source tools →.
Trademark notice: The Gentle AI™ and Engram™ names and logos are trademarks of Alan Buscaglia. Both marks are used throughout this document; the symbol appears on the first prominent mention of each, and this notice covers the rest. The MIT License applies to the code; it does not permit implying endorsement or official affiliation. See TRADEMARKS.md.