Skip to content

feat(scan): no-write 출력 제어 추가#79

Merged
JeremyDev87 merged 1 commit into
masterfrom
feat/75-scan-no-write
May 6, 2026
Merged

feat(scan): no-write 출력 제어 추가#79
JeremyDev87 merged 1 commit into
masterfrom
feat/75-scan-no-write

Conversation

@JeremyDev87

Copy link
Copy Markdown
Owner

배경

kratos scan 기본 실행이 .kratos/latest-report.json을 생성해 checkout을 dirty하게 만들 수 있고, npx 실행자에게 다음 단계 명령이 kratos ... 형태로만 보여 copy-paste UX가 애매했습니다.

변경 사항

  • scan--no-write 옵션을 추가해 human summary를 출력하면서 .kratos/latest-report.json을 만들지 않도록 했습니다.
  • --output--no-write 병용은 config error로 거부합니다.
  • --json stdout은 안내 문구 없이 JSON만 유지되며, --json --no-write도 report 파일을 만들지 않습니다.
  • 기본 .kratos/latest-report.json 저장 경로 사용 시 checkout dirty 가능성과 .gitignore, --output, --no-write 대안을 안내합니다.
  • scan summary의 clean/report next step에 npx @jeremyfellaz/kratos ... 대체 명령을 함께 노출합니다.

검증

  • rustfmt --check crates/kratos-cli/src/commands/mod.rs crates/kratos-cli/src/commands/scan.rs crates/kratos-cli/tests/cli_smoke.rs
  • git diff --check
  • cargo test -p kratos-cli --test cli_smoke
  • cargo run -p kratos-cli -- scan /private/tmp/kratos-no-write-smoke.GEvceH/demo-app --no-write
  • test ! -e /private/tmp/kratos-no-write-smoke.GEvceH/demo-app/.kratos/latest-report.json
  • test ! -e /private/tmp/kratos-no-write-smoke.GEvceH/demo-app/.kratos
  • cargo test --workspace
  • npm test
  • npm pack --dry-run --cache /private/tmp/kratos-npm-cache.YfPsIr

리뷰 게이트

  • Devil's Advocate Round 1: PASS, Critical 0 / High 0 / Medium 0 / Low 1
  • Low finding 반영: npx report next step 안내 추가
  • Devil's Advocate Delta Review: PASS, Critical 0 / High 0 / Medium 0 / Low 0

브랜치 / 워크트리

  • base: master
  • branch: feat/75-scan-no-write
  • worktree: /private/tmp/kratos-issue-75

이슈 연결

Closes #75

scan에 --no-write 경로를 추가해 기본 리포트 파일을 생성하지 않고 human summary를 출력하게 했습니다.

JSON stdout 순수성, --output 병용 거부, 기본 .kratos 쓰기 안내와 npx next step 안내를 테스트로 고정했습니다.

Closes #75
@JeremyDev87

Copy link
Copy Markdown
Owner Author

독립 fresh-session 리뷰 결과

  • Verdict: APPROVE
  • Severity Summary: Critical 0 / High 0 / Medium 0 / Low 0
  • Findings: 없음
  • Rationale: master...feat/75-scan-no-write diff 기준으로 --no-write는 기본 리포트와 .kratos 쓰기 경로를 우회하고, --json stdout도 JSON만 유지됩니다. --output 동시 사용은 config error로 고정되어 있으며, 로컬 검증과 GitHub checks가 모두 통과했습니다.
  • Note: GitHub 정책상 자기 PR에는 공식 approve review를 제출할 수 없어 동일한 verdict를 PR comment로 남깁니다.

검증 확인:

  • cargo test -p kratos-cli --test cli_smoke
  • cargo test --workspace
  • npm test
  • npm pack --dry-run --cache /private/tmp/kratos-npm-cache.YfPsIr
  • GitHub checks: Verify Node 18/20/22/24, Rust Workspace, Native Packaging 전체 pass

@JeremyDev87 JeremyDev87 self-assigned this May 6, 2026
@JeremyDev87 JeremyDev87 marked this pull request as ready for review May 6, 2026 14:05
@JeremyDev87 JeremyDev87 merged commit 1429a5e into master May 6, 2026
10 checks passed
@JeremyDev87 JeremyDev87 deleted the feat/75-scan-no-write branch May 6, 2026 14:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

scan --no-write 및 next step command UX 개선

1 participant