Skip to content

docs: README 다섯에 ⌥⏎ 단순 복사를 적는다 - #71

Merged
say8425 merged 2 commits into
mainfrom
docs/grab-plain-copy-readme
Aug 29, 2026
Merged

docs: README 다섯에 ⌥⏎ 단순 복사를 적는다#71
say8425 merged 2 commits into
mainfrom
docs/grab-plain-copy-readme

Conversation

@say8425

@say8425 say8425 commented Aug 29, 2026

Copy link
Copy Markdown
Owner

#69가 ⌥⏎ 단순 복사(프롬프트 · 코드펜스 · File:/Lines: 머리말 없이 잡은 코드 텍스트만 복사)를 추가했는데, 사용자 문서 어디에도 적히지 않았다. 루트 README와 번역 4종은 grab 흐름을 "Enter를 누르면 한 덩어리"까지 설명하므로 새 단축키만 빠진 상태였다.

무엇을 했나

두 출력 형식이 나란히 읽히도록, 기존 "Enter = 한 덩어리" 문장 바로 뒤에 한 문장씩 붙였다. macOS 와 Windows/Linux Alt를 함께 적는다.

파일 상태
README.md (루트)
docs/README.{ko,ja,zh,es}.md
skills/diffdeck/SKILL.md ✅ (아래 참고 — 처음엔 뺐다가 리뷰에서 뒤집었다)
apps/viewer/README.md (npm 페이지) 대상 아님 — grab을 아예 다루지 않는다(실측: grab·select·clipboard·prompt·gutter 매치 0)

왜 게이트가 못 잡았나

apps/viewer/__tests__/docs-flags-parity.test.tsHELPCLI 플래그만 일곱 문서와 대조한다. ⌥⏎는 CLI 플래그가 아니라 앱 내 키 바인딩이라 그 게이트의 감시 범위 밖이고 앞으로도 그렇다 — 손으로 챙겨야 하는 표면이다.

SKILL.md를 결국 넣은 이유

처음엔 "⌥⏎ 산출물은 맨 코드라 에이전트에 새로 설명할 형식이 없다"고 보고 뺐다. 리뷰에서 뒤집혔고, 근거가 타당했다:

  1. SKILL.md:59"Grab copies a single fenced block plus the human's prompt" 라고 무조건 단언한다 — feat: 그랩 팝오버 ⌥⏎ 단순 복사와 라인넘버 드래그 선택 제거 #69 이후로는 과장이다. → "Pressing Enter copies…" 로 한정했다.
  2. 더 중요한 건 형식 위험이다. 같은 문서가 크로스사이드 블록에서 "every line is prefixed with -, +, or a space — strip that first character" 라고 지시하는데, ⌥⏎ 산출물은 그 마커가 이미 빠져 있다(encode.tsplainSnippet). 규칙을 그대로 적용하면 에이전트가 같은 줄의 옛/새 버전을 연속된 파일 내용으로 오독한다. 그 규칙 바로 뒤에 예외와 "어느 파일·어느 side인지 먼저 물어라"를 적었다.

리뷰 반영 (2번째 커밋)

번역 교정은 전부 실측 근거가 있는 것만 반영했다.

  • ja·zh: 문장을 잇느라 뒤에 ASCII 공백이 들어갔다 — 각 파일에서 유일한 사례였다(ja 49개 중 1, zh 46개 중 1). 전각 마침표는 자체 여백이 있어 다른 문장 경계보다 눈에 띄게 벌어진다.
  • es: las líneas(여성 복수)를 받는데 pegarlo(남성 단수)라 성수 불일치 → pegarlas. em-dash도 파일 관례(공백 있는 , 22곳)에 맞췄다.
  • zh: 같은 문단이 이미 쓰는 提示를 두고 提示词를, 29행이 쓰는 文件头를 두고 文件标题를 새로 만들었다 → 파일 어휘로 되돌렸다.
  • ja: 명사구로 끝나 주변 문장(…を押すと、…されます)과 호흡이 달랐다 → 같은 구조로. 選んだ行選択した行으로 통일.
  • 정확성(다섯 문서 전부): mixed 선택 단서를 붙였다. plainSnippet은 양쪽에 걸친 선택에서 +/- 마커를 의도적으로 뺀다. 그래서 "편집기에 그대로"라는 약속이 그 경우엔 어긋난다 — 같은 줄의 옛/새 버전이 잇달아 놓인다.

리뷰가 확인해 준 것 중 가장 값진 것: #69의 라인넘버 드래그 제거가 이 READMEs를 낡게 만들지 않았다. 다섯 파일 모두 진입 경로를 "거터의 라인 선택 + + 버튼"으로만 적고 있어, 애초에 "라인넘버를 가로질러 드래그"를 약속한 적이 없다.

Test plan

  • bun test apps/viewer/__tests__/docs-flags-parity.test.ts65 pass / 0 fail (일곱 문서 대조 게이트)
  • bun test703 pass / 0 fail
  • 마크다운만 바뀌므로 typecheck/lint/format 대상 코드는 변동 없음(oxlint/oxfmt 스코프는 apps/의 소스다).

🤖 Generated with Claude Code

https://claude.ai/code/session_01PaHtxdofJX6EvH7BWXgYKX

say8425 and others added 2 commits August 29, 2026 22:35
#69가 ⌥⏎(프롬프트·펜스·File:/Lines: 머리말 없이 잡은 코드만 복사)를
추가했는데 사용자 문서 어디에도 없었다. 루트 README와 번역 4종은 grab
흐름을 "Enter를 누르면 한 덩어리"까지 설명하므로, 두 출력 형식이 나란히
읽히도록 바로 그 문장 뒤에 한 문장씩 붙인다. macOS ⌥, Windows·Linux Alt를
함께 적는다.

docs-flags-parity 게이트는 CLI 플래그만 대조하므로 이 누락을 원리적으로
잡지 못한다 — 게이트가 감시하지 않는 표면이라 손으로 챙긴다.

apps/viewer/README.md(npm 페이지)는 grab을 아예 다루지 않아 대상이 아니다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PaHtxdofJX6EvH7BWXgYKX
번역 교정(리뷰에서 실측으로 지적된 것만):
- ja·zh: 문장을 잇느라 `。` 뒤에 ASCII 공백이 들어갔다. 각 파일에서 유일한
  사례였고(ja 49개 중 1, zh 46개 중 1) 전각 마침표는 자체 여백을 가지므로
  다른 문장 경계보다 눈에 띄게 벌어졌다. 공백을 뺀다.
- es: `las líneas`(여성 복수)를 받는데 `pegarlo`(남성 단수)라 성수가 어긋났다
  → `pegarlas`. em-dash도 파일 관례(공백 있는 ` — `, 22곳)에 맞춘다.
- zh: 같은 문단이 이미 쓰는 `提示`를 두고 `提示词`를, 29행이 쓰는 `文件头`를
  두고 `文件标题`를 새로 만들었다. 파일 어휘로 되돌리고 `即可`도 `可`로.
- ja: 명사구로 끝나 다른 문장(`…を押すと、…されます`)과 호흡이 달랐다.
  같은 구조로 고치고 `選んだ行`도 이미 쓰는 `選択した行`으로 통일한다.

정확성:
- 다섯 문서 전부에 mixed 선택 단서를 붙인다. plainSnippet은 양쪽에 걸친
  선택에서 `+`/`-` 마커를 의도적으로 뺀다(encode.ts). 그래서 "편집기에 그대로"
  라는 약속이 그 경우엔 어긋난다 — 같은 줄의 옛/새 버전이 잇달아 놓인다.

SKILL.md(제외했다가 뒤집는다):
- 59행이 "Grab copies a single fenced block plus the prompt"라고 무조건
  단언해 ⌥⏎ 이후로는 과장이 됐다 → "Pressing Enter copies…"로 한정.
- 더 중요한 건 형식 위험이다: 이 문서는 크로스사이드 블록에서 `-`/`+`/공백
  접두를 벗기라고 지시하는데, ⌥⏎ 산출물은 이미 벗겨져 있어 그 규칙을 그대로
  적용하면 에이전트가 옛/새 줄을 연속된 파일 내용으로 오독한다. 그 규칙 바로
  뒤에 예외와 "어느 파일·어느 side인지 먼저 물어라"를 적는다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PaHtxdofJX6EvH7BWXgYKX
@say8425
say8425 merged commit 0f10469 into main Aug 29, 2026
5 checks passed
@say8425
say8425 deleted the docs/grab-plain-copy-readme branch August 29, 2026 14:17
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