Package Exports
- codeshift-learn
- codeshift-learn/dist/cli.mjs
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (codeshift-learn) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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