English · 简体中文
An AI coding tutor that runs locally: turn learning goals into a roadmap and lessons, practice in real projects, and get assessed using real execution results.
Quick start · Documentation · Contributing · Security
TeachMeCoding creates a separate learning space for each learning goal. The teaching agent clarifies your needs, plans a learning roadmap, and writes lessons. You practice in the built-in IDE and local terminal, and coding submissions run on your machine before the model evaluates the results. All data is stored locally in SQLite and project directories, and the entire application runs in a single Node process.
Warning
The agent can read files, run Bash commands, and access the network with the permissions of the system account running the server. It is not a sandbox. Run it only in an environment where you trust the model, tools, and reference materials. See SECURITY.md.
- Features
- Project status
- Quick start
- Usage
- Configuration
- Documentation
- Contributing
- Acknowledgments
- License
- A complete learning workflow: clarify your needs → plan a roadmap → study lessons and practice coding → receive assessments and feedback.
- An adaptable learning roadmap: organized into stages and units, with units unlocking in order once lessons for preceding units are ready.
- Real projects and terminals: each learning space has a project directory on disk. The editor saves as you type, and the terminal is a real shell.
- Assessments backed by execution evidence: coding submissions run locally and their output is checked, with support for Python, JavaScript, TypeScript, Rust, and Bash.
- Approve changes before they take effect: roadmap adjustments, lesson rewrites, file edits, and learning conclusions are presented as proposals. You can also enable YOLO mode per conversation to accept them automatically.
- Multiple model providers: connect through Pi, with API key or OAuth sign-in and visible context usage.
- Reference library: upload reference materials in any format for the agent to read as needed.
- Web access: 14 optional search services (including DuckDuckGo, which requires no API key), plus built-in web fetching.
- MCP and Skills: add MCP servers in Settings, and browse and install Skills from skills.sh.
- English and Simplified Chinese interfaces, with light and dark themes.
![]() |
![]() |
| Lessons and coding practice | Full-screen IDE and local terminal |
Screenshots show an isolated, locally running demo learning space with English demo content, not a live model run.
Version 0.2.0 is an early release. Features, interfaces, and data formats may change.
Supports macOS and Linux (Ubuntu/Debian) only; Windows is unsupported.
Local verification with Node 24.15.0 covers installation, type checks, build, tests, and SQLite/PTY checks on macOS 26 / arm64 and in a non-root Debian 12 / arm64 Docker environment. macOS also has Google Chrome browser execution coverage. Linux browser checks are x86_64-only; Linux arm64 has backend/native verification only. Intel Macs remain unverified. See the development guide for test commands and CI coverage.
Native dependencies (better-sqlite3 and node-pty) need Python 3 and compiler tools when prebuilt binaries are unavailable. The macOS node-pty patch always builds from source.
| OS | Native build prerequisites |
|---|---|
| macOS | Python 3 and Xcode Command Line Tools (xcode-select --install) |
| Linux (Ubuntu/Debian) | sudo apt-get update && sudo apt-get install -y git bash build-essential python3 |
For coding assessments, install any additional language toolchains you need, such as rustc, and make them available on PATH. Python assessments require python3. The Agent does not automatically install missing toolchains.
Download teach-me-coding-0.2.0.tar.gz and SHA256SUMS from GitHub Releases. The same archive works on both supported platforms: it contains prebuilt server and frontend assets, but not Node.js or dependencies. Install the prerequisites above and reopen your terminal so the updated PATH takes effect.
npm install --global pnpm@11.1.0
tar -xzf teach-me-coding-0.2.0.tar.gz
cd teach-me-coding-0.2.0
pnpm install --frozen-lockfile
pnpm startVerify the downloaded archive with shasum -a 256 -c SHA256SUMS on macOS or sha256sum -c SHA256SUMS on Linux before extracting it.
To build from source instead:
git clone https://github.com/liangxiao777/TeachMeCoding.git
cd TeachMeCoding
pnpm install --frozen-lockfile
pnpm build
pnpm startOpen http://127.0.0.1:4310. For development from a source checkout, use pnpm dev instead (frontend at http://127.0.0.1:5173); see the development guide.
Open Settings → Model configuration and choose a provider, model, and sign-in method. Credentials are stored only in the local data directory (default: ~/.teach-me-coding/) and are never sent back to the browser.
- Describe what you want to learn on the home page, for example: “I want to learn Rust and build a command-line tool.”
- Answer the agent's questions about your background, goals, and schedule, then confirm the requirements summary.
- Review the generated learning roadmap and ask the agent to adjust it if needed.
- Work through each unit's lessons, practice in the IDE and terminal, and ask the agent questions whenever you need help.
- Complete the assessments and use the feedback to guide your next steps.
- Startup options (data directory, port, listen address, and more) are set through environment variables or a
.envfile in the project root. See.env.example. - Models, search, MCP, and Skills are managed in the application's Settings page.
By default, the server listens only on 127.0.0.1. Set HOST=0.0.0.0 to allow access over your local network, but there is no login authentication. Use this only on a trusted network.
See the configuration guide for all options, the data directory layout, and backup instructions.
- Configuration: startup options, models, data directory and backups, local network access, search, web fetching, MCP, and Skills
- Architecture: components, agent scenarios and tools, proposals and YOLO mode, run lifecycle, and local execution boundaries
- Development guide: development environment, project structure, and tests
- UI translation: translation conventions and checks
- Contributing: issue reporting and the pull request process
- Security policy: security model and vulnerability reporting
Bug reports and suggestions are welcome through Issues. Please read CONTRIBUTING.md before submitting a pull request.
- Pi: agent core, model integration, MCP client, and Skills loading
- AI Elements and shadcn/ui: conversation and input components
- OpenClaw: reference implementation for search and web fetching tools
- Skills CLI and skills.sh
- xterm.js, node-pty, better-sqlite3, Hono, CodeMirror
This project is open source under the Apache License 2.0.
Copyright 2026 lxiao (@liangxiao777)


