Skip to main content

A local MCP server that acts as a progressive technical coach for Claude Code and Claude Desktop

Project description

devcoach

PyPI Python CI Quality Gate Coverage Docs License

Progressive technical coaching, directly in Claude. After every task you complete with Claude Code or Claude Desktop, devcoach delivers a short, targeted lesson based on what you already know — no generic tutorials, no repeated topics.


How it works

Step What happens
You complete a task with Claude Claude finishes the work as normal
devcoach checks your knowledge map Finds a topic where you have room to grow, related to what you just did
A lesson appears at the end of the response Calibrated to your level (junior / mid / senior), never repeated
You mark it know / don't know Confidence scores update, shaping future lessons

Everything runs locally. No data leaves your machine. One SQLite file at ~/.devcoach/coaching.db.


Screenshots

Knowledge map Lesson history Settings
Knowledge map Lessons Settings

Installation

Recommended — no permanent install needed

uvx devcoach

Permanent install

uv tool install devcoach

Then register with Claude:

devcoach install

Restart Claude Code or Claude Desktop after installing.

Requirements: uv · Python 3.11+ · Claude Code or Claude Desktop


Quick start

1. Install and register

uv tool install devcoach
devcoach install          # writes MCP entry to Claude config
# Restart Claude Code / Claude Desktop

2. Onboarding (first session)

Open Claude and start a task. devcoach will detect that setup is needed and guide you through:

  • Import — restore from an existing backup zip, or
  • Auto-detect — Claude scans your project files and proposes your tech stack, or
  • Manual — you describe what you work with in plain conversation

Claude then proposes logical groups (Languages, Backend, DevOps, etc.) for your topics, and saves your knowledge map.

3. Work normally

You: Refactor this function to use async/await.
Claude: [does the work]

---
🎓 devcoach · Python · Level: Mid

**Structured concurrency with asyncio.TaskGroup**

TaskGroup (Python 3.11+) is the modern replacement for bare gather() calls.
Unlike gather(), it cancels sibling tasks automatically when one raises...

4. Give feedback

Use the web dashboard or CLI to record whether you understood the lesson:

devcoach feedback lesson-python-taskgroup-001 know      # understood — +1 confidence
devcoach feedback lesson-python-taskgroup-001 dont_know # need to revisit — −1 confidence

CLI reference

Command Description
devcoach setup Run the onboarding wizard in the terminal
devcoach install Register with Claude Code / Claude Desktop
devcoach profile Show your knowledge map with confidence bars
devcoach stats Overview: lesson counts, weakest/strongest topics
devcoach lessons Browse lesson history with filters
devcoach lesson <id> Show a single lesson in full
devcoach star <id> Toggle starred flag
devcoach feedback <id> <know|dont_know|clear> Record comprehension
devcoach set max_per_day <n> Max lessons in a 24-hour window (default 2)
devcoach set min_gap_minutes <n> Minimum minutes between lessons (default 240)
devcoach ui Open the web dashboard at http://localhost:7860
devcoach backup [output.zip] Export knowledge + lessons + settings
devcoach restore <backup.zip> Restore from a backup

Full reference: docs/cli.md


Web dashboard

devcoach ui

Opens at http://localhost:7860. Pages:

  • Knowledge map — confidence bars for all your topics, edit mode for adjustments
  • Lessons — filterable, sortable table of your full lesson history
  • Settings — rate limits, import/export, backup

Full reference: docs/web-ui.md


MCP server (for Claude integration)

devcoach implements the MCP 2025-11-25 spec via FastMCP.

Manual Claude config (if devcoach install isn't available):

{
  "mcpServers": {
    "devcoach": {
      "type": "stdio",
      "command": "uvx",
      "args": ["devcoach"]
    }
  }
}

Full MCP reference (tools, resources, data models): docs/mcp-server.md


Documentation

Document Description
Getting started Installation, onboarding, first lesson
CLI reference All commands with examples
MCP server reference Tools, resources, data models
Web UI Dashboard pages and controls
Configuration Rate limits, data location, schema, backup

Configuration

devcoach set max_per_day 3        # up to 3 lessons per day
devcoach set min_gap_minutes 120  # at least 2 hours between lessons

Settings are stored in ~/.devcoach/coaching.db. See docs/configuration.md for all options.


Publishing a new release

Tag a commit with v* to trigger the CI/CD pipeline:

git tag v1.2.3
git push origin v1.2.3

The pipeline will lint, test across Python 3.11–3.13, build, publish to PyPI via OIDC Trusted Publishing, and create a GitHub Release automatically.

First-time PyPI setup: configure a Trusted Publisher on PyPI for UltimaPhoenix/dev-coach (environment: pypi, workflow: ci.yml). No API token required after that.


License

Copyright 2026 UltimaPhoenix

Licensed under the Apache License, Version 2.0.

What this means for you:

  • Free to use, modify, and distribute
  • Commercial use and modifications must:
    • Include a copy of this license
    • State any changes made to the files
    • Retain all copyright and attribution notices
    • Include the NOTICE file in any derivative distribution
  • You may not use the devcoach name or branding to endorse derived products without permission

See NOTICE for third-party attributions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devcoach-0.3.6.tar.gz (947.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devcoach-0.3.6-py3-none-any.whl (311.0 kB view details)

Uploaded Python 3

File details

Details for the file devcoach-0.3.6.tar.gz.

File metadata

  • Download URL: devcoach-0.3.6.tar.gz
  • Upload date:
  • Size: 947.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for devcoach-0.3.6.tar.gz
Algorithm Hash digest
SHA256 f8d46b334f1541f22170baa63644443f931ccfbe05c0aa858b8e9da6b197e0b7
MD5 3fc0e91b49d0e9a3b25a3946d2c16a88
BLAKE2b-256 60c1065d5891340023c1cad0b19e251fa867c4e028bb880d48d584e481ae2b84

See more details on using hashes here.

Provenance

The following attestation bundles were made for devcoach-0.3.6.tar.gz:

Publisher: ci.yml on UltimaPhoenix/dev-coach

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file devcoach-0.3.6-py3-none-any.whl.

File metadata

  • Download URL: devcoach-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 311.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for devcoach-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 785eae3bee80700f0244d0155a83def7bf959e7be0c415dc71097136ee351b54
MD5 52f222a4445ad9cd4140837bc52d383b
BLAKE2b-256 6ca5f63285adbad70ba3579e58551cfd4ff30c17341f89b3323e19aa27331145

See more details on using hashes here.

Provenance

The following attestation bundles were made for devcoach-0.3.6-py3-none-any.whl:

Publisher: ci.yml on UltimaPhoenix/dev-coach

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page