콘텐츠로 이동

CTX-001 플레이스홀더 검출

섹션의 본문이 비어 있거나, TODO / TBD / WIP 같은 플레이스홀더만으로 구성되어 있지 않은지를 검증합니다. 검출되면 warning 으로 보고됩니다. 기본 플레이스홀더는 TBD / TODO / WIP / FIXME / N/A이며, 하이픈 1글자(- / / )도 「내용 없음」 으로 검출됩니다.

문서의 템플릿을 채워 가는 도중에 TODO: 나중에 작성 이나 TBD를 남긴 채 다른 작업으로 옮기고 잊어버리는 경우가 있습니다. AI에게 초안을 작성시킨 직후의 드래프트에도 이런 종류의 플레이스홀더가 섞이기 쉽습니다. Markdown으로서는 valid이기 때문에 markdownlint도 CI도 그냥 지나가지만, 문서로서는 미완성입니다. 이 규칙은 그런 “놓치기 쉬운 미완성 부분” 을 검출합니다.

필드타입필수설명
sectionstring검증 대상을 특정 섹션으로 한정(제목 텍스트의 완전 일치)
placeholdersstring[]플레이스홀더로 취급할 문자열의 배열. 지정하면 기본값을 덮어쓴다 (추가가 아님)
filesstring이 규칙을 적용할 파일의 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를 지정하는 경우는 기본값을 덮어씁니다. 「한국어의 미정도 검출하고 싶다」 와 같은 경우는, 기본으로 사용할 값도 명시적으로 다시 열거할 필요가 있습니다.