terminal-escape-room — 작은 CLI 탈출 방 게임 (Python + Typer)

발행: (2026년 2월 11일 오전 07:39 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

개요

이 프로젝트는 GitHub Copilot CLI 챌린지를 위한 제출물입니다.
terminal-escape-room은 크로스‑플랫폼 CLI 텍스트 탈출‑방 게임입니다. JSON으로 정의된 방을 순차적으로 진행하고, 방당 최대 두 개의 힌트를 요청할 수 있으며, 답을 제출하고 점수를 획득합니다(힌트 사용 시 페널티 적용). 진행 상황은 로컬의 .escape_state.json 저장 파일에 지속됩니다.

기술 스택

  • Python 3.11+
  • Typer – CLI 프레임워크
  • Rich – 포맷된 출력
  • Pytest – 테스트 스위트

저장소

https://github.com/aisamposhen/terminal-escape-room

설치 및 빠른 실행

python3 -m venv .venv
source .venv/bin/activate
pip install -e .[test]

# Commands
escape start
escape status
escape hint
escape answer "kernel"
escape reset

90초 데모 흐름

escape start
escape status
escape hint
escape answer "kernel"
escape answer "^"
escape answer "git switch -c feature"

개발 과정

GitHub Copilot CLI를 터미널‑우선 페어 프로그래머로 활용하여 다음을 빠르게 반복했습니다:

  • Typer 명령 구조 (start, status, hint, answer, reset)
  • 작은 엔진 레이어(방 진행 + 힌트 제한)
  • 안정적인 JSON 지속 스키마(started_at, finished_at)
  • 점수 규칙 및 테스트

잘 작동한 점:
프롬프트를 매우 구체적으로 작성(입력/출력, 엣지 케이스, 파일 경계)하고, 바로 pytest로 변경 사항을 잠그는 방식.

예시 워크플로우:

  1. Copilot CLI에 첫 번째 구현을 요청(모듈당 하나씩 집중).
  2. 테스트 실행.
  3. 엣지 케이스를 다루도록 테스트를 생성/조정하도록 Copilot CLI에 요청.
  4. 동작이 확정되면 리팩터링.

로컬 사용법

프로젝트는 자체적으로 동작하며 외부 서비스가 필요 없습니다. 위 설치 단계를 따라 로컬에서 직접 실행해 보세요.

0 조회
Back to Blog

관련 글

더 보기 »