리뷰 감사 후속: CLI 견고성 하드닝 + 새 옵션(quiet/force) + Quick Action 알림 - #1
Merged
Conversation
- 변환 실패·충돌 스킵·존재않는 입력 시 종료코드 1 (자동화가 부분 실패 감지) - 중복 입력 dedup, 존재하지 않는 최상위 경로 경고 - 단문자 옵션 묶음(-nv == -n -v), NFD2NFC_NO_GUI 가드(테스트·CI용) - -q/--quiet (무출력 모드), -f/--force·--skip (충돌 정책)
- heredoc 종료 sentinel이 본문에 출현하면 빌드 거부(임베드 깨짐 방지) - zsh에서 source 시 직접실행 가드 오발 수정(BASH_SOURCE/ZSH_EVAL_CONTEXT) - 빈 선택·부분 실패 시 Quick Action 종료코드 0(Automator 오류 표시 방지) - COMMAND_STRING에 --notify 추가(완료 토스트 + reveal 병행)
- NFD2NFC_NO_GUI로 osascript(Finder/알림) 부작용·CI AppleEvent 타임아웃 차단 - --no-recurse 약한 단언(false pass) 강화: 폴더 자신 NFC/내부 미처리 분리 검증 - 함수 모드로 임시 디렉토리에 빌드(리포 산출물 미변경) - 추가 케이스: 종료코드, inode 자기오인, 옵션 묶음, dedup, quiet, force
- CLI를 이미 PATH에 있는 쓰기 가능 표준 위치(우선 /opt/homebrew/bin) 선택 → 설치 직후 바로 실행 - killall Finder → graceful quit(진행 중 Finder 작업 보호) - 도달 불가능한 elif 죽은 코드 정리, PATH 미포함 시 안내 강화
CLI만 설치되며 Finder 우클릭 메뉴는 Releases에서 별도 설치임을 안내
create의 진짜 실패(권한·네트워크)가 upload 실패로 가려지지 않도록 release view로 분기
- README 옵션 표/영문 사용법에 --reveal·-q·-f·-h 반영 - CHANGELOG [Unreleased]에 이번 변경 정리
This was referenced Jun 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
배경
전체 코드 심층 리뷰(멀티 에이전트 6개 차원 병렬 분석 + 적대적 검증, 22건 확정)와 직접 엣지케이스 실험으로 발견한 문제를 수정하고, 합의된 기능 개선을 추가했습니다.
🔧 리뷰 대응 (정확성·신뢰성)
exit 1(이전엔 항상 0이라 자동화가 부분 실패를 감지 못함). Quick Action은 영향 없음.--reveal명령을 실행해 실제 Finder를 띄우던 문제 — 헤드리스 CI에서 AppleEvent 120초 타임아웃 위험 포함.NFD2NFC_NO_GUI=1가드로 차단.--no-recurse검증이 트리 전체count>=1뿐이라 옵션이 깨져도 통과하던 문제 — 폴더 자신 NFC/내부 미처리를 분리 단언..workflow.zip을 매 실행 덮어쓰던 문제 — 함수 모드로 임시 디렉토리에 빌드.NFD2NFC_EOF가 출현하면 임베드가 조용히 깨지던 취약점 사전 차단.. ./build-workflow.sh시 의도치 않게 zip 빌드+삭제하던 문제 수정.~/.local/bin폴백으로 PATH에 없어command not found→ 이미 PATH에 있는 쓰기 가능 표준 위치(/opt/homebrew/bin) 우선.killall Finder→graceful quit,release.yml폴백 한정, README 사용법 동기화.✨ 추가 기능
-q/--quiet— cron·스크립트용 무출력 모드(경고/에러는 stderr 유지).-f/--force(--skip별칭) — 이름 충돌 시 덮어쓰기. 기본은 안전한 건너뜀.--notify추가로 "N개 정리됨"/"이미 정상" 토스트 + reveal 병행.caveats— CLI만 설치되며 Finder 메뉴는 별도 설치임을 안내.-nv==-n -v).✅ 검증
perl -c/ruby -c nfd2nfc.rb/shellcheck(4파일) 통과./test.sh15/15 통과, Finder 부작용 없음