콘텐츠로 이동

2. 계획을 파일로

터미널 창
ls docs/specs/*-charcount.md

스펙 파일이 하나 나와야 합니다. 없으면 1. 스펙으로 돌아갑니다.

같은 세션에서 계획 파일을 쓰게 하고, /context로 컨텍스트에 무엇이 올라와 있는지 본 뒤 /clear합니다. 계획을 파일에 두는 이유는 Feature 개발이 다룹니다. /clear하는 이유는 /clear와 /compact가 다룹니다.

1단계에서 본 세 가지 방법 중 plan mode는 계획을 세션 안에 만듭니다. 그 경로로 왔다면 파일로 옮기는 단계가 하나 더 필요합니다. plan mode는 편집을 막습니다. 계획을 저장소에 쓰는 것도 승인 뒤에만 가능합니다. 승인 프롬프트에서 “편집마다 승인”을 고르고, 첫 지시로 계획을 docs/plans/<날짜>-charcount.md에 저장한 뒤 멈추게 합니다. 구현은 시키지 않습니다. 그다음은 아래 2번부터 같습니다. superpowers의 writing-plans로 왔다면 계획이 docs/superpowers/plans/에 있습니다. 3단계 이후는 docs/plans/만 보므로, 그 파일을 docs/plans/<날짜>-charcount.md로 옮기거나 그 경로에 다시 쓰게 합니다. 1단계에서 스펙 경로를 맞춘 것과 같은 처리입니다. 그다음은 2번부터 같습니다.

  1. 계획 프롬프트(3번 틀의 탐색 세션 부분). <날짜>는 1단계에서 생긴 스펙 파일 이름의 날짜로 바꿉니다. ls docs/specs/로 확인합니다.
docs/specs/<날짜>-charcount.md 를 읽고 구현 계획을 docs/plans/<날짜>-charcount.md 에 써 주세요.
계획에는 이걸 포함해 주세요:
- 만들 파일과 고칠 파일 목록 (Vite + TypeScript, 테스트는 Vitest, e2e는 Playwright)
- 글자 수를 세는 순수 함수 countChars(text: string): number 를 src/countChars.ts 에 두고,
그 테스트를 src/countChars.test.ts 에 두는 것
- 각 단계가 끝났는지 확인할 명령 (npm run lint, npm test, npm run build 중 해당하는 것)
- 이번 범위가 아닌 것
게이트(lint, test, build, e2e) 설정은 3단계에서 따로 하므로 계획에서는 "게이트가 준비돼
있다"고 가정해 주세요.
  1. 계획 파일을 열어 단계마다 확인 명령이 있는지 눈으로 봅니다. 없는 단계가 있으면 그 단계에 확인 명령을 추가하게 합니다.

  2. /context를 쳐서 무엇이 얼마나 올라와 있는지 봅니다.

  3. 끝 비용과 컨텍스트 사용률을 읽어 docs/tutorial-log.md의 “2. 계획” 행에 적습니다. 세션 누적 비용을 단계 비용으로 쓰지 않습니다. 세션 수 열에는 이 단계에서 연 세션 개수를 적습니다. 1단계를 이어받아 한 세션으로 왔다면 1입니다.

  4. 계획과 기록표를 함께 커밋합니다. 커밋을 /clear보다 먼저 합니다. 기록표를 커밋하지 않고 세션을 비우면 3단계의 “시작 상태”에서 작업 트리가 깨끗하지 않습니다.

터미널 창
git add docs && git commit -m "docs: 구현 계획"
  1. /clear합니다. /clear 직후 상태줄이 어떻게 바뀌는지 봅니다.
터미널 창
grep -c "npm" docs/plans/*-charcount.md

0보다 커야 합니다. 계획의 각 단계에 확인 명령이 있어야 합니다.

값은 4번에서 이미 적었습니다. 시작 상태를 확인한 직후 시작 비용을, 커밋 직전에 끝 비용과 컨텍스트 사용률을 각각 적고 차액으로 읽습니다. 세션 수는 이 단계에서 연 세션 개수입니다. 4단계 끝에서 이 두 값을 나란히 놓고 비교하십시오.

계획을 쓰고 바로 구현을 시작한다면 멈추고 /clear한 뒤, Feature 개발의 “하지 말 것”을 확인합니다. 계획에 확인 명령이 없다면 추가하게 한 뒤 진행합니다.