Skip to content

Commit 62fa866

Browse files
committed
CLAUDE.md로 글 작성 스타일 명시
1 parent 046bd18 commit 62fa866

File tree

1 file changed

+189
-0
lines changed

1 file changed

+189
-0
lines changed

CLAUDE.md

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
# CLAUDE.md — 블로그 게시글 작성 가이드
2+
3+
이 디렉토리는 블로그 게시글을 저장하는 곳이다. 글 작성을 요청받으면 아래 규칙을 반드시 따른다.
4+
5+
## Frontmatter
6+
7+
```yaml
8+
---
9+
title: "제목"
10+
slug: english-kebab-case
11+
created: YYYY-MM-DD
12+
updated: YYYY-MM-DD # 선택. 수정한 경우에만
13+
description: "설명" # 선택
14+
category: category-id # categories.ts의 id 값
15+
tags: [tag1, tag2]
16+
type: [til, series] # 선택. TIL이면 [til], 시리즈면 [series]
17+
series: "시리즈 이름" # 선택. type에 series가 있을 때만
18+
order: 1 # 선택. 시리즈 내 순서
19+
---
20+
```
21+
22+
- `slug`는 반드시 영어 kebab-case
23+
- `category`는 java, kotlin, rust, cpp, spring, blog2, docker, github-actions, arch-linux, linux, algorithm, nvim, etc 중 하나
24+
- `created`는 오늘 날짜 사용
25+
26+
## 파일 위치
27+
28+
`posts/{category}/파일명.md` 형식으로 저장한다.
29+
30+
## 문체
31+
32+
### 종결어미: "~다" 체 (해라체/평서체)
33+
34+
모든 글은 "~다" 체로 작성한다. "~요", "~습니다" 체는 절대 사용하지 않는다.
35+
36+
```
37+
(O) tmux는 서버-클라이언트 구조로 동작한다.
38+
(O) 이 명령은 프로젝트를 빌드할 수 있다.
39+
(O) 러스트에서 변수는 기본적으로 불변이다.
40+
(X) tmux는 서버-클라이언트 구조로 동작합니다.
41+
(X) 이 명령은 프로젝트를 빌드할 수 있어요.
42+
```
43+
44+
### 자주 사용하는 문장 패턴
45+
46+
| 용도 | 패턴 | 예시 |
47+
|------|------|------|
48+
| 정의/설명 | ~이다, ~한다 | "카고는 러스트에서 사용하는 빌드 시스템이다." |
49+
| 해결/방법 | ~하면 된다 | "NFD로 저장된 파일명을 NFC로 변환하면 된다." |
50+
| 필수사항 | ~해야 한다 | "엔티티 클래스는 기본 생성자가 있어야 한다." |
51+
| 이유/근거 | ~이기 때문이다, ~것이다 | "SSH 세션이 끊어져도 작업이 유지되는 이유이기도 하다." |
52+
| 가능성 | ~수 있다 | "워크플로우를 만들어서 자동화할 수 있다." |
53+
| 주의 | ~면 안 된다, ~에 주의한다 | "엔티티 클래스는 final이면 안 된다." |
54+
| 결과 발견 | ~했더니, ~했다 | "turbopack을 사용하니 폴더가 생성되지 않았다." |
55+
| 선택/결정 | ~하기로 했다 | "음악 플레이어를 따로 사용하기로 했다." |
56+
57+
### 1인칭
58+
59+
"나"를 자연스럽게 사용한다.
60+
61+
```
62+
(O) 나는 systemd-boot를 선택했다. 나에겐 속도가 가장 중요하기 때문이다.
63+
(O) 나는 LazyVim을 쓰면서 처음 접했는데, 사용하기 괜찮아서 이걸 선택했다.
64+
(O) 내가 원했던 것은 2안이었지만, 실제로 해 보니 pr과 merge 과정이 더 귀찮았다.
65+
```
66+
67+
### 접속어
68+
69+
자연스럽게 사용하되 과하지 않게:
70+
71+
- "그래서", "그런데", "하지만", "따라서", "그리고"
72+
- "단,", "이렇게 하면", "주의할 점은"
73+
74+
## 글의 종류별 스타일
75+
76+
### 1. 레퍼런스/치트시트 (C++, Java 기본 문법 등)
77+
78+
- 매우 간결하게 작성한다. 불필요한 서론 없이 바로 본론으로 들어간다.
79+
- 코드 위주, 설명은 최소화한다.
80+
- 표(table)로 함수/옵션을 정리한다.
81+
82+
```markdown
83+
## 헤더
84+
85+
\`\`\`cpp
86+
#include <queue>
87+
\`\`\`
88+
89+
## 선언
90+
91+
\`\`\`cpp
92+
queue<int> q;
93+
\`\`\`
94+
95+
## 함수
96+
97+
| 함수 | 설명 |
98+
| ----- | ------------------------- |
99+
| push | back에 값을 추가한다. |
100+
| pop | front의 값을 삭제한다. |
101+
```
102+
103+
### 2. 튜토리얼/문제 해결 (블로그 구축, 설정 등)
104+
105+
- **문제 → 시도 → 해결** 또는 **목표 → 방법 → 결과** 구조를 따른다.
106+
- 과정을 순서대로 서술한다.
107+
- 실패한 시도도 기록한다.
108+
- 코드 블록 사이에 설명을 넣는다.
109+
110+
```markdown
111+
## 문제
112+
113+
개발 코드와 배포 코드가 다르다보니 매번 별도로 배포를 해야 했다.
114+
115+
## 해결
116+
117+
다른 배포 방법이 있었다. GitHub Actions를 통해 workflow 안에서 직접 배포하는 방법이다.
118+
119+
\`\`\`yaml
120+
...
121+
\`\`\`
122+
123+
이렇게 하니 배포 과정이 훨씬 깔끔해졌다.
124+
```
125+
126+
### 3. TIL (Today I Learned)
127+
128+
- 실용적이고 핵심만 전달한다.
129+
- 목표 → 방법 → 동작 방식 순서로 작성한다.
130+
- 깊은 배경지식보다 바로 쓸 수 있는 내용에 집중한다.
131+
132+
### 4. 개념 설명 (알고리즘, 언어 특성 등)
133+
134+
- 개념을 먼저 정의하고, 코드로 보여준다.
135+
- 비교가 있으면 표로 정리한다.
136+
- 공식 문서 링크를 포함한다.
137+
138+
## 마크다운 포맷
139+
140+
### 제목(heading)
141+
142+
- `##`부터 사용한다. `#`은 사용하지 않는다 (제목은 frontmatter의 title이 담당).
143+
- `###``##` 내부의 하위 섹션에 사용한다.
144+
145+
### 코드 블록
146+
147+
- 반드시 언어를 명시한다: ````cpp`, ````bash`, ````yaml`
148+
- 코드 블록 앞뒤에 간결한 설명을 붙인다.
149+
- 주석은 꼭 필요한 경우에만 넣는다.
150+
151+
### 표(table)
152+
153+
- 옵션, 함수, 비교 등 구조화된 정보는 표를 적극 사용한다.
154+
155+
### 인용(blockquote)
156+
157+
- 부연 설명, 주의사항, 팁에 사용한다.
158+
- 개인적인 경험이나 여담을 넣을 때도 사용한다.
159+
160+
```markdown
161+
> turbopack을 사용하니 `.contentlayer` 폴더가 아예 생성되지 않았다. 꼭 turbopack 옵션은 끄고 서버를 실행해야 한다.
162+
163+
> 나는 유선랜이라 추가 작업이 필요 없었다.
164+
```
165+
166+
### 참고 링크
167+
168+
본문 하단에 번호 참조 방식을 선호한다:
169+
170+
```markdown
171+
본문에서 [링크 텍스트][1]로 참조한다.
172+
173+
[1]: https://example.com 'title'
174+
```
175+
176+
또는 인라인 링크도 사용한다:
177+
178+
```markdown
179+
[공식 문서](https://example.com)에서 확인할 수 있다.
180+
```
181+
182+
## 하지 말 것
183+
184+
- "~습니다", "~요" 체 사용 금지
185+
- 과도한 이모지 사용 금지
186+
- 불필요한 인사말이나 맺음말 금지 ("안녕하세요", "감사합니다", "도움이 되셨길 바랍니다" 등)
187+
- 과도하게 친절하거나 장황한 설명 금지
188+
- 내용과 무관한 SEO성 문장 금지
189+
- AI가 작성한 티가 나는 뻔한 표현 금지 ("이번 포스팅에서는", "알아보도록 하겠습니다", "마무리하며" 등)

0 commit comments

Comments
 (0)