This is a submission for the GitHub Copilot CLI Challenge
What I Built
I built Quest.
A CLI tool that teaches you Code by making you actually write code, not just read about it.
I used to work in big tech and most of my responsibilities are maintaining repos, building mini features. I don't really get a chance for that 0 to 1 development. So last summer I started messing around with personal projects on the side. Let me tell you...the learning curve is real. I spent most of my time asking GPT, reading docs, doing tutorials.
I kept thinking: why can't I just learn this stuff while I code? Like, inside my IDE, while I'm actually building?
That's Quest. You pick a project (or have one generated for you), and it walks you through building it step by step — with automated checks for your code and AI hints when you're stuck. No browser tabs, no tutorial rabbit holes. Just your editor and your terminal.
Here's what a typical session looks like:
quest begin → Pick a quest (templates or AI-generated)
quest next → See your current task
→ Write your code
quest check → Auto-validate your implementation
quest check -a → AI code review with inline comments
quest explain → Get hints (they get more direct each time)
quest complete → Move on
quest summary → See where you're at
The Loop
This is the core workflow. It's dead simple on purpose:
Quest Templates
There are 7 built-in templates ranging from 3-task quickies to 20-task deep dives:
| Template | Difficulty | Tasks | What You Build |
|---|---|---|---|
| go-web-api | Quick | 3 | REST API basics — handlers, JSON, tests |
| go-cli-tool | Quick | 3 | CLI with Cobra — subcommands and flags |
| go-concurrency | Quick | 3 | Goroutines, channels, worker pools |
| go-fairy-garden | Normal | 10 | A whimsical worker service |
| go-todo-api | Advanced | 15 | Full CRUD API with middleware |
| go-auth-system | Advanced | 19 | Auth system — JWT, sessions, the works |
| go-isekai-server | Advanced | 20 | Distributed virtual world manager |
Or you can skip templates entirely. Describe what you want to build, pick a difficulty, and Copilot CLI generates a custom quest plan: chapters, tasks, validation rules, everything.
Demo
Repo: github.com/jovanpet/quest
go install github.com/jovanpet/quest@latest
Starting a quest
🧭 Quest
Choose your path:
> 🗡️ Pick a Legendary Path
🔨 Forge Your Own Quest
🎲 Seek a Mystery Quest
Checking your work
🔍 Checking Task 1: Create a Hello World endpoint
✓ File exists main.go found
✓ Contains HTTP server code http.HandleFunc detected
🎉 All 2 checks passed!
→ Next step: quest complete
AI code review with quest check -a
The -a flag sends your code through Copilot CLI and you get inline comments injected right into your source files:
// ✓ GOOD: Correct imports for HTTP server functionality
import (
"fmt"
"net/http"
)
func main() {
// TODO: What content type should the client expect from a JSON endpoint?
handler := func(w http.ResponseWriter, r *http.Request) {
// HINT: Plain text isn't structured JSON — what Go package helps encode structs?
fmt.Fprint(w, "Hello, World!")
// ✓ GOOD: Handler properly uses ResponseWriter to send response
}
}
Progressive hints with quest explain
The hint system adapts based on how bad you are:
Attempt 1 → Minimal hints ("Consider what happens if input is empty")
Attempt 2 → More specific ("Look into http.Error for error responses")
Attempt 3 → Direct code (partial code examples, since you're clearly stuck)
My Experience with GitHub Copilot CLI
Copilot CLI was a great deal of help when refactoring code, especially when I would add a field and have to change all the templates. Furthermore an awesome helper for writing tests and catching the edge cases in. Lastly, I have no idea how to make CLI output pretty, I appreciate you Steve (Copilot)...also, low key, it does powers three core features that would've been a pain to build otherwise.
Hints that actually know your code
When you run quest explain, Quest grabs your current tas and pipes it to Copilot CLI. What comes back is structured comments tied to specific lines in your code.
A code reviewer that knows your assignment
The automated checks (quest check) handle the basics...does the file exist? Does it contain the right patterns? Adding the -a flag let's Copilot CLI do the real review. It reads your actual code, and writes comments like:
✓ GOOD: Using http.HandleFunc correctly✗ ERROR: Missing error handling on ListenAndServe⚠ WARNING: Consider adding Content-Type header
These go directly into your source files as inline comments, right above the relevant lines.
Generating entire quest plans
This is kinda epic. Instead of picking a template, you describe what you want ("I want to build a princess fairy scheduler worker"), choose quick/normal/deep difficulty, and Copilot CLI generates a full teaching plan in JSON. And yes it's epic because I made an isekai server template you can check out: go-isekai-server where you finish quests like...player skill endpoints...
What it changed for me
The big realization was that Copilot CLI isn't just an autocomplete tool, it's basically a programmable AI interface. I can pipe structured prompts to it and get structured output back. No API keys, no cloud hosting, no billing dashboards. Just a binary that takes stdin and returns useful output.

Top comments (0)