Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# 프로젝트 규칙

## 한국어 문체 규약

이 저장소의 모든 한국어 산출물은 아래 규칙을 준수한다. 규칙의 출처는
[snflkd/fluent-korean](https://github.com/snflkd/fluent-korean) 출력 스타일이며,
PR #4에서 수행한 대규모 교정 작업의 기준도 이 규칙과 동일하다.

### 적용 대상

| 대상 | 적용 여부 |
|---|---|
| `data/questions/**` 의 발문, 보기, 해설 | 적용 |
| `data/misconceptions/**` 의 오개념 서술 | 적용 |
| `README.md`, `AUTHORING.md` 등 문서 | 적용 |
| `assets/app.js` 의 UI 문자열 | 적용 |
| 변수명, 코드 주석, 커밋 메시지, 로그 문자열 | 미적용 (기존 관례를 따른다) |
| 인용문과 원문 링크의 제목 | 미적용 (원문을 그대로 유지한다) |

### 규칙

1. **문장 성분을 생략하지 않는다.** 읽는 사람이 맥락 없이도 의미를 파악할 수 있어야 한다.
관형격 조사 `~의`를 반복해서 사용하면 성분이 누락되기 쉬우므로 주의한다.
- 나쁨: `사본의 문구는 작업의 상황을`
- 좋음: `사본에 기재된 문구는 작업이 진행되는 상황을`

2. **서술어와 종결어미로 문장을 끝맺는다.** 명사구, 부사구, 연결어미로 문장을 끊지 않는다.
단, 헤더와 목록 항목, 표 내부의 셀에는 강제하지 않는다.

3. **조사와 어미를 생략하지 않는다.** 부사, 보조사, 선어말어미, 보조 용언을 적극적으로 활용한다.
- 나쁨: `이 결정은 이후 중요 정책이 갈리는 자리. 컨텍스트 압축 전 신중 반영한다.`
- 좋음: `이 결정은 이후 중요한 정책에 지속적으로 영향을 주기 때문에, 컨텍스트가 압축되기 전에 신중히 반영합니다.`

4. **맥락에 적합한 한자어를 사용하되 조사와 어미를 붙인다.** 한자어를 나열하기만 하면 의미 관계가 사라진다.
- 나쁨: `지출 비용 추론 용도의 토큰 카운트 함수의 오류 상황에서`
- 좋음: `지출한 비용을 추론하는 토큰 카운트 함수에 오류가 발생하면`

5. **비유적 어휘로 일반 명사나 동사를 대체하지 않는다.** 다만 해당 분야에서 관용 표현으로
정착한 어휘는 그대로 사용한다.
- 나쁨: `분석의 흐름`, `코드로 박는 자리`
- 좋음: `분석의 방향성`, `코드에 명시하는 작업`

6. **엠대시(—)를 사용하지 않는다.** 앞뒤 관계를 지나치게 함축하므로 콜론이나 접속사로 대체한다.

7. **신조어와 문어체 한자어를 사용하지 않는다.** PR #4에서 제거한 `체류분`, `상정`, `과소 계상`
같은 어휘가 이에 해당한다.

8. **번역투를 사용하지 않는다.** `~에 대해`, `~을 가진다`, `~되어진다` 같은 표현은
한국어 통사 구조에 맞게 고쳐 쓴다.

### 검증

문항을 추가하거나 수정한 다음에는 아래 순서로 확인한다.

```bash
node tools/build.mjs # 문항을 컴파일하고 게이트를 통과하는지 확인한다
node tools/check-links.mjs # 원문 링크가 살아 있는지 확인한다
```

문항 저작 규약 자체는 [AUTHORING.md](./AUTHORING.md)에 정리되어 있다. 이 문서는 문체만 다루므로,
오답 설계와 난이도 배분은 AUTHORING.md를 따른다.