퀘스트: 에픽 CLI 툴 (실제로 만들면서 코드를 배우다)
I’m happy to translate the article for you, but I’ll need the text you’d like translated. Could you please paste the content of the article (excluding the source line you already provided) here? Once I have the text, I’ll keep the source link unchanged and translate the rest into Korean while preserving all formatting, markdown, and code blocks.
내가 만든 것
저는 Quest를 만들었습니다 – 실제로 코드를 작성하게 함으로써 코드를 가르치는 CLI 도구이며, 단순히 읽는 것이 아니라 실제로 코드를 작성하게 합니다.
저는 과거에 대기업에서 일했으며, 대부분의 업무가 레포를 유지하고 작은 기능을 만드는 것이었습니다. 0‑to‑1 개발을 할 기회가 없었기 때문에, 지난 여름부터 개인 프로젝트를 부수적으로 시작했습니다. 학습 곡선은 정말 가파릅니다: 대부분의 시간을 GPT에 질문하고, 문서를 읽고, 튜토리얼을 따라 하는 데 보냈습니다.
계속 생각했습니다: 코딩하면서 바로 이걸 배울 수는 없을까? IDE 안에서, 실제로 무언가를 만들면서 말이죠.
그게 바로 Quest입니다. 프로젝트를 선택하거나 (또는 자동으로 생성된) 프로젝트를 받아서, 단계별로 구축 과정을 안내해 줍니다 – 코드에 대한 자동 검증과 막혔을 때 AI 힌트를 제공합니다. 브라우저 탭도, 튜토리얼의 무한 루프도 없습니다. 오직 여러분의 에디터와 터미널만 있으면 됩니다.
일반적인 세션
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
루프
이것은 핵심 워크플로우입니다. 의도적으로 매우 간단합니다:
퀘스트 템플릿
3개의 작업으로 구성된 빠른 템플릿부터 20개의 작업으로 구성된 깊이 있는 템플릿까지, 총 7개의 내장 템플릿이 있습니다:
| 템플릿 | 난이도 | 작업 수 | 구축 내용 |
|---|---|---|---|
go-web-api | 빠른 | 3 | REST API 기본 — 핸들러, JSON, 테스트 |
go-cli-tool | 빠른 | 3 | Cobra를 이용한 CLI — 서브커맨드와 플래그 |
go-concurrency | 빠른 | 3 | Goroutine, 채널, 워커 풀 |
go-fairy-garden | 보통 | 10 | 기발한 워커 서비스 |
go-todo-api | 고급 | 15 | 미들웨어가 포함된 전체 CRUD API |
go-auth-system | 고급 | 19 | 인증 시스템 — JWT, 세션 등 전체 |
go-isekai-server | 고급 | 20 | 분산 가상 세계 관리자 |
템플릿을 완전히 건너뛸 수도 있습니다. 구축하고 싶은 것을 설명하고 난이도를 선택하면, Copilot CLI가 맞춤형 퀘스트 계획을 생성합니다: 챕터, 작업, 검증 규칙, 모든 것.
데모
레포:
go install github.com/jovanpet/quest@latest
퀘스트 시작
🧭 Quest
Choose your path:
> 🗡️ Pick a Legendary Path
🔨 Forge Your Own Quest
🎲 Seek a Mystery Quest
작업 확인
🔍 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
-a 플래그는 코드를 Copilot CLI를 통해 전송하고 인라인 주석을 소스 파일에 직접 삽입합니다:
// ✓ 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 many attempts you’ve made:
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)
GitHub Copilot CLI 사용 경험
Copilot CLI는 코드 리팩터링을 할 때, 특히 필드를 추가하고 모든 템플릿을 업데이트해야 할 때 큰 도움이 되었습니다. otherwise would have been a pain to build. 세 가지 핵심 기능을 제공하는데, 이를 직접 구현하려면 매우 번거로웠을 것입니다.
실제로 코드를 아는 힌트
quest explain를 실행하면 Quest가 현재 작업을 가져와 Copilot CLI에 전달합니다. 응답은 코드의 특정 라인에 연결된 구조화된 주석입니다.
과제를 아는 코드 리뷰어
자동화된 검사(quest check)는 기본적인 사항을 처리합니다—파일이 존재하는가? 올바른 패턴을 포함하고 있는가? -a 플래그를 추가하면 Copilot CLI가 실제 리뷰를 수행합니다. 실제 코드를 읽고 다음과 같은 주석을 작성합니다:
✓ GOOD: http.HandleFunc를 올바르게 사용함✗ ERROR: ListenAndServe에 대한 오류 처리 누락⚠ WARNING: Content‑Type 헤더 추가 고려
이 주석들은 해당 라인 바로 위에 소스 파일에 직접 삽입됩니다.
전체 퀘스트 플랜 생성
템플릿을 선택하는 대신 원하는 것을 설명하고(예: “공주‑요정 스케줄러 워커를 만들고 싶다”), 난이도를 선택하면 Copilot CLI가 JSON 형식의 전체 교육 플랜을 생성합니다. 저는 go‑isekai‑server 템플릿도 만들었으며, 여기서는 플레이어‑스킬 엔드포인트와 같은 퀘스트를 완성합니다.
제출 종료.
# Read 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. 