codesyncer 1.0.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.
Files changed (61) hide show
  1. package/LICENSE +31 -0
  2. package/README.ko.md +417 -0
  3. package/README.md +417 -0
  4. package/bin/codesyncer.js +3 -0
  5. package/dist/commands/add-repo.d.ts +3 -0
  6. package/dist/commands/add-repo.d.ts.map +1 -0
  7. package/dist/commands/add-repo.js +145 -0
  8. package/dist/commands/add-repo.js.map +1 -0
  9. package/dist/commands/init.d.ts +3 -0
  10. package/dist/commands/init.d.ts.map +1 -0
  11. package/dist/commands/init.js +489 -0
  12. package/dist/commands/init.js.map +1 -0
  13. package/dist/commands/update.d.ts +3 -0
  14. package/dist/commands/update.d.ts.map +1 -0
  15. package/dist/commands/update.js +123 -0
  16. package/dist/commands/update.js.map +1 -0
  17. package/dist/constants/keywords.d.ts +23 -0
  18. package/dist/constants/keywords.d.ts.map +1 -0
  19. package/dist/constants/keywords.js +133 -0
  20. package/dist/constants/keywords.js.map +1 -0
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +52 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/templates/en/architecture.md +147 -0
  26. package/dist/templates/en/claude.md +267 -0
  27. package/dist/templates/en/comment_guide.md +324 -0
  28. package/dist/templates/en/decisions.md +227 -0
  29. package/dist/templates/en/master.md +179 -0
  30. package/dist/templates/ko/architecture.md +147 -0
  31. package/dist/templates/ko/claude.md +267 -0
  32. package/dist/templates/ko/comment_guide.md +324 -0
  33. package/dist/templates/ko/decisions.md +227 -0
  34. package/dist/templates/ko/master.md +179 -0
  35. package/dist/types.d.ts +78 -0
  36. package/dist/types.d.ts.map +1 -0
  37. package/dist/types.js +16 -0
  38. package/dist/types.js.map +1 -0
  39. package/dist/utils/messages.d.ts +129 -0
  40. package/dist/utils/messages.d.ts.map +1 -0
  41. package/dist/utils/messages.js +168 -0
  42. package/dist/utils/messages.js.map +1 -0
  43. package/dist/utils/scanner.d.ts +11 -0
  44. package/dist/utils/scanner.d.ts.map +1 -0
  45. package/dist/utils/scanner.js +311 -0
  46. package/dist/utils/scanner.js.map +1 -0
  47. package/dist/utils/template-loader.d.ts +18 -0
  48. package/dist/utils/template-loader.d.ts.map +1 -0
  49. package/dist/utils/template-loader.js +496 -0
  50. package/dist/utils/template-loader.js.map +1 -0
  51. package/package.json +70 -0
  52. package/src/templates/en/architecture.md +147 -0
  53. package/src/templates/en/claude.md +267 -0
  54. package/src/templates/en/comment_guide.md +324 -0
  55. package/src/templates/en/decisions.md +227 -0
  56. package/src/templates/en/master.md +179 -0
  57. package/src/templates/ko/architecture.md +147 -0
  58. package/src/templates/ko/claude.md +267 -0
  59. package/src/templates/ko/comment_guide.md +324 -0
  60. package/src/templates/ko/decisions.md +227 -0
  61. package/src/templates/ko/master.md +179 -0
package/LICENSE ADDED
@@ -0,0 +1,31 @@
1
+ Commons Clause License Condition v1.0
2
+
3
+ The Software is provided to you by the Licensor under the License, as defined below, subject to the following condition.
4
+
5
+ Without limiting other conditions in the License, the grant of rights under the License will not include, and the License does not grant to you, the right to Sell the Software.
6
+
7
+ For purposes of the foregoing, "Sell" means practicing any or all of the rights granted to you under the License to provide to third parties, for a fee or other consideration (including without limitation fees for hosting or consulting/support services related to the Software), a product or service whose value derives, entirely or substantially, from the functionality of the Software. Any license notice or attribution required by the License must also include this Commons Clause License Condition notice.
8
+
9
+ ---
10
+
11
+ MIT License
12
+
13
+ Copyright (c) 2024 bitjaru
14
+
15
+ Permission is hereby granted, free of charge, to any person obtaining a copy
16
+ of this software and associated documentation files (the "Software"), to deal
17
+ in the Software without restriction, including without limitation the rights
18
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
19
+ copies of the Software, and to permit persons to whom the Software is
20
+ furnished to do so, subject to the following conditions:
21
+
22
+ The above copyright notice and this permission notice shall be included in all
23
+ copies or substantial portions of the Software.
24
+
25
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
26
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
28
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
29
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
30
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
31
+ SOFTWARE.
package/README.ko.md ADDED
@@ -0,0 +1,417 @@
1
+ # CodeSyncer CLI
2
+
3
+ > Claude Code, Cursor, GitHub Copilot 등 모든 AI 코딩 어시스턴트와 함께 사용하는 멀티 레포지토리 협업 시스템!
4
+
5
+ [![npm version](https://img.shields.io/npm/v/codesyncer.svg)](https://www.npmjs.com/package/codesyncer)
6
+ [![License](https://img.shields.io/badge/License-Commons%20Clause-red.svg)](./LICENSE)
7
+ [![GitHub stars](https://img.shields.io/github/stars/bitjaru/codesyncer.svg)](https://github.com/bitjaru/codesyncer/stargazers)
8
+ [![GitHub issues](https://img.shields.io/github/issues/bitjaru/codesyncer.svg)](https://github.com/bitjaru/codesyncer/issues)
9
+
10
+ 한국어 | [English](./README.md)
11
+
12
+ ---
13
+
14
+ ## 🎯 CodeSyncer란?
15
+
16
+ CodeSyncer는 여러 레포지토리에서 AI 코딩 어시스턴트와 효율적으로 협업할 수 있도록 도와주는 CLI 도구입니다. 프로젝트 구조, 코딩 규칙, 비즈니스 결정 사항을 체계적으로 문서화하여 AI가 이해할 수 있게 만듭니다.
17
+
18
+ ### 주요 기능
19
+
20
+ - 🤖 **AI 도구 독립적**: Claude Code, Cursor, GitHub Copilot 등 모두 지원
21
+ - 📁 **멀티 레포 지원**: 백엔드, 프론트엔드, 모바일 레포를 자유롭게 넘나들며 작업
22
+ - 🏷️ **주석 태그 시스템**: `@codesyncer-*` 태그로 결정과 추론을 영구 기록
23
+ - 🤝 **자동 의논 시스템**: 중요한 결정(결제, 보안 등)에서 자동으로 일시 정지
24
+ - 🌐 **다국어 지원**: 한글/영문 완벽 지원
25
+ - ⚡ **빠른 설치**: 한 번의 명령으로 전체 워크스페이스 설정
26
+
27
+ ---
28
+
29
+ ## 📦 설치
30
+
31
+ ```bash
32
+ npm install -g codesyncer
33
+ ```
34
+
35
+ ---
36
+
37
+ ## 🚀 빠른 시작
38
+
39
+ ### 1. 워크스페이스 루트로 이동
40
+
41
+ ```bash
42
+ cd /path/to/your/workspace
43
+ ```
44
+
45
+ 워크스페이스는 여러 레포 폴더를 포함해야 합니다:
46
+ ```
47
+ workspace/
48
+ ├── backend/
49
+ ├── frontend/
50
+ └── mobile/
51
+ ```
52
+
53
+ ### 2. 초기화 실행
54
+
55
+ ```bash
56
+ codesyncer init
57
+ ```
58
+
59
+ ### 3. 설치 모드 선택
60
+
61
+ **⚡ 퀵 설치** (권장)
62
+ - 모든 레포 자동 감지
63
+ - 한 번에 협업 시스템 생성
64
+ - 모든 의논 키워드 자동 활성화
65
+
66
+ **🔧 전문가 설치**
67
+ - 모든 옵션 세부 설정
68
+ - 특정 키워드 카테고리 선택
69
+ - 커스텀 키워드 추가
70
+
71
+ ### 4. 언어 선택
72
+
73
+ 한글 또는 English 선택
74
+
75
+ ### 5. 완료!
76
+
77
+ CodeSyncer가 자동으로:
78
+ - 레포 스캔 및 감지 (Java, Python, Node.js, React 등)
79
+ - 워크스페이스 루트에 마스터 문서 생성 (`.codesyncer/MASTER_CODESYNCER.md`)
80
+ - 각 레포에 협업 파일 생성 (`.claude/` 폴더)
81
+ - `CLAUDE.md` - 코딩 가이드라인
82
+ - `COMMENT_GUIDE.md` - 주석 태그 사용 가이드
83
+ - `ARCHITECTURE.md` - 프로젝트 구조 (자동 업데이트)
84
+ - `DECISIONS.md` - 의사결정 기록
85
+
86
+ ---
87
+
88
+ ## 📚 사용법
89
+
90
+ ### 협업 시스템 초기화
91
+ ```bash
92
+ codesyncer init
93
+ ```
94
+
95
+ ### 프로젝트 구조 업데이트
96
+ ```bash
97
+ codesyncer update
98
+ ```
99
+
100
+ ### 워크스페이스에 새 레포 추가
101
+ ```bash
102
+ codesyncer add-repo
103
+ ```
104
+
105
+ ---
106
+
107
+ ## 🏷️ 주석 태그 시스템
108
+
109
+ CodeSyncer는 체계적인 주석 태그 시스템을 사용하여 모든 AI의 추론과 결정을 코드에 영구 기록합니다.
110
+
111
+ ### 사용 가능한 태그
112
+
113
+ | 태그 | 용도 | 예시 |
114
+ |-----|------|------|
115
+ | `@codesyncer-rule` | 특별한 규칙 (일반적이지 않은 구현) | `// @codesyncer-rule: any 타입 허용 (외부 라이브러리 타입 없음)` |
116
+ | `@codesyncer-inference` | AI가 추론한 내용과 근거 | `// @codesyncer-inference: 페이지 크기 20 (표준 UX)` |
117
+ | `@codesyncer-decision` | 의논 후 결정 사항 | `// @codesyncer-decision: [2024-10-15] Stripe 사용 (해외 결제)` |
118
+ | `@codesyncer-todo` | 사용자 확인 필요 | `// @codesyncer-todo: API 엔드포인트 URL 확인 필요` |
119
+ | `@codesyncer-context` | 비즈니스 맥락 설명 | `// @codesyncer-context: GDPR 준수 (30일 보관)` |
120
+
121
+ ### 레거시 호환성
122
+
123
+ 기존 `@claude-*` 태그도 완벽 호환:
124
+ ```typescript
125
+ @claude-rule = @codesyncer-rule
126
+ @claude-inference = @codesyncer-inference
127
+ @claude-decision = @codesyncer-decision
128
+ @claude-todo = @codesyncer-todo
129
+ @claude-context = @codesyncer-context
130
+ ```
131
+
132
+ ---
133
+
134
+ ## 🤝 자동 의논 시스템
135
+
136
+ CodeSyncer는 중요한 키워드가 감지되면 자동으로 AI 작업을 일시 정지하여 비용이 많이 드는 실수를 방지합니다.
137
+
138
+ ### 필수 의논 키워드 (자동 활성화)
139
+
140
+ - **💰 결제 및 과금**: 결제, 구매, 입금, 환불, 구독, 과금
141
+ - **🔐 인증 및 보안**: 인증, 로그인, 권한, 암호화, 토큰, jwt
142
+ - **🗑️ 데이터 작업**: 삭제, 제거, 마이그레이션, 스키마 변경
143
+ - **📜 개인정보 및 규정**: 개인정보, GDPR, 약관, 정책
144
+
145
+ ### 작동 방식
146
+
147
+ 1. AI가 키워드 감지 (예: "결제")
148
+ 2. **자동으로 작업 중단**
149
+ 3. 추천안 + 대안 제시
150
+ 4. 사용자 결정 대기
151
+ 5. 결정 사항을 `DECISIONS.md` + 코드 주석에 기록
152
+ 6. 작업 재개
153
+
154
+ ---
155
+
156
+ ## 🌍 다국어 지원
157
+
158
+ CodeSyncer는 한글과 영문을 완벽 지원합니다:
159
+ - 설치 안내 메시지
160
+ - 생성되는 문서
161
+ - 주석 가이드라인
162
+ - 모든 UI 메시지
163
+
164
+ 설치 중 언제든 언어를 변경하거나 언어별 명령어를 사용할 수 있습니다.
165
+
166
+ ---
167
+
168
+ ## 🔧 기술 스택 자동 감지
169
+
170
+ CodeSyncer는 프로젝트 타입과 기술 스택을 자동으로 감지합니다:
171
+
172
+ **지원 언어/프레임워크:**
173
+ - ☕ Java (Spring Boot)
174
+ - 🐍 Python (Django, FastAPI)
175
+ - 📘 TypeScript / JavaScript
176
+ - ⚛️ React / Next.js
177
+ - 🟢 Node.js / Express
178
+ - 📱 React Native
179
+
180
+ 다음 파일들을 스캔하여 자동 감지:
181
+ - `package.json`, `pom.xml`, `build.gradle`, `requirements.txt`
182
+ - 폴더 구조 및 의존성 목록
183
+
184
+ ---
185
+
186
+ ## 📖 사용 예시
187
+
188
+ ### 시나리오: 결제 기능 추가
189
+
190
+ ```bash
191
+ 사용자: "Stripe 결제 연동 추가해줘"
192
+
193
+ AI: ⚠️ '결제' 키워드 감지. 의논이 필요합니다.
194
+
195
+ 💡 추천안: Stripe 사용
196
+
197
+ 🔄 대안:
198
+ A. 아임포트 (한국 전용)
199
+ B. Toss Payments
200
+ C. 직접 구현
201
+
202
+ 어떻게 진행할까요?
203
+
204
+ 사용자: "진행"
205
+
206
+ AI: ✅ 결정 사항 기록 중...
207
+
208
+ 생성:
209
+ - backend/src/services/PaymentService.ts
210
+ /**
211
+ * @codesyncer-decision: [2024-11-12] Stripe 사용 (해외 결제 지원)
212
+ * @codesyncer-context: USD, EUR, KRW 지원
213
+ */
214
+
215
+ - frontend/src/components/PaymentForm.tsx
216
+ - DECISIONS.md 업데이트
217
+
218
+ ✅ 결제 연동 완료!
219
+ ```
220
+
221
+ ---
222
+
223
+ ## 🎯 왜 CodeSyncer?
224
+
225
+ ### CodeSyncer 사용 전 ❌
226
+ - AI가 중요한 비즈니스 로직을 추측함
227
+ - 결정 이유가 기록되지 않음
228
+ - 레포 전환 시 컨텍스트 상실
229
+ - 팀 전체에 일관성 없는 코딩 패턴
230
+
231
+ ### CodeSyncer 사용 후 ✅
232
+ - AI가 중요한 결정에서 일시 정지
233
+ - 모든 결정 영구 기록
234
+ - 매끄러운 멀티 레포 워크플로우
235
+ - 일관된 협업 시스템
236
+ - 신입 온보딩 시간 단축
237
+
238
+ ---
239
+
240
+ ## 🤖 지원 AI 도구
241
+
242
+ ### ✅ 현재 지원
243
+ - **Claude Code** (완벽 지원)
244
+
245
+ ### 🚧 곧 지원 예정 (커뮤니티 기여 환영!)
246
+ - Cursor
247
+ - GitHub Copilot
248
+ - Continue.dev
249
+ - Codeium
250
+
251
+ 선호하는 AI 도구 지원을 추가하고 싶으신가요? [여기서 기여하세요!](https://github.com/bitjaru/codesyncer/issues)
252
+
253
+ ---
254
+
255
+ ## 📁 프로젝트 구조
256
+
257
+ `codesyncer init` 실행 후 워크스페이스 구조:
258
+
259
+ ```
260
+ workspace/
261
+ ├── .codesyncer/
262
+ │ └── MASTER_CODESYNCER.md # 멀티 레포 자동 전환 가이드
263
+ ├── backend/
264
+ │ └── .claude/
265
+ │ ├── CLAUDE.md # 코딩 가이드라인
266
+ │ ├── COMMENT_GUIDE.md # 태그 사용 가이드
267
+ │ ├── ARCHITECTURE.md # 프로젝트 구조
268
+ │ └── DECISIONS.md # 의사결정 기록
269
+ ├── frontend/
270
+ │ └── .claude/
271
+ │ └── (동일한 파일들)
272
+ └── mobile/
273
+ └── .claude/
274
+ └── (동일한 파일들)
275
+ ```
276
+
277
+ ---
278
+
279
+ ## 🛠️ 고급 사용법
280
+
281
+ ### 커스텀 키워드
282
+
283
+ 전문가 설치 모드에서 커스텀 키워드 추가 가능:
284
+
285
+ ```bash
286
+ codesyncer init --mode expert
287
+ ```
288
+
289
+ "커스텀 키워드 추가" 선택 후 다음 지정:
290
+ - 감지할 키워드
291
+ - 중요도 (CRITICAL/IMPORTANT/MINOR)
292
+ - 설명
293
+
294
+ ### 기존 프로젝트 업데이트
295
+
296
+ `codesyncer update` 실행하여:
297
+ - `ARCHITECTURE.md`의 프로젝트 구조 갱신
298
+ - 주석 태그 통계 업데이트
299
+ - 파일 구조 재스캔
300
+
301
+ ---
302
+
303
+ ## 🔍 태그 검색
304
+
305
+ 코드베이스에서 모든 태그 찾기:
306
+
307
+ ```bash
308
+ # 모든 추론
309
+ grep -r "@codesyncer-inference" ./src
310
+
311
+ # 모든 TODO
312
+ grep -r "@codesyncer-todo" ./src
313
+
314
+ # 모든 결정 사항
315
+ grep -r "@codesyncer-decision" ./src
316
+ ```
317
+
318
+ ---
319
+
320
+ ## 🤝 기여하기
321
+
322
+ 기여를 환영합니다! CodeSyncer는 오픈소스이며 커뮤니티 중심입니다.
323
+
324
+ ### 🚀 기여자를 위한 빠른 시작
325
+
326
+ 1. **Fork** 이 레포지토리를 Fork 하세요
327
+ 2. **Clone** Fork한 레포를 클론: `git clone https://github.com/YOUR_USERNAME/codesyncer.git`
328
+ 3. **브랜치 생성**: `git checkout -b feature/amazing-feature`
329
+ 4. **변경사항 작성** 후 커밋: `git commit -m "feat: 멋진 기능 추가"`
330
+ 5. **Push** Fork에 푸시: `git push origin feature/amazing-feature`
331
+ 6. GitHub에서 **Pull Request 생성**
332
+
333
+ ### 🎯 우선순위 높은 기여 분야
334
+
335
+ - 🤖 **더 많은 AI 도구 지원 추가** (Cursor, Copilot, Continue.dev)
336
+ - 🌐 **추가 언어 번역** (일본어, 중국어, 스페인어)
337
+ - 📦 **더 많은 기술 스택 템플릿** (Go, Rust, Ruby, PHP)
338
+ - 📝 **문서 개선**
339
+ - 🐛 **버그 수정**
340
+
341
+ ### 📖 가이드라인
342
+
343
+ 자세한 기여 가이드는 [CONTRIBUTING.md](./CONTRIBUTING.md)를 참조하세요.
344
+
345
+ ### 💬 질문이 있으신가요?
346
+
347
+ - 📝 [Issue](https://github.com/bitjaru/codesyncer/issues)를 열어주세요
348
+ - 💡 [Discussion](https://github.com/bitjaru/codesyncer/discussions)을 시작하세요
349
+
350
+ ---
351
+
352
+ ## 📝 라이선스
353
+
354
+ **Commons Clause License + MIT**
355
+
356
+ - ✅ **개인 및 비상업적 용도로 무료 사용** 가능
357
+ - ✅ **코드 포크 및 수정** 자유롭게 가능
358
+ - ✅ **프로젝트 기여** 환영
359
+ - ❌ **판매 및 유료 서비스 제공** 불가
360
+
361
+ 자세한 내용은 [LICENSE](./LICENSE) 파일을 참조하세요.
362
+
363
+ **왜 Commons Clause?**
364
+ CodeSyncer가 모든 개발자에게 무료로 제공되면서도 상업적 착취를 방지하기 위함입니다. 상업적 라이선스가 필요한 경우 문의해주세요.
365
+
366
+ ---
367
+
368
+ ## 🙋 자주 묻는 질문
369
+
370
+ **Q: Claude Code에서만 작동하나요?**
371
+ A: 현재는 그렇습니다. 하지만 Cursor, GitHub Copilot 등 다른 도구 지원을 개발 중입니다. 기여 환영!
372
+
373
+ **Q: 단일 레포에서도 사용할 수 있나요?**
374
+ A: 네! 아무 레포에서나 `codesyncer init`을 실행하면 됩니다. 멀티 레포 기능은 선택사항입니다.
375
+
376
+ **Q: AI 응답 속도가 느려지나요?**
377
+ A: 아니요. CodeSyncer는 AI가 세션당 한 번만 읽는 문서 파일만 추가합니다. 오히려 사전에 컨텍스트를 제공하여 AI를 더 효율적으로 만듭니다.
378
+
379
+ **Q: 키워드 감지를 커스터마이징할 수 있나요?**
380
+ A: 네, 전문가 설치 모드를 사용하여 어떤 키워드가 의논을 트리거할지 완전히 커스터마이징할 수 있습니다.
381
+
382
+ **Q: 제 코드/데이터가 어디론가 전송되나요?**
383
+ A: 아니요. CodeSyncer는 순전히 로컬 CLI 도구로, 레포에 문서 파일만 생성합니다. 외부 서버로 아무것도 전송되지 않습니다.
384
+
385
+ ---
386
+
387
+ ## 🌟 지원하기
388
+
389
+ CodeSyncer가 팀에 도움이 되셨다면:
390
+ - ⭐ 이 레포에 Star
391
+ - 🐦 트위터에 공유
392
+ - 📝 사용 경험 공유
393
+ - 🤝 개선 사항 기여
394
+
395
+ ### 💰 개발 후원
396
+
397
+ CodeSyncer 개발을 지원하고 싶으시다면 암호화폐로 후원해주실 수 있습니다:
398
+
399
+ **이더리움 (ETH) / ERC-20 토큰:**
400
+ ```
401
+ 0x0a12177c448778a37Fa4EeA57d33D06713F200De
402
+ ```
403
+
404
+ 여러분의 후원은 CodeSyncer를 유지하고 개선하는 데 큰 도움이 됩니다! 🙏
405
+
406
+ ---
407
+
408
+ ## 📮 연락처
409
+
410
+ - **이슈**: [GitHub Issues](https://github.com/bitjaru/codesyncer/issues)
411
+ - **토론**: [GitHub Discussions](https://github.com/bitjaru/codesyncer/discussions)
412
+
413
+ ---
414
+
415
+ **CodeSyncer 커뮤니티가 ❤️로 만들었습니다**
416
+
417
+ *한 번에 하나씩, AI 협업을 매끄럽게 만들어갑니다.*