Skip to main content

Stay sharp while your AI does the work.

You're shipping more than ever and understanding less. devcoach fixes that with one lesson at a time, delivered right after your agent completes a task — in Claude Code, Claude Desktop, Gemini CLI, Codex CLI, Cursor and other MCP tools.


What happens

You work on a task with your AI agent as usual. When it finishes, devcoach appends a lesson:

### ──────── 🎓 devcoach ────────
**Promise.allSettled vs Promise.all — don't let one failure sink the batch** · TypeScript · Mid

Promise.all rejects the moment any promise rejects, and you lose the results of
the ones that already succeeded. For independent work (fan-out fetches, batch
writes) that's usually the wrong default.

Promise.allSettled always resolves, giving you a status for every promise:

const results = await Promise.allSettled(ids.map(fetchUser));
const ok = results.filter(r => r.status === "fulfilled").map(r => r.value);

Use Promise.all when the tasks are genuinely all-or-nothing; reach for
allSettled when partial success is meaningful and you want to report failures.

💡 *Senior tip:* for work that *should* cancel its siblings on failure, a shared
AbortController gives you all-or-nothing with prompt cancellation.
### ──────── typescript · mid ────────

Did that land? ✅ know (y) · ❌ don't know (n)

Using devcoach

Onboarding in one pass

The first time your agent connects, devcoach scans your local Claude Code history — every project you've worked in, file and activity metadata only — and builds your knowledge map (topics, confidence scores, groups) plus your coaching notebook in one pass, with no questions. You review the result afterwards, not before. Prefer more control? Automatic (Deep) is an opt-in tier that also reads your local session transcripts for a sharper profile; Guided walks through your stack in conversation; Import backup restores a previous profile.

Onboarding, step by step →

Feedback in one keystroke, coaching that stays quiet

Under every lesson card: Did that land? ✅ know (y) · ❌ don't know (n). Reply y or n to adjust your confidence on that topic — or just keep working: no reply means no change. By default devcoach delivers at most 2 lessons a day, at least 4 hours apart, cues one only every ~10 interactions per chat session, and never during plan-mode turns.

The feedback loop →

Your knowledge map, in a dashboard

devcoach ui opens a local dashboard: adjust confidence and groups inline, browse and filter your lesson history, tune the pacing and rate limits, back up or restore everything, and read your coaching notebook.

Knowledge mapKnowledge map
LessonsLessons

Terminal person? The same data is one command away: devcoach stats, devcoach lessons --period week, devcoach backup.

Web dashboard → · CLI reference →

Share what landed

A lesson that clicked for you is one click away from a teammate: as copyable text, a server-less link, or a .devcoach.md file — from the dashboard, the terminal or your agent. Imported lessons join the receiver's log as shared by you and never touch their daily limit. → Sharing lessons

The coaching notebook

Every lesson is tied to where it happened — project folder, repository, branch, commit — and your agent keeps a coaching notebook at ~/.devcoach/learning-state.md: written at onboarding, refreshed every 10 lessons, and yours to annotate. Flag what didn't click or mark what has sunk in, and the next lessons follow your notes. It stays local and it's optional.


How to get started

  1. Install — choose your method (Homebrew, Claude Code plugin, npx, or Claude Desktop)
  2. Let onboarding build your profile — one pass, no questions
  3. Start working — coaching happens automatically

Everything's local. No data leaves your machine. One SQLite file.


The main install methods

See all install methods for other options.


Why devcoach exists

AI agents now write much of our code. Velocity is up. So is a quieter cost: when the machine does the thinking, it's easy to accept the result and learn nothing from it.

Competence is built slowly. You can't cram it on demand. The moment you need it most — a correctness bug the model missed, a 2 a.m. outage, an architectural call the AI got wrong — the depth either exists or it doesn't.

devcoach's bet is simple: a few minutes of genuine learning, delivered in context and spaced across the work you already do, compounds. It's learning on the job, automated.

Read the full story →


Privacy by design

Everything stays on your machine. No telemetry, no accounts, no calls home. Just one SQLite file.

Privacy & security →


Roadmap & community


All guides