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번부터 같습니다.
따라하기
섹션 제목: “따라하기”- 계획 프롬프트(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단계에서 따로 하므로 계획에서는 "게이트가 준비돼있다"고 가정해 주세요.-
계획 파일을 열어 단계마다 확인 명령이 있는지 눈으로 봅니다. 없는 단계가 있으면 그 단계에 확인 명령을 추가하게 합니다.
-
/context를 쳐서 무엇이 얼마나 올라와 있는지 봅니다. -
끝 비용과 컨텍스트 사용률을 읽어
docs/tutorial-log.md의 “2. 계획” 행에 적습니다. 세션 누적 비용을 단계 비용으로 쓰지 않습니다. 세션 수 열에는 이 단계에서 연 세션 개수를 적습니다. 1단계를 이어받아 한 세션으로 왔다면 1입니다. -
계획과 기록표를 함께 커밋합니다. 커밋을
/clear보다 먼저 합니다. 기록표를 커밋하지 않고 세션을 비우면 3단계의 “시작 상태”에서 작업 트리가 깨끗하지 않습니다.
git add docs && git commit -m "docs: 구현 계획"/clear합니다./clear직후 상태줄이 어떻게 바뀌는지 봅니다.
완료 확인
섹션 제목: “완료 확인”grep -c "npm" docs/plans/*-charcount.md0보다 커야 합니다. 계획의 각 단계에 확인 명령이 있어야 합니다.
계측 기록
섹션 제목: “계측 기록”값은 4번에서 이미 적었습니다. 시작 상태를 확인한 직후 시작 비용을, 커밋 직전에 끝 비용과 컨텍스트 사용률을 각각 적고 차액으로 읽습니다. 세션 수는 이 단계에서 연 세션 개수입니다. 4단계 끝에서 이 두 값을 나란히 놓고 비교하십시오.
어긋났을 때
섹션 제목: “어긋났을 때”계획을 쓰고 바로 구현을 시작한다면 멈추고 /clear한 뒤,
Feature 개발의 “하지 말 것”을 확인합니다. 계획에
확인 명령이 없다면 추가하게 한 뒤 진행합니다.