This is a submission for the GitHub Copilot CLI Challenge!
Learning how to use the terminal can be intimidating. CLI Learning Adventure makes it fun!
The Idea
I built a CLI learning adventure game that teaches beginners how to use the terminal and CLI commands through interactive quests. This was my first time using CLI tools ever, so I thought I'd make something that I could also learn from!
Instead of reading documentation, users:
- Complete small challenges
- Receive real-time feedback
- Unlock new lessons as they progress
- Learn by doing, not memorizing (this is my favorite!)
The CLI becomes a guided learning environment rather than a blank terminal.
How It Works
Users launch the game from the CLI (there's build instructions in the repository, but they'd run npm start to run the project)
- Each quest introduces a CLI concept or command
- The app corrects your actions move you forward
- The user's mistakes return feedback and encouragement (gotta stay positive!)
- Progress and score are tracked across sessions
The difficulty increases gradually, mirroring how people actually learn tools in real life.
In-Game Commands
To keep the experience beginner-friendly, the game includes built-in navigation and support:
hint — get guidance and more context
skip — skip the current level and move to the next challenge
back / forward — navigate between challenges
map / progress — view your learning path so far
quit — exit the app
When a user makes a mistake, the game displays a short encouraging quote!
The goal is to reduce fear of failure and encourage experimentation (this is something I really appreciate as a beginner myself).
Demo
My Experience with GitHub Copilot CLI
This is my first time ever attempting to build anything larger than string "Hello, world" on GitHub!
I fully used Copilot CLI to build the entire project. I actually am quite thrilled about the experience, and hoping I can get more fluent in using it on a daily basis for repetitive tasks! I learned a lot and am genuinely motivated to build more.
Top comments (0)