codesyncer 3.2.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ko.md +74 -856
- package/README.md +75 -857
- package/dist/commands/skills.d.ts +15 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +176 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/templates/hooks/settings.json +5 -5
- package/package.json +1 -1
- package/src/templates/hooks/settings.json +5 -5
package/README.ko.md
CHANGED
|
@@ -1,952 +1,170 @@
|
|
|
1
|
-
# CodeSyncer
|
|
1
|
+
# CodeSyncer
|
|
2
2
|
|
|
3
3
|
> **Claude는 세션이 끝나면 모든 것을 잊습니다. CodeSyncer가 기억하게 해줍니다.**
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/codesyncer)
|
|
6
6
|
[](./LICENSE)
|
|
7
7
|
[](https://github.com/bitjaru/codesyncer/stargazers)
|
|
8
|
-
[](https://github.com/bitjaru/codesyncer/issues)
|
|
9
8
|
|
|
10
9
|
한국어 | [English](./README.md)
|
|
11
10
|
|
|
12
11
|
---
|
|
13
12
|
|
|
14
|
-
##
|
|
13
|
+
## 문제 → 해결
|
|
15
14
|
|
|
16
15
|
| 문제 | CodeSyncer 없이 | CodeSyncer 사용 시 |
|
|
17
16
|
|------|----------------|-------------------|
|
|
18
|
-
| **맥락 손실** | 매 세션 = 처음부터 다시 |
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
23
|
-
**결과**: 현재 프롬프트만 아는 AI가 아닌, 프로젝트를 진짜로 학습하는 AI
|
|
17
|
+
| **맥락 손실** | 매 세션 = 처음부터 다시 | `@codesyncer-*` 태그 = 영구 기억 |
|
|
18
|
+
| **태그 누락** | 변경사항 추적 안 됨 | `codesyncer watch`가 모두 포착 |
|
|
19
|
+
| **규칙 망각** | 긴 세션에서 AI가 규칙 잊음 | Hooks가 최적 타이밍에 자동 리마인드 |
|
|
20
|
+
| **위험한 추론** | AI가 가격, 보안, API 추측 | 중요 키워드 자동 일시정지 |
|
|
24
21
|
|
|
25
22
|
---
|
|
26
23
|
|
|
27
|
-
##
|
|
24
|
+
## 데모
|
|
28
25
|
|
|
29
26
|

|
|
30
27
|
|
|
31
28
|
---
|
|
32
29
|
|
|
33
|
-
##
|
|
34
|
-
|
|
35
|
-
**핵심 인사이트**: AI는 코드를 읽습니다. 그러니 맥락을 코드 안에 넣으세요.
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
┌─────────────────────────┐
|
|
39
|
-
│ 🧑💻 Claude와 코딩 │
|
|
40
|
-
└───────────┬─────────────┘
|
|
41
|
-
▼
|
|
42
|
-
┌──────────────┐
|
|
43
|
-
│ 결정함? │
|
|
44
|
-
└──────┬───────┘
|
|
45
|
-
▼
|
|
46
|
-
┌─────────────────────────┐
|
|
47
|
-
│ @codesyncer-decision │
|
|
48
|
-
│ @codesyncer-inference │
|
|
49
|
-
└───────────┬─────────────┘
|
|
50
|
-
▼
|
|
51
|
-
┌─────────────────────────┐
|
|
52
|
-
│ 📝 코드에 영구 저장 │
|
|
53
|
-
└───────────┬─────────────┘
|
|
54
|
-
▼
|
|
55
|
-
┌─────────────────────────┐
|
|
56
|
-
│ 🔄 다음 세션 │
|
|
57
|
-
│ Claude가 코드 읽음 │
|
|
58
|
-
└───────────┬─────────────┘
|
|
59
|
-
▼
|
|
60
|
-
┌─────────────────────────┐
|
|
61
|
-
│ ✅ 맥락 복구 완료! │
|
|
62
|
-
└─────────────────────────┘
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
```typescript
|
|
66
|
-
// @codesyncer-decision: [2024-01-15] JWT 선택 (세션 관리가 더 간단함)
|
|
67
|
-
// @codesyncer-inference: 페이지 크기 20 (일반적인 UX 패턴)
|
|
68
|
-
// @codesyncer-rule: httpOnly 쿠키 사용 (XSS 방지)
|
|
69
|
-
const authConfig = { /* ... */ };
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
다음 세션? Claude가 코드를 읽으면 **자동으로 모든 맥락이 복구됩니다**.
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## 🔥 Watch 모드: 맥락을 절대 놓치지 마세요
|
|
77
|
-
|
|
78
|
-
**문제**: Claude가 코딩하면서 태그 추가를 잊을 수 있습니다.
|
|
79
|
-
|
|
80
|
-
**해결**: `codesyncer watch`로 태그 없는 변경을 잡아내세요.
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
codesyncer watch
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
```
|
|
87
|
-
[14:32:10] 📝 변경됨: src/utils/api.ts
|
|
88
|
-
└── ⚠️ 태그 없음!
|
|
89
|
-
💡 힌트: 추론하면 @codesyncer-inference 추가
|
|
90
|
-
|
|
91
|
-
[14:33:22] 📝 변경됨: src/auth/login.ts
|
|
92
|
-
└── 🎯 발견: @codesyncer-decision
|
|
93
|
-
"SWR 대신 React Query 사용"
|
|
94
|
-
└── ✅ DECISIONS.md에 추가됨
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
**왜 중요한가**: 모든 코드 변경은 맥락을 기록할 기회입니다. Watch 모드가 놓치는 것 없이 잡아냅니다.
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## 🪝 Hooks: 자동 리마인드 시스템 (v3.2.0 신규)
|
|
102
|
-
|
|
103
|
-
**문제**: 긴 코딩 세션에서 AI가 태그 규칙을 잊을 수 있습니다.
|
|
104
|
-
|
|
105
|
-
**해결**: Hooks가 AI 응답 완료 전에 자동으로 태그 추가 여부를 리마인드합니다.
|
|
106
|
-
|
|
107
|
-
### 작동 방식
|
|
108
|
-
|
|
109
|
-
`codesyncer init` 실행 시 다음과 같이 묻습니다:
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
🪝 Hooks 설정 (권장)
|
|
113
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
114
|
-
Hooks란?
|
|
115
|
-
세션이 길어지면 AI가 태그 규칙을 까먹을 수 있습니다.
|
|
116
|
-
Hooks를 설정하면 AI가 응답 완료 전에
|
|
117
|
-
자동으로 "태그 붙였어?" 확인합니다.
|
|
118
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
119
|
-
|
|
120
|
-
? Hooks를 설정할까요? (권장) (Y/n)
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
"Y" 선택 시 `.claude/settings.json` 생성:
|
|
124
|
-
|
|
125
|
-
```json
|
|
126
|
-
{
|
|
127
|
-
"hooks": {
|
|
128
|
-
"Stop": [{
|
|
129
|
-
"hooks": [{
|
|
130
|
-
"type": "prompt",
|
|
131
|
-
"prompt": "작업 완료 전 CodeSyncer 체크: 1) 추론→@codesyncer-inference 태그? 2) 결정→@codesyncer-decision 태그? 3) 💰결제/🔐보안→사용자에게 물었나? 빠진 태그가 있으면 지금 추가하세요."
|
|
132
|
-
}]
|
|
133
|
-
}]
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
### Hook 이벤트
|
|
139
|
-
|
|
140
|
-
| 이벤트 | 트리거 시점 | 목적 |
|
|
141
|
-
|--------|------------|------|
|
|
142
|
-
| **Stop** | AI 응답 완료 전 | 태그 추가 리마인드 |
|
|
143
|
-
| **PreCompact** | 컨텍스트 압축 전 | 핵심 규칙 메모리 유지 |
|
|
144
|
-
|
|
145
|
-
### Hooks 관리
|
|
146
|
-
|
|
147
|
-
- **활성화**: AI에게 "CodeSyncer Hooks 설정해줘" 말하기
|
|
148
|
-
- **비활성화**: `.claude/settings.json` 삭제
|
|
149
|
-
- **커스터마이징**: `.claude/settings.json` 직접 편집
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
## 📂 대규모 프로젝트 컨텍스트 최적화 (v3.2.0 신규)
|
|
154
|
-
|
|
155
|
-
코드베이스가 커지면 AI가 헷갈릴 수 있습니다. v3.2.0에서 AI 집중력을 유지하는 기능이 추가되었습니다.
|
|
156
|
-
|
|
157
|
-
### 서브폴더별 CLAUDE.md
|
|
158
|
-
|
|
159
|
-
프로젝트가 커지면 특정 폴더에 CLAUDE.md를 추가하세요:
|
|
160
|
-
|
|
161
|
-
```
|
|
162
|
-
project/
|
|
163
|
-
├── CLAUDE.md # 전체 규칙
|
|
164
|
-
├── src/
|
|
165
|
-
│ ├── payment/
|
|
166
|
-
│ │ └── CLAUDE.md # 결제 관련 규칙 + 태그 리마인드
|
|
167
|
-
│ └── auth/
|
|
168
|
-
│ └── CLAUDE.md # 인증 관련 규칙
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
AI가 해당 폴더에 진입하면 자동으로 관련 CLAUDE.md를 읽습니다.
|
|
172
|
-
|
|
173
|
-
**템플릿 포함**: `src/templates/subfolder-claude.md`
|
|
174
|
-
|
|
175
|
-
### Do Not Touch 영역
|
|
176
|
-
|
|
177
|
-
AI가 절대 수정하면 안 되는 폴더 정의:
|
|
178
|
-
|
|
179
|
-
```markdown
|
|
180
|
-
## 🚫 Do Not Touch
|
|
181
|
-
- `src/generated/` - 자동 생성 파일, 수정 금지
|
|
182
|
-
- `src/legacy/` - 마이그레이션 전까지 수정 금지
|
|
183
|
-
- `.env*` - 환경 변수, 직접 수정 금지
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
이로써 AI가 실수로 중요하거나 자동 생성된 코드를 수정하는 것을 방지합니다.
|
|
187
|
-
|
|
188
|
-
---
|
|
189
|
-
|
|
190
|
-
## 🔗 멀티 레포 작업 추적 (v3.2.0 신규)
|
|
191
|
-
|
|
192
|
-
### Git 브랜치 = 작업 ID
|
|
193
|
-
|
|
194
|
-
브랜치명을 작업 ID로 사용하세요:
|
|
195
|
-
- `feature/AUTH-001-login`
|
|
196
|
-
- `fix/PAY-002-webhook`
|
|
197
|
-
|
|
198
|
-
### 크로스 레포 태그
|
|
199
|
-
|
|
200
|
-
여러 레포에 걸친 작업은 같은 태그 사용:
|
|
201
|
-
|
|
202
|
-
```typescript
|
|
203
|
-
// frontend 레포
|
|
204
|
-
// @codesyncer-work:AUTH-001 로그인 폼
|
|
205
|
-
|
|
206
|
-
// backend 레포
|
|
207
|
-
// @codesyncer-work:AUTH-001 로그인 API
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
레포 전체 검색: `grep -r "@codesyncer-work:AUTH-001" ../`
|
|
211
|
-
|
|
212
|
-
---
|
|
213
|
-
|
|
214
|
-
## ✨ 전체 기능 목록
|
|
215
|
-
|
|
216
|
-
| 기능 | 설명 |
|
|
217
|
-
|------|------|
|
|
218
|
-
| 🏷️ **태그 시스템** | `@codesyncer-decision`, `@codesyncer-inference`, `@codesyncer-rule` - 코드에 영구 맥락 |
|
|
219
|
-
| 🔄 **Watch 모드** | 실시간 모니터링, 태그 없는 변경 경고, DECISIONS.md 자동 동기화 |
|
|
220
|
-
| ✅ **Validate** | 태그 커버리지 확인, 누락된 문서 찾기, 수정 제안 |
|
|
221
|
-
| 🤝 **자동 일시정지** | 결제/보안/인증 키워드 감지 → 코딩 전 확인 |
|
|
222
|
-
| 🪝 **Hooks** | 자동 리마인드 시스템 - 긴 세션에서도 AI가 규칙을 잊지 않음 (v3.2.0 신규) |
|
|
223
|
-
| 📦 **모노레포** | Turborepo, pnpm, Nx, Lerna, npm/yarn workspaces 자동 감지 |
|
|
224
|
-
| 🌐 **다국어** | 한글/영문 완벽 지원 |
|
|
225
|
-
| 🔒 **보안** | 경로 탐색 방지 및 입력 검증 |
|
|
226
|
-
|
|
227
|
-
---
|
|
228
|
-
|
|
229
|
-
## 🔄 전체 워크플로우
|
|
230
|
-
|
|
231
|
-
```
|
|
232
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
233
|
-
│ 1. 설정 (최초 1회) │
|
|
234
|
-
│ $ npm install -g codesyncer │
|
|
235
|
-
│ $ codesyncer init │
|
|
236
|
-
│ → CLAUDE.md, SETUP_GUIDE.md 생성 │
|
|
237
|
-
└─────────────────────────────────────────────────────────────┘
|
|
238
|
-
↓
|
|
239
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
240
|
-
│ 2. AI 학습시키기 (세션마다 1회) │
|
|
241
|
-
│ Claude Code 열고 말하기: │
|
|
242
|
-
│ "CLAUDE.md 읽어줘" │
|
|
243
|
-
│ → Claude가 태그 시스템 학습 │
|
|
244
|
-
└─────────────────────────────────────────────────────────────┘
|
|
245
|
-
↓
|
|
246
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
247
|
-
│ 3. 코딩 (watch 모드 실행 상태로) │
|
|
248
|
-
│ $ codesyncer watch ← 백그라운드 실행 │
|
|
249
|
-
│ Claude와 평소처럼 코딩 │
|
|
250
|
-
│ → Claude가 @codesyncer-* 태그 자동 추가 │
|
|
251
|
-
│ → Watch 모드가 태그 누락 시 알림 │
|
|
252
|
-
└─────────────────────────────────────────────────────────────┘
|
|
253
|
-
↓
|
|
254
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
255
|
-
│ 4. 다음 세션 │
|
|
256
|
-
│ Claude가 코드 읽음 → 태그 확인 │
|
|
257
|
-
│ → 맥락 자동 복구 완료! │
|
|
258
|
-
└─────────────────────────────────────────────────────────────┘
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
**지원 AI 도구:**
|
|
262
|
-
- ✅ **Claude Code** (권장)
|
|
263
|
-
- 🚧 Cursor, GitHub Copilot, Continue.dev (곧 지원 예정)
|
|
264
|
-
|
|
265
|
-
---
|
|
266
|
-
|
|
267
|
-
## 📦 설치
|
|
268
|
-
|
|
269
|
-
```bash
|
|
270
|
-
npm install -g codesyncer
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
## 🔄 CodeSyncer 업데이트
|
|
276
|
-
|
|
277
|
-
### 현재 버전 확인
|
|
278
|
-
```bash
|
|
279
|
-
codesyncer --version
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
### 최신 버전 확인
|
|
283
|
-
```bash
|
|
284
|
-
npm view codesyncer version
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
### 최신 버전으로 업데이트
|
|
288
|
-
```bash
|
|
289
|
-
npm install -g codesyncer@latest
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
### 업데이트 후, 검증 및 프로젝트 동기화
|
|
293
|
-
|
|
294
|
-
CodeSyncer를 새 버전으로 업데이트한 후, 먼저 설정을 검증하고 동기화하세요:
|
|
295
|
-
|
|
296
|
-
```bash
|
|
297
|
-
cd /path/to/your/multi-repo-workspace
|
|
298
|
-
|
|
299
|
-
# 1단계: 설정 검증 (v2.7.0 신규)
|
|
300
|
-
codesyncer validate
|
|
301
|
-
|
|
302
|
-
# 2단계: 문제 수정
|
|
303
|
-
codesyncer update
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
#### v2.7.0 신규: `codesyncer validate`
|
|
307
|
-
|
|
308
|
-
`validate` 명령어는 CodeSyncer 설정을 검사하고 문제를 보고합니다:
|
|
309
|
-
|
|
310
|
-
```bash
|
|
311
|
-
codesyncer validate # 기본 검증
|
|
312
|
-
codesyncer validate --verbose # 파일 경로 표시
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
**검사 항목:**
|
|
316
|
-
- ✅ 마스터 설정 존재 여부 (`.codesyncer/MASTER_CODESYNCER.md`)
|
|
317
|
-
- ✅ AI 자동 로드용 루트 `CLAUDE.md`
|
|
318
|
-
- ✅ 모든 레포지토리의 필수 `.claude/` 파일
|
|
319
|
-
- ✅ 생성된 파일의 미완성 플레이스홀더
|
|
320
|
-
- ✅ 언어 설정
|
|
321
|
-
|
|
322
|
-
**출력 예시:**
|
|
323
|
-
```
|
|
324
|
-
🔍 CodeSyncer - Validate
|
|
325
|
-
|
|
326
|
-
📊 정보
|
|
327
|
-
────────────────────────────────────────
|
|
328
|
-
레포지토리 수: 3
|
|
329
|
-
설정 완료된 레포: 2/3
|
|
330
|
-
언어: ko (config.json)
|
|
331
|
-
|
|
332
|
-
⚠️ 경고
|
|
333
|
-
────────────────────────────────────────
|
|
334
|
-
• mobile-app: ARCHITECTURE.md 누락
|
|
335
|
-
• 루트 CLAUDE.md 없음 (AI 자동 로드 불가)
|
|
336
|
-
|
|
337
|
-
────────────────────────────────────────
|
|
338
|
-
⚠️ 검증 완료 (경고 2개)
|
|
339
|
-
|
|
340
|
-
💡 수정하려면:
|
|
341
|
-
codesyncer update
|
|
342
|
-
```
|
|
343
|
-
|
|
344
|
-
#### `codesyncer update`
|
|
345
|
-
|
|
346
|
-
프로젝트를 최신 템플릿 및 기능과 동기화:
|
|
347
|
-
|
|
348
|
-
**수행 작업:**
|
|
349
|
-
1. ✅ 워크스페이스에 추가된 새 레포지토리 스캔
|
|
350
|
-
2. ✅ 새 버전에서 누락된 파일 감지 (예: v2.1.2+ 버전의 루트 CLAUDE.md)
|
|
351
|
-
3. ✅ 언어 설정 자동 감지 (한국어/영어)
|
|
352
|
-
4. ✅ 새 파일 생성 전 사용자 확인 요청
|
|
353
|
-
5. ✅ 기존 커스터마이징 내용 보존
|
|
354
|
-
6. ✅ **v3.1.0 신규**: 구버전 템플릿 감지 및 업그레이드 제안
|
|
355
|
-
|
|
356
|
-
**출력 예시:**
|
|
357
|
-
```
|
|
358
|
-
🔄 CodeSyncer - Update System
|
|
359
|
-
|
|
360
|
-
✓ Scan complete
|
|
361
|
-
|
|
362
|
-
⚠️ Missing root CLAUDE.md (new in v2.1.2)
|
|
363
|
-
This file allows Claude to automatically load context at session start.
|
|
364
|
-
|
|
365
|
-
? 루트 CLAUDE.md를 생성할까요? (Y/n) Y
|
|
366
|
-
|
|
367
|
-
✓ 루트 CLAUDE.md 생성 완료!
|
|
368
|
-
💡 이제 Claude가 세션 시작 시 자동으로 컨텍스트를 로드합니다!
|
|
369
|
-
|
|
370
|
-
🤖 다음 단계 (AI 어시스턴트에게):
|
|
371
|
-
────────────────────────────────────────────────────────────
|
|
372
|
-
옵션 1) 새 세션 시작
|
|
373
|
-
Claude가 자동으로 루트 CLAUDE.md를 찾아서 읽습니다.
|
|
374
|
-
|
|
375
|
-
옵션 2) 현재 세션에서 바로 적용
|
|
376
|
-
"CLAUDE.md 읽어줘"
|
|
377
|
-
────────────────────────────────────────────────────────────
|
|
378
|
-
|
|
379
|
-
✅ Update complete!
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
#### 템플릿 업그레이드 (v3.1.0 신규)
|
|
383
|
-
|
|
384
|
-
CodeSyncer를 새 버전으로 업데이트하면, 기존 템플릿 파일이 구버전일 수 있습니다. `update` 명령어가 이를 자동으로 감지합니다:
|
|
385
|
-
|
|
386
|
-
```
|
|
387
|
-
📦 새 버전 감지: v3.1.0
|
|
388
|
-
|
|
389
|
-
📁 my-project/
|
|
390
|
-
• CLAUDE.md (v3.0.0 → v3.1.0)
|
|
391
|
-
• COMMENT_GUIDE.md (버전 없음 → v3.1.0)
|
|
392
|
-
|
|
393
|
-
? 2개 템플릿을 업그레이드할까요?
|
|
394
|
-
> 예 - 업그레이드 (기존 파일 .backup으로 백업)
|
|
395
|
-
아니오 - 건너뛰기
|
|
396
|
-
미리보기 - 변경 파일만 확인
|
|
397
|
-
```
|
|
398
|
-
|
|
399
|
-
**기능:**
|
|
400
|
-
- 🔍 버전 메타데이터를 읽어 구버전 템플릿 자동 감지
|
|
401
|
-
- 💾 업그레이드 전 `.backup` 파일 생성 (예: `CLAUDE.md.backup.2024-01-17`)
|
|
402
|
-
- 📋 업그레이드 시 프로젝트 변수 (프로젝트 이름, 기술 스택) 보존
|
|
403
|
-
- 👁️ 변경 사항을 미리 확인하는 미리보기 옵션
|
|
404
|
-
|
|
405
|
-
**`codesyncer update` 실행 후:**
|
|
406
|
-
|
|
407
|
-
다음 중 하나를 선택하여 변경사항을 적용하세요:
|
|
408
|
-
|
|
409
|
-
**옵션 1: 새 AI 세션 시작** (권장)
|
|
410
|
-
- 현재 AI 어시스턴트 종료
|
|
411
|
-
- 새 세션 시작
|
|
412
|
-
- Claude가 자동으로 루트 CLAUDE.md를 찾아서 읽음
|
|
413
|
-
|
|
414
|
-
**옵션 2: 현재 세션에서 적용**
|
|
415
|
-
- AI에게 말하기: **"CLAUDE.md 읽어줘"**
|
|
416
|
-
- AI가 즉시 업데이트된 컨텍스트 로드
|
|
417
|
-
|
|
418
|
-
---
|
|
419
|
-
|
|
420
|
-
## 🚀 빠른 시작
|
|
421
|
-
|
|
422
|
-
### 1단계: CodeSyncer 설치
|
|
30
|
+
## 빠른 시작
|
|
423
31
|
|
|
424
32
|
```bash
|
|
33
|
+
# 1. 설치
|
|
425
34
|
npm install -g codesyncer
|
|
426
|
-
```
|
|
427
35
|
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
AI 코딩 어시스턴트를 실행하세요:
|
|
431
|
-
- **Claude Code** (권장)
|
|
432
|
-
- Cursor
|
|
433
|
-
- GitHub Copilot
|
|
434
|
-
- 또는 다른 AI 코딩 도구
|
|
435
|
-
|
|
436
|
-
반드시 **활성화되어 실행 중**이어야 합니다.
|
|
437
|
-
|
|
438
|
-
### 3단계: 프로젝트로 이동
|
|
439
|
-
|
|
440
|
-
```bash
|
|
36
|
+
# 2. 초기화
|
|
441
37
|
cd /path/to/your/project
|
|
442
|
-
```
|
|
443
|
-
|
|
444
|
-
CodeSyncer는 **단일 레포지토리**, **멀티 레포 워크스페이스**, **모노레포** 모두 지원합니다:
|
|
445
|
-
|
|
446
|
-
**단일 레포지토리** (자동 감지):
|
|
447
|
-
```
|
|
448
|
-
my-project/
|
|
449
|
-
├── package.json
|
|
450
|
-
├── src/
|
|
451
|
-
└── ...
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
**멀티 레포 워크스페이스**:
|
|
455
|
-
```
|
|
456
|
-
workspace/
|
|
457
|
-
├── backend/
|
|
458
|
-
├── frontend/
|
|
459
|
-
└── mobile/
|
|
460
|
-
```
|
|
461
|
-
|
|
462
|
-
**모노레포** (Turborepo, pnpm, Nx, Lerna, npm/yarn workspaces 자동 감지):
|
|
463
|
-
```
|
|
464
|
-
monorepo/
|
|
465
|
-
├── package.json # workspaces: ["packages/*", "apps/*"]
|
|
466
|
-
├── turbo.json # 또는 pnpm-workspace.yaml, nx.json, lerna.json
|
|
467
|
-
├── packages/
|
|
468
|
-
│ ├── shared/
|
|
469
|
-
│ └── ui/
|
|
470
|
-
└── apps/
|
|
471
|
-
├── web/
|
|
472
|
-
└── api/
|
|
473
|
-
```
|
|
474
|
-
|
|
475
|
-
### 4단계: CodeSyncer 초기화
|
|
476
|
-
|
|
477
|
-
```bash
|
|
478
38
|
codesyncer init
|
|
479
|
-
```
|
|
480
|
-
|
|
481
|
-
다음을 입력합니다:
|
|
482
|
-
- 언어 선택 (한글/English)
|
|
483
|
-
- 프로젝트 이름
|
|
484
|
-
- GitHub 사용자명
|
|
485
|
-
|
|
486
|
-
**실행 과정:**
|
|
487
|
-
|
|
488
|
-
| 모드 | 감지 조건 | 생성 결과 |
|
|
489
|
-
|------|-----------|-----------|
|
|
490
|
-
| **단일 레포** | 현재 폴더에 `package.json`, `.git` 등 존재 | `.claude/SETUP_GUIDE.md` 생성 |
|
|
491
|
-
| **모노레포** | `turbo.json`, `pnpm-workspace.yaml`, `nx.json`, `lerna.json` 또는 `package.json`의 `workspaces` 존재 | `.codesyncer/SETUP_GUIDE.md` 생성 (패키지별 설정) |
|
|
492
|
-
| **멀티 레포** | 하위 폴더에 별도 레포지토리들 존재 | `.codesyncer/SETUP_GUIDE.md` 생성 |
|
|
493
|
-
|
|
494
|
-
**CodeSyncer는 여기까지만 합니다!** 프레임워크와 규칙만 제공하고, 이제 AI가 직접 설정합니다.
|
|
495
39
|
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
## ⚠️ 중요: 5단계 - AI가 모든 설정 완료
|
|
499
|
-
|
|
500
|
-
> **🎯 이 단계를 건너뛰지 마세요!** 여기서 마법이 일어납니다.
|
|
40
|
+
# 3. AI가 설정 완료 (Claude에게 말하기)
|
|
41
|
+
".claude/SETUP_GUIDE.md 읽고 지시사항대로 설정해줘"
|
|
501
42
|
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
**단일 레포지토리의 경우:**
|
|
505
|
-
```
|
|
506
|
-
".claude/SETUP_GUIDE.md 파일을 읽고 지시사항대로 설정해줘"
|
|
507
|
-
```
|
|
508
|
-
|
|
509
|
-
**멀티 레포 워크스페이스의 경우:**
|
|
510
|
-
```
|
|
511
|
-
".codesyncer/SETUP_GUIDE.md 파일을 읽고 지시사항대로 설정해줘"
|
|
43
|
+
# 4. 코딩 시작 (매 세션마다)
|
|
44
|
+
"CLAUDE.md 읽어줘"
|
|
512
45
|
```
|
|
513
46
|
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
**1️⃣ AI가 코드 분석**
|
|
517
|
-
- 각 레포지토리의 실제 파일 읽기
|
|
518
|
-
- 기술 스택, 패턴, 구조 파악
|
|
519
|
-
- 프로젝트 아키텍처 이해
|
|
520
|
-
|
|
521
|
-
**2️⃣ AI가 중요한 질문** (절대 추론하지 않음!)
|
|
522
|
-
- ❓ "API 엔드포인트가 뭐예요?"
|
|
523
|
-
- ❓ "가격 정책과 비즈니스 로직은 어떻게 되나요?"
|
|
524
|
-
- ❓ "어떤 인증 방식을 사용하나요?"
|
|
525
|
-
- ❓ "데이터베이스 스키마는 어떻게 구성되어 있나요?"
|
|
526
|
-
- ❓ "어떤 외부 서비스와 연동하나요?"
|
|
527
|
-
|
|
528
|
-
**3️⃣ AI가 완전한 문서 생성**
|
|
529
|
-
- `.codesyncer/MASTER_CODESYNCER.md` → 멀티 레포 네비게이션
|
|
530
|
-
- `<repo>/.claude/CLAUDE.md` → 코딩 규칙
|
|
531
|
-
- `<repo>/.claude/ARCHITECTURE.md` → 프로젝트 구조
|
|
532
|
-
- `<repo>/.claude/DECISIONS.md` → 의사결정 기록
|
|
533
|
-
- `<repo>/.claude/COMMENT_GUIDE.md` → 주석 태그 가이드
|
|
47
|
+
---
|
|
534
48
|
|
|
535
|
-
|
|
49
|
+
## 핵심 기능
|
|
536
50
|
|
|
537
|
-
|
|
51
|
+
### 🏷️ 태그 시스템
|
|
538
52
|
|
|
539
|
-
|
|
53
|
+
맥락을 코드 안에 넣으세요. AI가 코드를 읽으면 자동으로 맥락 복구.
|
|
540
54
|
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
55
|
+
```typescript
|
|
56
|
+
// @codesyncer-decision: [2024-01-15] JWT 선택 (세션 관리가 더 간단함)
|
|
57
|
+
// @codesyncer-inference: 페이지 크기 20 (일반적인 UX 패턴)
|
|
58
|
+
const authConfig = { /* ... */ };
|
|
544
59
|
```
|
|
545
60
|
|
|
546
|
-
|
|
547
|
-
- 프로젝트의 코딩 규칙 준수
|
|
548
|
-
- 올바른 기술 스택 패턴 사용
|
|
549
|
-
- 중요한 결정 전 질문
|
|
550
|
-
- 모든 결정을 `@codesyncer-*` 태그로 기록
|
|
61
|
+
**[→ 태그 시스템 가이드](./docs/ko/TAGS.md)**
|
|
551
62
|
|
|
552
63
|
---
|
|
553
64
|
|
|
554
|
-
|
|
65
|
+
### 🔄 Watch 모드
|
|
555
66
|
|
|
556
|
-
|
|
557
|
-
```bash
|
|
558
|
-
codesyncer init
|
|
559
|
-
```
|
|
67
|
+
태그 없는 변경을 실시간 감지:
|
|
560
68
|
|
|
561
|
-
### 프로젝트 구조 업데이트
|
|
562
69
|
```bash
|
|
563
|
-
codesyncer
|
|
564
|
-
```
|
|
565
|
-
|
|
566
|
-
### Watch 모드 (v2.6.0 신규)
|
|
567
|
-
```bash
|
|
568
|
-
codesyncer watch # 실시간 모니터링 시작
|
|
569
|
-
codesyncer watch --log # 파일 로깅 포함
|
|
70
|
+
codesyncer watch
|
|
570
71
|
```
|
|
571
72
|
|
|
572
|
-
**기능:**
|
|
573
|
-
- 파일 변경 실시간 감지
|
|
574
|
-
- `@codesyncer-*` 태그 자동으로 `DECISIONS.md`에 동기화
|
|
575
|
-
- 예쁜 콘솔 출력과 세션 통계
|
|
576
|
-
|
|
577
|
-
**출력 예시:**
|
|
578
73
|
```
|
|
579
|
-
[14:32:10]
|
|
74
|
+
[14:32:10] 📝 변경됨: src/auth/login.ts
|
|
580
75
|
└── 🎯 발견: @codesyncer-decision
|
|
581
|
-
"SWR 대신 React Query 사용"
|
|
582
76
|
└── ✅ DECISIONS.md에 추가됨
|
|
583
77
|
```
|
|
584
78
|
|
|
585
|
-
|
|
586
|
-
```bash
|
|
587
|
-
codesyncer add-repo
|
|
588
|
-
```
|
|
589
|
-
|
|
590
|
-
---
|
|
591
|
-
|
|
592
|
-
## 🏷️ 주석 태그 시스템
|
|
593
|
-
|
|
594
|
-
CodeSyncer는 체계적인 주석 태그 시스템을 사용하여 모든 AI의 추론과 결정을 코드에 영구 기록합니다.
|
|
595
|
-
|
|
596
|
-
### 사용 가능한 태그
|
|
597
|
-
|
|
598
|
-
| 태그 | 용도 | 예시 |
|
|
599
|
-
|-----|------|------|
|
|
600
|
-
| `@codesyncer-rule` | 특별한 규칙 (일반적이지 않은 구현) | `// @codesyncer-rule: any 타입 허용 (외부 라이브러리 타입 없음)` |
|
|
601
|
-
| `@codesyncer-inference` | AI가 추론한 내용과 근거 | `// @codesyncer-inference: 페이지 크기 20 (표준 UX)` |
|
|
602
|
-
| `@codesyncer-decision` | 의논 후 결정 사항 | `// @codesyncer-decision: [2024-10-15] Stripe 사용 (해외 결제)` |
|
|
603
|
-
| `@codesyncer-todo` | 사용자 확인 필요 | `// @codesyncer-todo: API 엔드포인트 URL 확인 필요` |
|
|
604
|
-
| `@codesyncer-context` | 비즈니스 맥락 설명 | `// @codesyncer-context: GDPR 준수 (30일 보관)` |
|
|
605
|
-
|
|
606
|
-
### 레거시 호환성
|
|
607
|
-
|
|
608
|
-
기존 `@claude-*` 태그도 완벽 호환:
|
|
609
|
-
```typescript
|
|
610
|
-
@claude-rule = @codesyncer-rule
|
|
611
|
-
@claude-inference = @codesyncer-inference
|
|
612
|
-
@claude-decision = @codesyncer-decision
|
|
613
|
-
@claude-todo = @codesyncer-todo
|
|
614
|
-
@claude-context = @codesyncer-context
|
|
615
|
-
```
|
|
79
|
+
**[→ 고급 사용법](./docs/ko/ADVANCED.md)**
|
|
616
80
|
|
|
617
81
|
---
|
|
618
82
|
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
CodeSyncer는 중요한 키워드가 감지되면 자동으로 AI 작업을 일시 정지하여 비용이 많이 드는 실수를 방지합니다.
|
|
83
|
+
### 🪝 Hooks
|
|
622
84
|
|
|
623
|
-
|
|
85
|
+
최적의 순간에 AI에게 자동 리마인드 (매 응답이 아닌):
|
|
624
86
|
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
87
|
+
| Hook | 시점 | 이유 |
|
|
88
|
+
|------|------|------|
|
|
89
|
+
| **SessionStart** | 세션 시작 | 규칙 한 번 주입 |
|
|
90
|
+
| **PreCompact** | 압축 전 | 규칙이 압축 후에도 유지 |
|
|
629
91
|
|
|
630
|
-
|
|
92
|
+
**CodeSyncer는 가장 효율적인 Hook 타이밍을 사용합니다.**
|
|
631
93
|
|
|
632
|
-
|
|
633
|
-
2. **자동으로 작업 중단**
|
|
634
|
-
3. 추천안 + 대안 제시
|
|
635
|
-
4. 사용자 결정 대기
|
|
636
|
-
5. 결정 사항을 `DECISIONS.md` + 코드 주석에 기록
|
|
637
|
-
6. 작업 재개
|
|
94
|
+
**[→ Hooks 가이드](./docs/ko/HOOKS.md)**
|
|
638
95
|
|
|
639
96
|
---
|
|
640
97
|
|
|
641
|
-
##
|
|
98
|
+
## 지원 AI 도구
|
|
642
99
|
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
설치 중 언제든 언어를 변경하거나 언어별 명령어를 사용할 수 있습니다.
|
|
100
|
+
| 도구 | 상태 |
|
|
101
|
+
|------|------|
|
|
102
|
+
| **Claude Code** | ✅ 완벽 지원 |
|
|
103
|
+
| Cursor | 🚧 곧 지원 예정 |
|
|
104
|
+
| GitHub Copilot | 🚧 곧 지원 예정 |
|
|
650
105
|
|
|
651
106
|
---
|
|
652
107
|
|
|
653
|
-
##
|
|
108
|
+
## 문서
|
|
654
109
|
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
- 🟢 Node.js / Express
|
|
663
|
-
- 📱 React Native
|
|
664
|
-
|
|
665
|
-
다음 파일들을 스캔하여 자동 감지:
|
|
666
|
-
- `package.json`, `pom.xml`, `build.gradle`, `requirements.txt`
|
|
667
|
-
- 폴더 구조 및 의존성 목록
|
|
110
|
+
| 가이드 | 설명 |
|
|
111
|
+
|--------|------|
|
|
112
|
+
| **[설정 가이드](./docs/ko/SETUP.md)** | 설치, 설정, 업데이트 |
|
|
113
|
+
| **[태그 시스템](./docs/ko/TAGS.md)** | 모든 태그와 예시 |
|
|
114
|
+
| **[Hooks 가이드](./docs/ko/HOOKS.md)** | Hook 이벤트와 커스터마이징 |
|
|
115
|
+
| **[고급 사용법](./docs/ko/ADVANCED.md)** | Watch 모드, 자동 의논, 모노레포 |
|
|
116
|
+
| **[FAQ](./docs/ko/FAQ.md)** | 자주 묻는 질문 |
|
|
668
117
|
|
|
669
118
|
---
|
|
670
119
|
|
|
671
|
-
##
|
|
672
|
-
|
|
673
|
-
### 시나리오: 결제 기능 추가
|
|
120
|
+
## 명령어
|
|
674
121
|
|
|
675
122
|
```bash
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
🔄 대안:
|
|
683
|
-
A. 아임포트 (한국 전용)
|
|
684
|
-
B. Toss Payments
|
|
685
|
-
C. 직접 구현
|
|
686
|
-
|
|
687
|
-
어떻게 진행할까요?
|
|
688
|
-
|
|
689
|
-
사용자: "진행"
|
|
690
|
-
|
|
691
|
-
AI: ✅ 결정 사항 기록 중...
|
|
692
|
-
|
|
693
|
-
생성:
|
|
694
|
-
- backend/src/services/PaymentService.ts
|
|
695
|
-
/**
|
|
696
|
-
* @codesyncer-decision: [2024-11-12] Stripe 사용 (해외 결제 지원)
|
|
697
|
-
* @codesyncer-context: USD, EUR, KRW 지원
|
|
698
|
-
*/
|
|
699
|
-
|
|
700
|
-
- frontend/src/components/PaymentForm.tsx
|
|
701
|
-
- DECISIONS.md 업데이트
|
|
702
|
-
|
|
703
|
-
✅ 결제 연동 완료!
|
|
123
|
+
codesyncer init # 프로젝트 초기화
|
|
124
|
+
codesyncer update # 템플릿 업데이트
|
|
125
|
+
codesyncer validate # 설정 검증
|
|
126
|
+
codesyncer watch # 실시간 모니터링
|
|
127
|
+
codesyncer add-repo # 워크스페이스에 레포 추가
|
|
128
|
+
codesyncer skills # skills.sh 리더보드 보기
|
|
704
129
|
```
|
|
705
130
|
|
|
706
131
|
---
|
|
707
132
|
|
|
708
|
-
##
|
|
709
|
-
|
|
710
|
-
### CodeSyncer 사용 전 ❌
|
|
711
|
-
- AI가 중요한 비즈니스 로직을 추측함
|
|
712
|
-
- 결정 이유가 기록되지 않음
|
|
713
|
-
- 레포 전환 시 컨텍스트 상실
|
|
714
|
-
- 팀 전체에 일관성 없는 코딩 패턴
|
|
715
|
-
|
|
716
|
-
### CodeSyncer 사용 후 ✅
|
|
717
|
-
- AI가 중요한 결정에서 일시 정지
|
|
718
|
-
- 모든 결정 영구 기록
|
|
719
|
-
- 매끄러운 멀티 레포 워크플로우
|
|
720
|
-
- 일관된 협업 시스템
|
|
721
|
-
- 신입 온보딩 시간 단축
|
|
722
|
-
|
|
723
|
-
---
|
|
724
|
-
|
|
725
|
-
## 🤖 지원 AI 도구
|
|
726
|
-
|
|
727
|
-
### ✅ 현재 지원
|
|
728
|
-
- **Claude Code** (완벽 지원)
|
|
729
|
-
|
|
730
|
-
### 🚧 곧 지원 예정 (커뮤니티 기여 환영!)
|
|
731
|
-
- Cursor
|
|
732
|
-
- GitHub Copilot
|
|
733
|
-
- Continue.dev
|
|
734
|
-
- Codeium
|
|
735
|
-
|
|
736
|
-
선호하는 AI 도구 지원을 추가하고 싶으신가요? [여기서 기여하세요!](https://github.com/bitjaru/codesyncer/issues)
|
|
737
|
-
|
|
738
|
-
---
|
|
739
|
-
|
|
740
|
-
## 📁 프로젝트 구조
|
|
741
|
-
|
|
742
|
-
`codesyncer init` 실행 후 프로젝트 구조:
|
|
743
|
-
|
|
744
|
-
### 단일 레포지토리 모드
|
|
745
|
-
|
|
746
|
-
```
|
|
747
|
-
my-project/
|
|
748
|
-
├── CLAUDE.md # Claude가 먼저 읽는 파일
|
|
749
|
-
└── .claude/
|
|
750
|
-
├── CLAUDE.md # 코딩 가이드라인
|
|
751
|
-
├── COMMENT_GUIDE.md # 태그 사용 가이드
|
|
752
|
-
├── ARCHITECTURE.md # 프로젝트 구조
|
|
753
|
-
├── DECISIONS.md # 의사결정 기록
|
|
754
|
-
└── settings.json # Hooks 설정 (v3.2.0+, 선택)
|
|
755
|
-
```
|
|
756
|
-
|
|
757
|
-
### 멀티 레포지토리 모드
|
|
758
|
-
|
|
759
|
-
```
|
|
760
|
-
workspace/
|
|
761
|
-
├── CLAUDE.md # Claude가 먼저 읽는 파일
|
|
762
|
-
├── .codesyncer/
|
|
763
|
-
│ └── MASTER_CODESYNCER.md # 멀티 레포 자동 전환 가이드
|
|
764
|
-
├── backend/
|
|
765
|
-
│ └── .claude/
|
|
766
|
-
│ ├── CLAUDE.md # 코딩 가이드라인
|
|
767
|
-
│ ├── COMMENT_GUIDE.md # 태그 사용 가이드
|
|
768
|
-
│ ├── ARCHITECTURE.md # 프로젝트 구조
|
|
769
|
-
│ └── DECISIONS.md # 의사결정 기록
|
|
770
|
-
├── frontend/
|
|
771
|
-
│ └── .claude/
|
|
772
|
-
│ └── (동일한 파일들)
|
|
773
|
-
└── mobile/
|
|
774
|
-
└── .claude/
|
|
775
|
-
└── (동일한 파일들)
|
|
776
|
-
```
|
|
777
|
-
|
|
778
|
-
### 모노레포 모드 (v2.4.0 신규)
|
|
133
|
+
## 기여하기
|
|
779
134
|
|
|
780
|
-
|
|
781
|
-
monorepo/
|
|
782
|
-
├── CLAUDE.md # Claude가 먼저 읽는 파일
|
|
783
|
-
├── .codesyncer/
|
|
784
|
-
│ └── MASTER_CODESYNCER.md # 패키지 네비게이션 가이드
|
|
785
|
-
├── packages/
|
|
786
|
-
│ ├── shared/
|
|
787
|
-
│ │ └── .claude/
|
|
788
|
-
│ │ └── (동일한 파일들)
|
|
789
|
-
│ └── ui/
|
|
790
|
-
│ └── .claude/
|
|
791
|
-
│ └── (동일한 파일들)
|
|
792
|
-
└── apps/
|
|
793
|
-
├── web/
|
|
794
|
-
│ └── .claude/
|
|
795
|
-
│ └── (동일한 파일들)
|
|
796
|
-
└── api/
|
|
797
|
-
└── .claude/
|
|
798
|
-
└── (동일한 파일들)
|
|
799
|
-
```
|
|
135
|
+
기여를 환영합니다! [CONTRIBUTING.md](./CONTRIBUTING.md) 참조
|
|
800
136
|
|
|
801
|
-
|
|
802
|
-
-
|
|
803
|
-
-
|
|
804
|
-
-
|
|
805
|
-
- ✅ Lerna (`lerna.json`)
|
|
806
|
-
- ✅ npm/Yarn workspaces (`package.json`의 `workspaces` 필드)
|
|
807
|
-
- ✅ Rush (`rush.json`)
|
|
137
|
+
**우선순위:**
|
|
138
|
+
- 🤖 더 많은 AI 도구 지원
|
|
139
|
+
- 🌐 추가 언어 번역
|
|
140
|
+
- 📦 더 많은 기술 스택 템플릿
|
|
808
141
|
|
|
809
142
|
---
|
|
810
143
|
|
|
811
|
-
##
|
|
812
|
-
|
|
813
|
-
### 커스텀 키워드
|
|
144
|
+
## 후원
|
|
814
145
|
|
|
815
|
-
|
|
146
|
+
CodeSyncer가 도움이 되셨다면:
|
|
147
|
+
- ⭐ Star
|
|
148
|
+
- 🐦 트위터 공유
|
|
816
149
|
|
|
817
|
-
|
|
818
|
-
codesyncer init --mode expert
|
|
150
|
+
**이더리움 (ETH):**
|
|
819
151
|
```
|
|
820
|
-
|
|
821
|
-
"커스텀 키워드 추가" 선택 후 다음 지정:
|
|
822
|
-
- 감지할 키워드
|
|
823
|
-
- 중요도 (CRITICAL/IMPORTANT/MINOR)
|
|
824
|
-
- 설명
|
|
825
|
-
|
|
826
|
-
### 기존 프로젝트 업데이트
|
|
827
|
-
|
|
828
|
-
`codesyncer update` 실행하여:
|
|
829
|
-
- `ARCHITECTURE.md`의 프로젝트 구조 갱신
|
|
830
|
-
- 주석 태그 통계 업데이트
|
|
831
|
-
- 파일 구조 재스캔
|
|
832
|
-
|
|
833
|
-
---
|
|
834
|
-
|
|
835
|
-
## 🔍 태그 검색
|
|
836
|
-
|
|
837
|
-
코드베이스에서 모든 태그 찾기:
|
|
838
|
-
|
|
839
|
-
```bash
|
|
840
|
-
# 모든 추론
|
|
841
|
-
grep -r "@codesyncer-inference" ./src
|
|
842
|
-
|
|
843
|
-
# 모든 TODO
|
|
844
|
-
grep -r "@codesyncer-todo" ./src
|
|
845
|
-
|
|
846
|
-
# 모든 결정 사항
|
|
847
|
-
grep -r "@codesyncer-decision" ./src
|
|
152
|
+
0x0a12177c448778a37Fa4EeA57d33D06713F200De
|
|
848
153
|
```
|
|
849
154
|
|
|
850
155
|
---
|
|
851
156
|
|
|
852
|
-
##
|
|
853
|
-
|
|
854
|
-
기여를 환영합니다! CodeSyncer는 오픈소스이며 커뮤니티 중심입니다.
|
|
855
|
-
|
|
856
|
-
### 🚀 기여자를 위한 빠른 시작
|
|
857
|
-
|
|
858
|
-
1. **Fork** 이 레포지토리를 Fork 하세요
|
|
859
|
-
2. **Clone** Fork한 레포를 클론: `git clone https://github.com/YOUR_USERNAME/codesyncer.git`
|
|
860
|
-
3. **브랜치 생성**: `git checkout -b feature/amazing-feature`
|
|
861
|
-
4. **변경사항 작성** 후 커밋: `git commit -m "feat: 멋진 기능 추가"`
|
|
862
|
-
5. **Push** Fork에 푸시: `git push origin feature/amazing-feature`
|
|
863
|
-
6. GitHub에서 **Pull Request 생성**
|
|
864
|
-
|
|
865
|
-
### 🎯 우선순위 높은 기여 분야
|
|
866
|
-
|
|
867
|
-
- 🤖 **더 많은 AI 도구 지원 추가** (Cursor, Copilot, Continue.dev)
|
|
868
|
-
- 🌐 **추가 언어 번역** (일본어, 중국어, 스페인어)
|
|
869
|
-
- 📦 **더 많은 기술 스택 템플릿** (Go, Rust, Ruby, PHP)
|
|
870
|
-
- 📝 **문서 개선**
|
|
871
|
-
- 🐛 **버그 수정**
|
|
872
|
-
|
|
873
|
-
### 📖 가이드라인
|
|
874
|
-
|
|
875
|
-
자세한 기여 가이드는 [CONTRIBUTING.md](./CONTRIBUTING.md)를 참조하세요.
|
|
876
|
-
|
|
877
|
-
### 💬 질문이 있으신가요?
|
|
878
|
-
|
|
879
|
-
- 📝 [Issue](https://github.com/bitjaru/codesyncer/issues)를 열어주세요
|
|
880
|
-
- 💡 [Discussion](https://github.com/bitjaru/codesyncer/discussions)을 시작하세요
|
|
881
|
-
|
|
882
|
-
---
|
|
883
|
-
|
|
884
|
-
## 📝 라이선스
|
|
885
|
-
|
|
886
|
-
**Commons Clause License + MIT**
|
|
887
|
-
|
|
888
|
-
- ✅ **개인 및 비상업적 용도로 무료 사용** 가능
|
|
889
|
-
- ✅ **코드 포크 및 수정** 자유롭게 가능
|
|
890
|
-
- ✅ **프로젝트 기여** 환영
|
|
891
|
-
- ❌ **판매 및 유료 서비스 제공** 불가
|
|
892
|
-
|
|
893
|
-
자세한 내용은 [LICENSE](./LICENSE) 파일을 참조하세요.
|
|
894
|
-
|
|
895
|
-
**왜 Commons Clause?**
|
|
896
|
-
CodeSyncer가 모든 개발자에게 무료로 제공되면서도 상업적 착취를 방지하기 위함입니다. 상업적 라이선스가 필요한 경우 문의해주세요.
|
|
897
|
-
|
|
898
|
-
---
|
|
899
|
-
|
|
900
|
-
## 🙋 자주 묻는 질문
|
|
901
|
-
|
|
902
|
-
**Q: Claude Code에서만 작동하나요?**
|
|
903
|
-
A: 현재는 그렇습니다. 하지만 Cursor, GitHub Copilot 등 다른 도구 지원을 개발 중입니다. 기여 환영!
|
|
904
|
-
|
|
905
|
-
**Q: 단일 레포에서도 사용할 수 있나요?**
|
|
906
|
-
A: 네! CodeSyncer는 자동으로 단일 레포인지 감지합니다 (`package.json`, `.git` 등 존재 여부 확인). 단일 레포에서는 `.claude/SETUP_GUIDE.md`가 생성되고, 멀티 레포 구조 대신 간단한 구조로 설정됩니다.
|
|
907
|
-
|
|
908
|
-
**Q: 모노레포(Turborepo, pnpm, Nx, Lerna)에서 작동하나요?**
|
|
909
|
-
A: 네! v2.4.0부터 CodeSyncer는 모노레포 설정(`turbo.json`, `pnpm-workspace.yaml`, `nx.json`, `lerna.json` 또는 `package.json`의 workspaces)을 자동으로 감지하고 워크스페이스 패턴의 모든 패키지를 스캔합니다.
|
|
157
|
+
## 라이선스
|
|
910
158
|
|
|
911
|
-
**
|
|
912
|
-
A: 아니요. CodeSyncer는 AI가 세션당 한 번만 읽는 문서 파일만 추가합니다. 오히려 사전에 컨텍스트를 제공하여 AI를 더 효율적으로 만듭니다.
|
|
913
|
-
|
|
914
|
-
**Q: 키워드 감지를 커스터마이징할 수 있나요?**
|
|
915
|
-
A: 네, 전문가 설치 모드를 사용하여 어떤 키워드가 의논을 트리거할지 완전히 커스터마이징할 수 있습니다.
|
|
916
|
-
|
|
917
|
-
**Q: 제 코드/데이터가 어디론가 전송되나요?**
|
|
918
|
-
A: 아니요. CodeSyncer는 순전히 로컬 CLI 도구로, 레포에 문서 파일만 생성합니다. 외부 서버로 아무것도 전송되지 않습니다.
|
|
159
|
+
**Commons Clause + MIT** - 개인/비상업적 무료 사용. [LICENSE](./LICENSE) 참조
|
|
919
160
|
|
|
920
161
|
---
|
|
921
162
|
|
|
922
|
-
##
|
|
923
|
-
|
|
924
|
-
CodeSyncer가 팀에 도움이 되셨다면:
|
|
925
|
-
- ⭐ 이 레포에 Star
|
|
926
|
-
- 🐦 트위터에 공유
|
|
927
|
-
- 📝 사용 경험 공유
|
|
928
|
-
- 🤝 개선 사항 기여
|
|
163
|
+
## 연락처
|
|
929
164
|
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
CodeSyncer 개발을 지원하고 싶으시다면 암호화폐로 후원해주실 수 있습니다:
|
|
933
|
-
|
|
934
|
-
**이더리움 (ETH) / ERC-20 토큰:**
|
|
935
|
-
```
|
|
936
|
-
0x0a12177c448778a37Fa4EeA57d33D06713F200De
|
|
937
|
-
```
|
|
938
|
-
|
|
939
|
-
여러분의 후원은 CodeSyncer를 유지하고 개선하는 데 큰 도움이 됩니다! 🙏
|
|
940
|
-
|
|
941
|
-
---
|
|
942
|
-
|
|
943
|
-
## 📮 연락처
|
|
944
|
-
|
|
945
|
-
- **이슈**: [GitHub Issues](https://github.com/bitjaru/codesyncer/issues)
|
|
946
|
-
- **토론**: [GitHub Discussions](https://github.com/bitjaru/codesyncer/discussions)
|
|
165
|
+
- [GitHub Issues](https://github.com/bitjaru/codesyncer/issues)
|
|
166
|
+
- [GitHub Discussions](https://github.com/bitjaru/codesyncer/discussions)
|
|
947
167
|
|
|
948
168
|
---
|
|
949
169
|
|
|
950
170
|
**CodeSyncer 커뮤니티가 ❤️로 만들었습니다**
|
|
951
|
-
|
|
952
|
-
*한 번에 하나씩, AI 협업을 매끄럽게 만들어갑니다.*
|