codeshift-learn
v1.0.5
Published
Learn to code. Never leave the terminal.
Maintainers
Readme
CodeShift
Learn to code. Never leave the terminal.
CodeShift is a fully interactive coding education CLI that runs entirely in your terminal — no browser, no account, no installation wizard. Structured lessons, real code execution, spaced repetition, daily challenges, and achievement badges, all from the command line.
Install
npm install -g codeshift-learnRequirements: Node.js 18+
Quick Start
codeshift startThat's it. Pick a language track and start learning.
What's Inside
🗂️ Language Tracks
| Track | Levels | Lessons | Access | |---|---|---|---| | Python 🐍 | 4 | 64 | Free | | JavaScript 🟡 | 3 | 35 | Free | | More coming | — | — | — |
📚 Lesson Types
| Type | Description | |---|---| | 📖 Read | Concept explanation with syntax-highlighted code | | ✏️ Fill in the Blank | Type the missing keyword or expression | | 🔘 Multiple Choice | Pick from four options | | 💻 Write Code | Write a real solution in your editor — CodeShift runs it against test cases | | 🐛 Fix the Bug | Find and correct broken code | | 🔍 Explain This Code | Read a snippet and predict what it outputs | | 🏗️ Mini Project | End-of-level capstone challenges |
🌍 Real-World Challenges
A separate challenge mode with no hand-holding — just a brief, test cases, and your editor. Current Python challenges:
- Tip Calculator (beginner)
- Temperature Converter (beginner)
- Password Generator (intermediate)
- Grade Calculator (intermediate)
- Word Frequency Analyzer (intermediate)
- Caesar Cipher (advanced)
⚡ Learning Features
- Spaced Repetition — wrong answers resurface every 5 lessons automatically
- Daily Challenge — one question per day from your completed lessons, earns streak bonus XP
- Unlimited Attempts — no lockouts; hints appear after the first wrong answer
- Streak System — daily coding habit tracker with bonus XP
- XP & Progress — track completion per level, per track, and overall
- 📋 Cheat Sheet — instant terminal reference card:
codeshift cheat python
🏅 Achievement Badges
Earn badges as you hit milestones:
🖥️ Hello World First lesson complete
⚡ Syntax Learned Complete Level 1
💾 Committed 10 lessons complete
🚀 Deployed 25 lessons complete
🔧 Debugger Fix a bug on the first try
🔍 Code Reader Nail an Explain This Code lesson
🌐 Polyglot Start a second language track
🔥 Hot Streak 3-day coding streak
⭐ Star Developer 7-day streak
🏆 Elite Coder 30-day streak
💡 Lightbulb 100 XP earned
⚙️ Senior Engineer 500 XP earned
🖤 10x Engineer 1000 XP earned
🌍 Real World Ready Complete a real-world challenge
☕ Coffee++ Complete a daily challenge
🎯 Sharp 5 correct answers in a rowAll Commands
codeshift start # Launch the app — main menu
codeshift progress # XP, streaks, and completion stats
codeshift cheat python # Python quick-reference card
codeshift cheat javascript # JavaScript quick-reference card
codeshift activate <key> # Activate a Pro license
codeshift update # Check for a newer version
codeshift help # Full command reference
codeshift version # Print version numberIn-App Navigation
| Key | Action | |---|---| | ↑ ↓ | Navigate menus | | Enter | Select / confirm answer | | M + Enter | Exit to main menu from any lesson | | A B C D | Answer multiple choice questions |
Main Menu
◆ CodeShift — Learn to code. Never leave the terminal.
Continue — Python · Level 2 · Lesson 4
🌍 Real-World Challenges
⚡ Daily Challenge — bonus XP available!
🔄 Review Queue (2 lessons to review)
📋 Cheat Sheet
Browse all lessons
Switch language track
View my progress & badges
Settings
ExitProgress is Saved Locally
All progress, XP, streaks, and badges are stored on your machine at ~/.config/codeshift/config.json. Nothing is sent to a server. No account required.
Contributing
Contributions are welcome — especially new lessons and language tracks.
Bug reports & feature requests: Open an issue
Discussions & ideas: GitHub Discussions
Adding lessons:
- Fork the repo
- Add lessons to
src/lessons/tracks/<language>/level-0X.json - Follow the schema in
src/lessons/schema.ts - Run
npm testto validate - Open a pull request
Lesson JSON schema is documented in src/lessons/schema.ts
Roadmap
- [ ] More language tracks (TypeScript, Rust, Go)
- [ ] VS Code extension integration
- [ ] GitHub Actions for auto-publish
- [ ] Leaderboard between friends (shared key)
- [ ] Timed challenge mode
License
- CLI core & free lesson content: MIT License
- Pro lesson content (if/when added): Proprietary
Copyright © 2024 CodeShift
