CTX-001 플레이스홀더 검출
섹션의 본문이 비어 있거나, TODO / TBD / WIP 같은 플레이스홀더만으로 구성되어 있지 않은지를 검증합니다. 검출되면 warning 으로 보고됩니다. 기본 플레이스홀더는 TBD / TODO / WIP / FIXME / N/A이며, 하이픈 1글자(- / — / –)도 「내용 없음」 으로 검출됩니다.
왜 필요한가
섹션 제목: “왜 필요한가”문서의 템플릿을 채워 가는 도중에 TODO: 나중에 작성 이나 TBD를 남긴 채 다른 작업으로 옮기고 잊어버리는 경우가 있습니다. AI에게 초안을 작성시킨 직후의 드래프트에도 이런 종류의 플레이스홀더가 섞이기 쉽습니다. Markdown으로서는 valid이기 때문에 markdownlint도 CI도 그냥 지나가지만, 문서로서는 미완성입니다. 이 규칙은 그런 “놓치기 쉬운 미완성 부분” 을 검출합니다.
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
section | string | — | 검증 대상을 특정 섹션으로 한정(제목 텍스트의 완전 일치) |
placeholders | string[] | — | 플레이스홀더로 취급할 문자열의 배열. 지정하면 기본값을 덮어쓴다 (추가가 아님) |
files | string | — | 이 규칙을 적용할 파일의 glob |
판정은 대소문자를 구별하지 않고, 본문을 trim한 결과가 플레이스홀더 전체와 일치하는지를 봅니다. 본문 중에 TODO라는 단어가 섞여 있는 것만으로는 검출되지 않습니다.
위반 예시
섹션 제목: “위반 예시”## 개요
이 문서는...
## 설계 방침
TBD
## 영향 범위
-설계 방침이 플레이스홀더 TBD만, 영향 범위가 -만으로 내용 없음으로 판정되어, 각각 위반이 됩니다.
docs/design.md line 7 warning Section "설계 방침" contains only placeholder "TBD" CTX-001 line 11 warning Section "영향 범위" contains only placeholder "-" CTX-001섹션 본문이 완전히 빈 경우는 다음 메시지로 보고됩니다.
docs/design.md line 7 warning Section "설계 방침" has no content CTX-001수정 후
섹션 제목: “수정 후”## 개요
이 문서는...
## 설계 방침
새로운 인증 플로우에서는 OAuth 2.0을 채택하고, 기존의 세션 기반 인증으로부터 단계적으로 마이그레이션한다.
## 영향 범위
`packages/auth` 하위의 모든 모듈에 영향을 미친다.설정 예시
섹션 제목: “설정 예시”{ "rule": "ctx001", "options": { "section": "설계 방침", "placeholders": ["TBD", "TODO", "미정"], "files": "**/adr/*.md" }}placeholders를 지정하는 경우는 기본값을 덮어씁니다. 「한국어의 미정도 검출하고 싶다」 와 같은 경우는, 기본으로 사용할 값도 명시적으로 다시 열거할 필요가 있습니다.
관련 규칙
섹션 제목: “관련 규칙”- SEC-001 필수 섹션 — 그 이전에 섹션이 존재하는지의 검증
- CHK-001 미완료 항목 — 체크리스트 형식에서의 미완료 검출
- CTX-002 용어 일관성 — 본문 중의 용어가 glossary와 일치하는지의 검증