This page explains how gentle-ai is meant to be used. Not the flags, not the architecture -- just the mental model. If you read one page besides the README, make it this one.
Once you run gentle-ai and select your agent(s), components, and preset, the ecosystem is configured for normal use. You do not need to memorize SDD phases, hand-edit generated config files, or manually wire the agent workflow.
Open your AI agent in a project and start working. For richer project context, the agent may run /sdd-init or refresh the skill registry automatically when SDD needs it. You can also run those manually, but they are not required for basic usage.
Engram is persistent memory for your AI agent. It saves decisions, discoveries, bug fixes, and context across sessions -- automatically. The agent manages all of it via MCP tools (mem_save, mem_search, etc.).
Day-to-day: you don't need to do anything. The agent handles memory automatically.
But engram has useful tools when you need them:
| Command | When to use |
|---|---|
engram tui |
Browse your memories visually -- search, filter, drill into observations |
engram sync |
Export project memories to .engram/ for git tracking. Run after significant work sessions |
engram sync --import |
Import memories on another machine after cloning a repo with .engram/ |
engram projects list |
See all projects with observation counts |
engram projects consolidate |
Fix project name drift (e.g., "my-app" vs "My-App" vs "my-app-frontend") |
engram search <query> |
Quick memory search from the terminal |
Since v1.11.0, engram auto-detects the project name from git remote at startup, normalizes to lowercase, and warns if it finds similar existing project names. This prevents the name drift issue where the same project ends up with multiple name variants.
For full documentation: github.com/Gentleman-Programming/engram
SDD is a structured planning workflow for substantial features. It has phases (explore, propose, spec, design, implement, verify), but you do NOT need to learn any of them.
Here's how it actually works:
- Small request? The agent just does it. No ceremony.
- Substantial feature? The agent will suggest using SDD to plan it properly -- exploring the codebase, proposing an approach, designing the architecture, then implementing step by step.
- Want SDD explicitly? Just say "use sdd" or "hazlo con sdd" and the agent starts the workflow.
The agent handles all the phases internally. You just review and approve at key decision points.
If you want the project-level OpenSpec config convention SDD phases use for conventions, strict TDD, and testing metadata, see OpenSpec Config for SDD.
Multi-mode lets you assign different AI models to different SDD phases -- for example, a powerful model for design and a faster one for implementation.
Support depends on the agent:
| Agent | How multi-mode works |
|---|---|
| OpenCode | SDD Profiles generate gentle-orchestrator plus phase sub-agents in opencode.json |
| Kilo Code | OpenCode-compatible SDD profile overlay in ~/.config/kilo |
| Kiro IDE | Native phase agents with per-agent model: frontmatter |
| Pi | Owned by gentle-pi through Pi-managed agents, chains, and model overrides |
| Others | Single-mode SDD; one active model handles all phases |
Single-mode is not a downgrade. It is the simpler default and works well. Multi-mode is useful when you deliberately want cost, speed, or reasoning tradeoffs per phase.
If you want OpenCode profiles:
- Connect your AI providers in OpenCode first
- Create a profile via gentle-ai TUI ("OpenCode SDD Profiles") or CLI (
--profileflag) - The base/default SDD conductor is
gentle-orchestrator - Named profiles generate
sdd-orchestrator-{name}+ suffixed sub-agents, each assigned to your chosen model - In OpenCode, press Tab to switch between
gentle-orchestratorand custom profiles
You can create multiple profiles (e.g., "cheap" for experimentation, "premium" for production) and switch between them freely.
If you prefer a runtime profile manager that keeps profiles outside opencode.json, gentle-ai supports that too. During sync, OpenCode can auto-detect external profile files under ~/.config/opencode/profiles/*.json and switch to a safer compatibility path that preserves the active gentle-orchestrator prompt instead of overwriting it.
Full step-by-step guide: OpenCode SDD Profiles
For the complete support matrix, see Supported Agents.
When the orchestrator delegates work to a sub-agent (say, sdd-explore to investigate a codebase), that sub-agent is not a dumb executor running a single script. It's a full agent with its own session, tools, and context.
What makes them "super sub-agents":
-
The orchestrator keeps them focused. The parent/orchestrator resolves the skill registry once, passes the relevant
SKILL.mdpaths into each sub-agent prompt, and gives the child one concrete role. Sub-agents read exact skill files instead of receiving generated summaries. -
They adapt to your project. A
sdd-applysub-agent working on a React project receives React patterns. The same sub-agent working on a Go project receives Go testing conventions. The rules depend on the registry and task context, not a hardcoded list. -
They persist phase artifacts when the backend supports it. In Engram-backed SDD flows, phase agents save artifacts before returning. The next phase can pick up from the stored proposal, spec, design, tasks, or apply progress -- even across sessions.
This pattern works today in several delegation models:
| Model | Agents | How it runs |
|---|---|---|
| Full sub-agents | Claude Code, OpenCode, Kilo Code, Gemini CLI, Cursor, VS Code Copilot, Kimi Code, Kiro IDE, Qwen Code, Pi | Each SDD phase can run in a focused context through native delegation, package-managed subagents, or an OpenCode-compatible overlay |
| Hermes delegate_task | Hermes | The orchestrator spawns ephemeral workers with self-contained missions and verifies their summaries before reporting success |
| Solo-agent | Codex, Windsurf, Antigravity, OpenClaw, Trae | SDD phases run inline in one conversation; Engram still provides cross-phase persistence when available |
You don't need to configure any of this. The installer sets up the right model for your agent, and the orchestrator manages delegation automatically.
The orchestrator must stop acting as a monolithic executor when complexity appears:
- 4-file rule: reading 4+ files to understand a flow means delegate exploration or run an exploration phase.
- Multi-file write rule: touching 2+ non-trivial files means use one writer or require fresh review before completion.
- PR rule: before commit, push, or PR after code changes, run fresh review unless the diff is trivial (tier 1).
- Incident rule: after wrong cwd, worktree/git accident, merge recovery, confusing test command, or environment workaround, run a fresh audit before continuing.
- Long-session rule: after roughly 20 tool calls, 5 exploratory reads, or 2 non-mechanical edits with growing complexity, pause and delegate, re-plan, or justify why not.
- Fresh review rule: use fresh context for adversarial review of diffs, conflicts, PR readiness, and incidents when the agent platform supports it.
gentle-ai installs SDD skills and foundation skills (workflow, testing patterns) directly into your agent's skills directory. These are embedded in the binary and always up to date.
For coding skills (React 19, Angular, TypeScript, Tailwind, Zod, Playwright, etc.), the community maintains a separate repository: Gentleman-Programming/Gentleman-Skills. You install those manually by cloning the repo and copying the skills you want:
git clone https://github.com/Gentleman-Programming/Gentleman-Skills.git
cp -r Gentleman-Skills/curated/react-19 ~/.claude/skills/
cp -r Gentleman-Skills/curated/typescript ~/.claude/skills/
# ... or copy the entire curated/ directoryOnce installed, your agent detects what you're working on and loads the relevant skills automatically. You don't need to activate or invoke them.
The skill registry. The skill registry is a catalog of all available skills that the orchestrator reads once per session to know what's available and where. It needs to run inside each project you work on, because it also scans for project-level conventions (like CLAUDE.md, agents.md, .cursorrules, etc.).
How it works:
- The registry refreshes at startup where the agent supports hooks. Normal Pi startup runs the
gentle-pisession hook. Codex, Claude Code, and OpenCode rungentle-ai skill-registry refresh --quietfrom their installed startup/plugin hooks. - The refresh is cached. Gentle-AI fingerprints discovered
SKILL.mdfiles using schema version, path, mtime, and size. If.atl/.skill-registry.cache.jsonmatches and.atl/skill-registry.mdexists, startup is a cheap cache-hit. - The orchestrator uses it automatically -- once the registry exists, the orchestrator reads it at session start and passes exact matching
SKILL.mdpaths to sub-agents. You don't interact with the registry after that. - Manual fallback stays available -- run
gentle-ai skill-registry refresh --forcefrom a project if you want to regenerate immediately.
There's also an automated side: sdd-init runs the same registry logic internally, so if you use SDD in a new project, the registry gets built as part of that flow.
Pro tip: On Codex, Claude Code, OpenCode, and normal Pi startup you normally do not need to remember this. The startup hook refreshes the registry and the cache prevents unnecessary work. If you start Pi with pi -ns, Pi skips startup skill loading/hooks, so run the manual refresh when you need the registry updated in that session.
Gentle AI is an ecosystem configurator. It sets up your AI agent with memory, skills, workflows, and a persona -- then gets out of the way.
The less you think about gentle-ai after installing, the better it's working.
| Do | Don't |
|---|---|
| Run the installer, pick your agents and preset | Manually edit the generated config files |
| Just start coding with your AI agent | Memorize SDD phases or commands |
| Let the agent suggest SDD when a task is big enough | Force SDD on every small task |
| Trust that engram is saving context when installed and active | Dig into engram's storage unless you need engram sync or engram tui |
| Let startup hooks or SDD init refresh the skill registry | Manually rescan skills unless you need gentle-ai skill-registry refresh --force |
| Say "use sdd" if you know you want structured planning | Worry about which SDD phase comes next |
| Re-run the installer to update or change your setup | Manually patch skill files or persona instructions |