Skip to content

Commit d76e1ca

Browse files
Juan C. Guerrerowarp-agent
authored andcommitted
Initial commit: CodeSensei — Learn to code while you vibecode 🥋
Free, open-source Claude Code plugin by Dojo Coding. Contextual explanations, quizzes, and belt progression built into every vibecoding session. Co-Authored-By: Warp <agent@warp.dev>
0 parents  commit d76e1ca

File tree

30 files changed

+2377
-0
lines changed

30 files changed

+2377
-0
lines changed

.claude-plugin/plugin.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "code-sensei",
3+
"version": "1.0.0",
4+
"description": "Learn to code while you vibecode. Free, open-source AI mentor by Dojo Coding — contextual explanations, quizzes, and belt progression built into every Claude Code session.",
5+
"author": {
6+
"name": "Dojo Coding",
7+
"url": "https://dojocoding.io"
8+
},
9+
"homepage": "https://dojocoding.io/code-sensei",
10+
"repository": "https://github.com/dojocodinglabs/code-sensei",
11+
"license": "MIT",
12+
"keywords": [
13+
"learning",
14+
"education",
15+
"vibecoding",
16+
"beginner",
17+
"tutorial",
18+
"gamification",
19+
"code-sensei",
20+
"dojo-coding"
21+
]
22+
}

.gitignore

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# OS files
2+
.DS_Store
3+
Thumbs.db
4+
5+
# Editor files
6+
.vscode/
7+
.idea/
8+
*.swp
9+
*.swo
10+
11+
# Node (if any tooling is added later)
12+
node_modules/
13+
package-lock.json
14+
15+
# User profile data (this lives at ~/.code-sensei/, never in the repo)
16+
profile.json
17+
sessions.log
18+
session-changes.jsonl
19+
session-commands.jsonl

CONTRIBUTING.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Contributing to CodeSensei 🥋
2+
3+
Thank you for wanting to make coding education better! Here's how to help.
4+
5+
## Quick Contributions (No Code Required)
6+
7+
### 📝 Add Better Analogies
8+
The best contributions are often better ways to explain things. If you have a great analogy for a programming concept, open a PR editing the relevant skill file in `skills/`.
9+
10+
A nurse writes a medical analogy for error handling — now every nurse learning to code gets it. A marketer explains APIs using campaign brief terminology — now every marketer has that "aha" moment. **Your domain knowledge makes CodeSensei better for everyone.**
11+
12+
### 🧩 Add Quiz Questions
13+
Add questions to `data/quiz-bank.json`. Follow this format:
14+
```json
15+
{
16+
"belt": "white",
17+
"question": "Your question in plain language",
18+
"options": ["Wrong but plausible", "Correct answer", "Another plausible wrong answer"],
19+
"correct": 1,
20+
"explanation": "Why the answer is correct, teaching something even if they got it right",
21+
"hint": "One-line hint connecting to something they already know"
22+
}
23+
```
24+
25+
**Quiz quality rules:**
26+
- NEVER test syntax memorization — vibecoders don't need to memorize syntax
27+
- ALWAYS test concepts, understanding, and reasoning
28+
- Wrong answers should be plausible, not obviously wrong
29+
- Explanations should teach something new even if the user knew the answer
30+
31+
### 🌍 Translations
32+
We want CodeSensei to teach in every language. To add a translation:
33+
1. Create a directory: `skills/[language-code]/`
34+
2. Translate the SKILL.md files
35+
3. Add translated quizzes to the quiz bank
36+
37+
Priority languages: Spanish (es), Portuguese (pt), French (fr), Japanese (ja), Korean (ko)
38+
39+
## Code Contributions
40+
41+
### Setup
42+
```bash
43+
git clone https://github.com/dojocodinglabs/code-sensei.git
44+
cd code-sensei
45+
```
46+
47+
### Testing Locally
48+
```bash
49+
# Open Claude Code
50+
claude
51+
52+
# Add as local marketplace
53+
/plugin marketplace add .
54+
55+
# Install
56+
/plugin install code-sensei
57+
58+
# Test your changes
59+
/code-sensei:explain
60+
/code-sensei:quiz
61+
/code-sensei:progress
62+
```
63+
64+
### What We Need Help With
65+
- **New skill modules** — Python, Rust, mobile dev, Web3
66+
- **Smarter concept detection** in hook scripts
67+
- **Profile sync** — optional cloud sync for cross-device progress
68+
- **Leaderboard** — community leaderboard (opt-in)
69+
- **GitHub badge** — show your belt on your README
70+
71+
### PR Guidelines
72+
1. Keep it focused — one feature or fix per PR
73+
2. Test with Claude Code locally before submitting
74+
3. Update quiz-bank.json if adding new concepts
75+
4. Follow the existing tone: encouraging, simple, analogy-first
76+
77+
## Code of Conduct
78+
79+
Be kind. We're building a tool that helps people learn. Everyone is welcome regardless of skill level, background, or experience.
80+
81+
## Questions?
82+
83+
Open an issue or join us on [Discord](https://dojocoding.io/discord).
84+
85+
---
86+
87+
*CodeSensei by [Dojo Coding](https://dojocoding.io) — learn to code while you vibecode. Free. Open source.*

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Dojo Coding (dojocoding.io)
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
# 🥋 CodeSensei
2+
3+
### Learn to code while you vibecode — by [Dojo Coding](https://dojocoding.io)
4+
5+
**CodeSensei** is a free, open-source Claude Code plugin that teaches you programming while you build. Like Duolingo, but for coding — and instead of fake exercises, you learn from **your own projects** in real-time.
6+
7+
No prior coding experience needed. Seriously.
8+
9+
<!-- TODO: Add demo GIF here → real vibecoding session → CodeSensei explains → quiz → XP → belt promotion -->
10+
11+
---
12+
13+
## The Problem
14+
15+
10 million people are vibecoding — prompting AI to build apps without understanding a single line of code. They ship incredible things, but they learn **nothing**. The moment something breaks, they're stuck.
16+
17+
Traditional education says "learn first, then build." But vibecoders are already building. They're not going backwards.
18+
19+
## The Insight
20+
21+
The most powerful classroom is the one you're already sitting in.
22+
23+
Vibecoders don't lack curiosity — they lack **context**. When Claude creates a React component, they want to know what just happened. When it sets up a database, they want to know why.
24+
25+
The questions are already there. Nobody's answering them. **Until now.**
26+
27+
## The Solution
28+
29+
CodeSensei is an AI mentor that lives inside Claude Code. As you build, it explains what's happening, why decisions were made, and quizzes you along the way — all adapted to your skill level through a martial arts belt progression system.
30+
31+
You build your project. CodeSensei builds your understanding.
32+
33+
- 🧠 **Contextual learning** — explanations from *your actual code*, not generic examples
34+
- 🥋 **Belt progression** — White Belt to Black Belt, earned through real understanding
35+
- 🧩 **Micro-quizzes** — comprehension checks that earn XP, not memorization drills
36+
- 🔥 **Streaks & XP** — daily streaks and experience points that persist across projects
37+
- 🎯 **Adaptive difficulty** — set your background (marketing, design, finance) and get analogies from *your field*
38+
39+
---
40+
41+
## 🥋 Belt Progression System
42+
43+
```
44+
⬜ White Belt → 0 XP "You wrote your first prompt"
45+
🟡 Yellow Belt → 500 XP "You understand files & folders"
46+
🟠 Orange Belt → 1,500 XP "You get frontend vs backend"
47+
🟢 Green Belt → 3,500 XP "You can read and modify code"
48+
🔵 Blue Belt → 7,000 XP "You understand APIs & databases"
49+
🟤 Brown Belt → 12,000 XP "You can architect a full app"
50+
⚫ Black Belt → 20,000 XP "You think like an engineer"
51+
```
52+
53+
Every explanation, every quiz, every session earns XP. Every belt promotion is a milestone worth celebrating.
54+
55+
---
56+
57+
## 📦 Installation
58+
59+
```bash
60+
# In Claude Code:
61+
/plugin marketplace add dojocodinglabs/code-sensei
62+
/plugin install code-sensei
63+
```
64+
65+
That's it. Restart Claude Code and start building. CodeSensei is ready.
66+
67+
### Local Development
68+
69+
```bash
70+
git clone https://github.com/dojocodinglabs/code-sensei.git
71+
cd code-sensei
72+
73+
# In Claude Code:
74+
/plugin marketplace add .
75+
/plugin install code-sensei
76+
```
77+
78+
---
79+
80+
## 🎮 Commands
81+
82+
| Command | What it does |
83+
|---------|-------------|
84+
| `/code-sensei:explain` | Explain what Claude just did, in terms you understand |
85+
| `/code-sensei:quiz` | Test your understanding with a contextual quiz |
86+
| `/code-sensei:why` | Understand *why* Claude made a specific decision |
87+
| `/code-sensei:progress` | View your full learning dashboard |
88+
| `/code-sensei:recap` | End-of-session summary of everything you learned |
89+
| `/code-sensei:level` | Adjust difficulty or set your background field |
90+
| `/code-sensei:belt` | View your current belt rank and progress |
91+
92+
---
93+
94+
## 🧠 How It Works
95+
96+
1. **You vibecode normally** — prompt Claude to build whatever you want
97+
2. **Hooks track what happens** — file changes, commands run, technologies used
98+
3. **You ask when curious**`/explain`, `/quiz`, `/why` whenever you want to learn
99+
4. **CodeSensei adapts** — explanations match your belt level and background
100+
5. **You level up** — XP accumulates, belts are earned, skills unlock
101+
6. **Progress persists** — your profile lives at `~/.code-sensei/` and works across all projects
102+
103+
### Adaptive Teaching
104+
105+
CodeSensei's AI mentor adapts its entire communication style to your level:
106+
107+
**⬜ White Belt hears:**
108+
> "Claude added a 'translator' to your server. When someone fills out your form, the data arrives as raw text. This translator converts it into something your code can read — like translating a letter from another language."
109+
110+
**🔵 Blue Belt hears:**
111+
> "Express middleware was added to parse incoming JSON. This sits in the request pipeline before your route handlers, so `req.body` is already a JavaScript object by the time your code runs."
112+
113+
Same concept. Different depth. Always from **your project**, not a generic example.
114+
115+
### Background-Specific Analogies
116+
117+
Set your field with `/code-sensei:level background marketing` and CodeSensei speaks your language:
118+
119+
- **Marketing:** "An API is like a campaign brief — you send specific requirements, and the server delivers exactly what you asked for."
120+
- **Design:** "Components are like design system elements — reusable, consistent, and composable."
121+
- **Finance:** "A variable is like an account balance — it holds a value that changes over time."
122+
- **Medicine:** "Error handling is like triage — you check for the most critical problems first."
123+
124+
### What Gets Tracked
125+
126+
- ✅ File types and technologies Claude uses (for contextual teaching)
127+
- ✅ Your XP, belt level, quiz history, and streak
128+
- ❌ No personal data, no code content, no telemetry, no external calls
129+
130+
Everything stays on your machine in `~/.code-sensei/`.
131+
132+
---
133+
134+
## 📚 Learning Modules
135+
136+
CodeSensei covers **42 concepts** across **9 categories**:
137+
138+
- **🧱 Fundamentals** — Variables, functions, loops, conditionals
139+
- **🌐 Web Basics** — HTML, CSS, how browsers work
140+
- **⚡ JavaScript** — Core JS, async/await, imports, JSON
141+
- **💻 Terminal & Tools** — Command line, npm, git, env variables
142+
- **🎨 Frontend** — React, components, props, state, routing
143+
- **⚙️ Backend** — Servers, routes, middleware, REST APIs, auth
144+
- **🗄️ Databases** — SQL, schemas, ORMs, relationships
145+
- **🚀 Deployment** — Hosting, Docker, CI/CD
146+
- **🏗️ Architecture** — Design patterns, scalability, client-server
147+
148+
---
149+
150+
## 🤝 Contributing
151+
152+
CodeSensei is open source and built to be contributed to:
153+
154+
- **📝 Better analogies** — A nurse writes a medical analogy for error handling. Now every nurse learning to code gets it.
155+
- **🧩 More quizzes** — Add questions to `data/quiz-bank.json`
156+
- **🌍 Translations** — Help us teach in Spanish, Portuguese, and beyond
157+
- **💡 New skill modules** — Want to add Python, Rust, or mobile dev? Go for it.
158+
- **🐛 Bug fixes** — Found an issue? Open a PR
159+
160+
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
161+
162+
---
163+
164+
## 🏢 Built by Dojo Coding
165+
166+
[Dojo Coding](https://dojocoding.io) is a LATAM-first tech education ecosystem with 1,800+ developers across 8 countries. We believe anyone can learn to code — especially when they're already building.
167+
168+
CodeSensei is free forever. Open source. No paywall. The full product.
169+
170+
### Go deeper with Dojo Coding
171+
172+
- **[VibeCoding Bootcamp](https://dojocoding.io/bootcamp)** — Structured curriculum with live mentors
173+
- **[DojoOS](https://dojocoding.io/dojoos)** — Full developer environment and community
174+
- **[Discord](https://dojocoding.io/discord)** — Join the community
175+
176+
---
177+
178+
## 📄 License
179+
180+
MIT License — free to use, modify, and distribute.
181+
182+
---
183+
184+
<p align="center">
185+
<strong>🥋 From vibecoder to engineer — one session at a time.</strong><br>
186+
<em>Free. Open source. By <a href="https://dojocoding.io">Dojo Coding</a>.</em>
187+
</p>

0 commit comments

Comments
 (0)