Skip to content

문서: CLI 레퍼런스 자동 생성 + 드리프트 게이트 — clap 정의를 문서의 단일 원천으로#20

Merged
YeolHanMyeong merged 1 commit into
mainfrom
docs/cli-reference-autogen
Jul 24, 2026
Merged

문서: CLI 레퍼런스 자동 생성 + 드리프트 게이트 — clap 정의를 문서의 단일 원천으로#20
YeolHanMyeong merged 1 commit into
mainfrom
docs/cli-reference-autogen

Conversation

@YeolHanMyeong

Copy link
Copy Markdown
Collaborator

배경

README의 수동 명령 레퍼런스 표가 실제 CLI와 드리프트됨을 확인했다 — 서브커맨드 14종 중 10종만 등재(bookmarks·slots·fill·validate 누락). 수동 동기화는 실패하는 구조이므로, 문서를 clap 정의에서 자동 생성하고 어긋나면 CI가 실패하는 게이트를 도입한다. (고도화 문서화 1단계 — 이후 mdBook 매뉴얼·계약 문서 승격·CHANGELOG가 후속.)

변경

  • CLI 정의를 lib으로 승격: Cli/Cmd/value_enum을 crates/hwp-cli/src/cli.rs(lib 타깃 hwp_cli::cli)로 이동. main.rs는 파싱·디스패치만 담당(−296줄). 신규 의존성 0.
  • 자동 생성 + 골든 테스트: tests/cli_reference.rsCommandFactory로 명령 트리를 introspect해 docs/manual/cli-reference.md를 결정적으로 생성. 커밋본과 다르면 실패(한국어 안내 출력), HWP_UPDATE_DOCS=1 cargo test -p hwp-cli --test cli_reference로 재생성(bless). CRLF 정규화로 Windows 잡 대비. CI 워크플로 수정 불필요 — 일반 테스트로 게이트가 성립.
  • 초기 생성본 등재: 14개 명령 전부. 자동 생성이 README에 없던 플래그들(edit --create-bookmark·--create-hyperlink·--set-meta, cat --format html, convert --to odt 등)을 즉시 드러냄.
  • README 최소 보수: 누락 4개 명령 행 추가 + 자동 생성 레퍼런스 링크.
  • help 문구의 낡은 마일스톤 표기((M1에서 구현) 등) 제거.

검증

  • scripts/check.sh(fmt+clippy -D warnings+test) 통과.
  • 드리프트 감지 자가 검증: 문서 1바이트 변조 → 테스트 실패 확인 → bless 복원 → 재통과.
  • README 신규 4행은 clap 정의와 대조해 기재(추측 없음).

🤖 Generated with Claude Code

- CLI 정의(Cli/Cmd/value_enum)를 lib 타깃(hwp_cli::cli)으로 승격 — 테스트가
  clap Command 트리를 introspect할 수 있게 함(main.rs는 파싱·디스패치만).
- tests/cli_reference.rs: 명령 트리 → docs/manual/cli-reference.md 결정적 생성.
  커밋본과 어긋나면 테스트 실패(= CI 드리프트 게이트), HWP_UPDATE_DOCS=1로 재생성(bless).
- 초기 생성본 등재: 14개 명령 전부 — README 수동 표에 누락돼 있던
  bookmarks·slots·fill·validate 포함(드리프트 실증 → 자동화 동기).
- README: 누락 4개 명령 행 보수 + 자동 생성 레퍼런스 링크 추가.
- help 문구의 낡은 마일스톤 표기((M1에서 구현) 등) 제거.

검증: scripts/check.sh 통과, 변조 감지 자가 검증(문서 변조→실패→bless 복원→통과) 확인.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@YeolHanMyeong
YeolHanMyeong merged commit 8a88768 into main Jul 24, 2026
3 checks passed
@YeolHanMyeong
YeolHanMyeong deleted the docs/cli-reference-autogen branch July 24, 2026 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant