DEV Community

Cover image for BodhiKit: A Research-Backed AI Coding Tutor That Teaches You Instead of Writing Code For You
Anjan
Anjan

Posted on • Originally published at Medium

BodhiKit: A Research-Backed AI Coding Tutor That Teaches You Instead of Writing Code For You

The Problem With AI and Learning

AI tools are incredible at writing code. But writing code for you and teaching you to write code are two fundamentally different things.

When an AI writes your code, you get a working solution. When an AI teaches you to write code, you get a working brain.

Most AI coding tools optimize for the first. BodhiKit optimizes for the second.

What is BodhiKit?

BodhiKit is a free, open source plugin for Claude Code that turns Claude into an interactive coding tutor. The name comes from Pali, the language of early Buddhist texts. Bodhi means "awakening." Because learning, at its best, is exactly that.

It does not write code for you. It asks questions. It gives hints. It creates exercises. It tests your understanding. And it remembers where you left off, so every session builds on the last.

11 skills. 3 AI agents. 3 knowledge bases. Works with any programming topic: React, Rust, Python, Zig, system design, web development, databases, anything.

Bodhi Tree

The Philosophy

BodhiKit speaks with the voice of a wise, patient teacher. Think Master Oogway from Kung Fu Panda, Yoda, Gautama Buddha, and Dr. B.R. Ambedkar. Patient, honest, respectful, never condescending.

Three core principles:

  1. The learner writes code. BodhiKit asks questions. If you ask it to write code for you, it will gently redirect: "The learning happens when your hands are on the keyboard."

  2. Struggle is sacred. When you are stuck, BodhiKit gives the smallest hint that keeps you thinking. Not the answer. Productive struggle is where real learning happens.

  3. The goal is to become unnecessary. A good teacher does not create dependency. A good teacher creates independence.

The Science Behind It

BodhiKit is not built on vibes. It is built on decades of research in learning science:

Spaced Repetition (Ebbinghaus, Leitner): Your brain forgets 67% of new information within 24 hours. BodhiKit tracks every concept you learn and resurfaces it at optimal intervals. Get it right, and the interval grows. Get it wrong, and it comes back tomorrow. This is not flashcards. It is spaced problem-solving, code review, and concept re-explanation.

Bloom's Taxonomy (Bloom, Anderson): Not all knowledge is equal. "I can recall the syntax" is Level 1. "I can design a system from scratch" is Level 6. BodhiKit tracks your level per concept, not globally. You might be Level 5 on arrays and Level 2 on recursion. That granularity matters.

Zone of Proximal Development (Vygotsky): If a task is too easy, you learn nothing. If it is too hard, you shut down. The sweet spot is just beyond what you can do alone. BodhiKit calibrates every exercise to sit in that zone.

Feynman Technique: After explaining a concept, BodhiKit asks you to explain it back in your own words. No jargon. If you cannot explain it simply, you do not understand it yet. This is the single most powerful check for real understanding.

Deliberate Practice (Ericsson): Coding for 10 hours is not practice. Coding for 1 hour with targeted focus on your specific weakness, with immediate feedback, is practice. BodhiKit designs exercises that isolate one skill at a time and provide clear feedback.

Growth Mindset (Dweck): "You have not mastered this yet." The word "yet" changes everything. BodhiKit never says "that is wrong." It says "let us look at this differently."

Desirable Difficulties (Bjork): BodhiKit mixes problem types, varies contexts, and uses retrieval practice instead of re-reading. These feel harder in the moment but produce dramatically stronger long-term retention.

How to Install

You need Claude Code (Anthropic's CLI tool).

/plugin marketplace add https://codeberg.org/AnjanJ/bodhikit.git
/plugin install bodhikit@bodhikit
Enter fullscreen mode Exit fullscreen mode

Restart Claude Code after installing. That is it.

How to Use BodhiKit: Real Scenarios

Scenario 1: "I want to learn Rust from scratch"

/bodhikit:learn rust
Enter fullscreen mode Exit fullscreen mode

BodhiKit will:

  1. Ask why you want to learn Rust, what your programming background is, and your timeline
  2. Assess your current knowledge through adaptive questions (starting at Level 3, adjusting up or down based on your answers)
  3. Build a personalized learning plan with phases, modules, and exercises
  4. Create a project folder (learningWithBodhi/rust-basics/) with tracking files
  5. Give you your first exercise immediately. Not "go read the Rust Book." An actual exercise you can do in 5-10 minutes.

The next day, run:

/bodhikit:continue
Enter fullscreen mode Exit fullscreen mode

It picks up exactly where you left off. If concepts are due for spaced review, it starts there.

Scenario 2: "I am reading a book and want a teaching assistant"

Say you are working through "The Rust Programming Language" (the Rust Book):

/bodhikit:resources add "The Rust Programming Language"
Enter fullscreen mode Exit fullscreen mode

BodhiKit analyzes the book's structure and maps chapters to your learning plan. Then it can:

  • Quiz you on what you just read
  • Give you extra practice exercises on the same concepts
  • Explain concepts differently when the book's explanation does not click
  • Review your code from the book's exercises

It works as a TA, not a replacement. The book is the primary material. BodhiKit fills the gaps.

Scenario 3: "I want to check where I stand with React"

/bodhikit:assess react
Enter fullscreen mode Exit fullscreen mode

No learning project needed. It runs a standalone assessment: 8-12 adaptive questions, classifies your Bloom's level per sub-topic (JSX, components, hooks, state management, routing, etc.), and shows you where you stand.

If you want to go deeper after the assessment:

/bodhikit:learn react
Enter fullscreen mode Exit fullscreen mode

Your assessment becomes the starting point for the learning plan.

Scenario 4: "I wrote some code and want feedback"

/bodhikit:review ./my-project/src/app.tsx
Enter fullscreen mode Exit fullscreen mode

This is not a production code review. It is an educational review. BodhiKit analyzes what your code reveals about your understanding:

  • What concepts you demonstrate mastery of
  • What misconceptions are visible
  • What patterns you are ready to learn next

And instead of telling you what to fix, it asks Socratic questions: "I notice you used a for loop here. What do you know about array methods like map and filter?"

It also works with GitHub, GitLab, and Codeberg URLs:

/bodhikit:review https://github.com/username/repo
Enter fullscreen mode Exit fullscreen mode

Scenario 5: "I do not understand closures"

/bodhikit:explain closures
Enter fullscreen mode Exit fullscreen mode

BodhiKit explains the concept simply, with analogies, no jargon. Then it asks you to explain it back. Then it identifies the gaps in your explanation and helps you fill them. This is the Feynman Technique in action.

Scenario 6: "Give me something to practice"

/bodhikit:practice
Enter fullscreen mode Exit fullscreen mode

It creates an exercise calibrated to your current level:

  • Beginners get starter files with TODO comments and tests to run
  • Intermediate learners get requirements and test cases, no starter code
  • Advanced learners get a problem statement and nothing else

After you complete it, BodhiKit reviews your code educationally and suggests what to try next.

Scenario 7: "How far have I come?"

/bodhikit:evaluate
Enter fullscreen mode Exit fullscreen mode

This is the big picture. It reads your entire learning history, runs a fresh assessment, and compares where you started to where you are now. Growth map, strengths, gaps, recommendations, and a suggested project to solidify what you have learned.

The Daily Workflow

A typical 30-minute learning session:

  1. /bodhikit:continue — resume your project
  2. Review any concepts due for spaced repetition (5 minutes)
  3. Continue with the current module (15 minutes)
  4. /bodhikit:quiz — test what you learned (5 minutes)
  5. Say goodbye. BodhiKit saves your progress.

Consistency beats intensity. 30 minutes daily is better than 5 hours on a weekend.

What Makes This Different From ChatGPT / Copilot / Other AI Tools

Feature Typical AI Tool BodhiKit
Writes code for you Yes No. Guides you to write it yourself
Tracks your progress No Yes, per concept, across sessions
Spaced repetition No Yes, Leitner box system
Adapts to your level Sometimes Always, using Bloom's Taxonomy
Gives direct answers Yes No. Questions and hints only
Remembers where you left off No Yes, via .bodhi/ tracking files
Works with your books/courses No Yes, as a teaching assistant
Research-backed pedagogy No 10+ methodologies integrated

Tips for Getting the Most Out of BodhiKit

  1. Be honest about what you do not know. "I do not know" is the most useful answer you can give. It tells BodhiKit exactly where to focus.

  2. Do not skip spaced reviews. They feel like a detour, but they are the reason you will remember this in 3 months instead of forgetting it in 3 days.

  3. Type the code yourself. Do not copy from examples. Do not ask BodhiKit to write it. Your fingers on the keyboard is where the learning happens.

  4. Explain things out loud. When BodhiKit asks you to explain a concept back, actually do it. The Feynman Technique works because it forces you to confront what you do not understand.

  5. Take breaks. Your brain does important work during rest (diffuse mode thinking). After a focused session, walk away. The "aha moment" often comes in the shower, not at the keyboard.

  6. Trust the struggle. If it feels hard, you are learning. If it feels easy, you are reviewing. Both have value, but growth lives in the struggle.

Open Source

BodhiKit is free and open source (MIT license).

Repository: https://codeberg.org/AnjanJ/bodhikit

Contributions, feedback, and bug reports are welcome.

I also built ShipKit, a developer productivity plugin for Claude Code with 15 skills, 2 agents, and 6 path-scoped rules.


Made with ❤️ by Anjan

Buy me a coffee ☕

Top comments (0)