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.
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:
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."
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.
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
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
BodhiKit will:
- Ask why you want to learn Rust, what your programming background is, and your timeline
- Assess your current knowledge through adaptive questions (starting at Level 3, adjusting up or down based on your answers)
- Build a personalized learning plan with phases, modules, and exercises
- Create a project folder (
learningWithBodhi/rust-basics/) with tracking files - 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
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"
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
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
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
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
Scenario 5: "I do not understand closures"
/bodhikit:explain closures
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
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
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:
-
/bodhikit:continue— resume your project - Review any concepts due for spaced repetition (5 minutes)
- Continue with the current module (15 minutes)
-
/bodhikit:quiz— test what you learned (5 minutes) - 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
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.
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.
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.
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.
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.
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

Top comments (0)