codesyncer 2.1.0 → 2.1.2
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/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +4 -12
- package/dist/commands/init.js.map +1 -1
- package/dist/templates/en/root_claude.md +239 -0
- package/dist/templates/en/setup_guide.md +30 -11
- package/dist/templates/ko/root_claude.md +239 -0
- package/dist/templates/ko/setup_guide.md +30 -11
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/scanner.d.ts.map +1 -1
- package/dist/utils/scanner.js +5 -116
- package/dist/utils/scanner.js.map +1 -1
- package/package.json +1 -1
- package/src/templates/en/root_claude.md +239 -0
- package/src/templates/en/setup_guide.md +30 -11
- package/src/templates/ko/root_claude.md +239 -0
- package/src/templates/ko/setup_guide.md +30 -11
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
# CLAUDE.md - [PROJECT_NAME] 멀티레포 프로젝트
|
|
2
|
+
|
|
3
|
+
> **🎯 이것은 멀티레포 워크스페이스입니다**
|
|
4
|
+
>
|
|
5
|
+
> 각 레포지토리는 독립적인 프로젝트이며, 함께 협업합니다.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 📋 첫 번째 할 일
|
|
10
|
+
|
|
11
|
+
**이 파일을 읽었다면, 다음 파일을 즉시 읽어주세요:**
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
.codesyncer/MASTER_CODESYNCER.md
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
→ 이 파일에 **모든 레포지토리 정보**, **자동 전환 규칙**, **키워드 매핑**이 있습니다.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 🏗️ 프로젝트 개요
|
|
22
|
+
|
|
23
|
+
- **프로젝트명**: [PROJECT_NAME]
|
|
24
|
+
- **GitHub**: https://github.com/[GITHUB_USERNAME]/[PROJECT_NAME]
|
|
25
|
+
- **생성일**: [TODAY]
|
|
26
|
+
- **레포지토리 수**: [REPO_COUNT]개
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 🗂️ 레포지토리 구조
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
[PROJECT_NAME]/
|
|
34
|
+
├── CLAUDE.md (지금 읽는 파일)
|
|
35
|
+
├── .codesyncer/
|
|
36
|
+
│ └── MASTER_CODESYNCER.md ⭐ 멀티레포 네비게이션
|
|
37
|
+
│
|
|
38
|
+
├── [repo1]/
|
|
39
|
+
│ └── .claude/
|
|
40
|
+
│ └── CLAUDE.md (개별 레포 규칙)
|
|
41
|
+
│
|
|
42
|
+
├── [repo2]/
|
|
43
|
+
│ └── .claude/
|
|
44
|
+
│ └── CLAUDE.md (개별 레포 규칙)
|
|
45
|
+
│
|
|
46
|
+
└── ...
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 🚨 중요 규칙
|
|
52
|
+
|
|
53
|
+
### 1. 작업 전 레포지토리 확인
|
|
54
|
+
항상 현재 어느 레포에서 작업하는지 확인하세요:
|
|
55
|
+
```bash
|
|
56
|
+
pwd # 현재 디렉토리 확인
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 2. 레포 전환 시 CLAUDE.md 읽기
|
|
60
|
+
새로운 레포에서 작업할 때마다:
|
|
61
|
+
```
|
|
62
|
+
"[repo-name]/.claude/CLAUDE.md 읽어줘"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 3. 루트에서는 작업 금지
|
|
66
|
+
루트 디렉토리에서 코드 작업 금지. 항상 특정 레포로 이동 후 작업.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 🔄 멀티레포 작업 흐름
|
|
71
|
+
|
|
72
|
+
### 시나리오 1: 사용자가 특정 레포 명시
|
|
73
|
+
```
|
|
74
|
+
사용자: "백엔드에 로그인 API 추가해줘"
|
|
75
|
+
↓
|
|
76
|
+
1. MASTER_CODESYNCER.md에서 "백엔드" 키워드 → api-server 레포 확인
|
|
77
|
+
2. api-server/.claude/CLAUDE.md 읽기
|
|
78
|
+
3. api-server에서 작업
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 시나리오 2: 여러 레포 수정 필요
|
|
82
|
+
```
|
|
83
|
+
사용자: "주문 기능 추가해줘"
|
|
84
|
+
↓
|
|
85
|
+
1. "주문 기능은 백엔드(API)와 프론트엔드(UI) 둘 다 필요합니다. 진행할까요?"
|
|
86
|
+
2. 사용자 확인 후
|
|
87
|
+
3. api-server에서 API 작업 → 완료 보고
|
|
88
|
+
4. web-client에서 UI 작업 → 완료 보고
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 시나리오 3: 어느 레포인지 모를 때
|
|
92
|
+
```
|
|
93
|
+
1. MASTER_CODESYNCER.md의 키워드 매핑 확인
|
|
94
|
+
2. 불명확하면 사용자에게 질문
|
|
95
|
+
"어느 레포에서 작업할까요?"
|
|
96
|
+
- A) api-server (백엔드)
|
|
97
|
+
- B) web-client (프론트엔드)
|
|
98
|
+
- C) mobile-app (모바일)
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## 📝 전체 프로젝트 공통 규칙
|
|
104
|
+
|
|
105
|
+
다음 규칙은 **모든 레포지토리에 공통 적용**:
|
|
106
|
+
|
|
107
|
+
### 코딩 표준
|
|
108
|
+
- ✅ TypeScript strict mode 사용
|
|
109
|
+
- ✅ 명시적 타입 정의 필수
|
|
110
|
+
- ✅ 함수형 프로그래밍 우선
|
|
111
|
+
- ✅ 모든 함수/컴포넌트에 주석 작성
|
|
112
|
+
- ✅ 에러 핸들링 필수
|
|
113
|
+
|
|
114
|
+
### 주석 태그 시스템
|
|
115
|
+
모든 레포에서 동일한 태그 사용:
|
|
116
|
+
```typescript
|
|
117
|
+
@codesyncer-rule // 특별 규칙
|
|
118
|
+
@codesyncer-inference // 추론 내용과 근거
|
|
119
|
+
@codesyncer-decision // 의논 후 결정 사항
|
|
120
|
+
@codesyncer-todo // 사용자 확인 필요
|
|
121
|
+
@codesyncer-context // 비즈니스 맥락 설명
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
자세한 내용: 각 레포의 `.claude/COMMENT_GUIDE.md`
|
|
125
|
+
|
|
126
|
+
### 추론 금지 영역
|
|
127
|
+
**절대 추론하지 말고 사용자에게 물어보세요:**
|
|
128
|
+
- 💰 비즈니스 로직 수치 (가격, 수수료, 한도, 할인율)
|
|
129
|
+
- 🔌 API 엔드포인트 URL
|
|
130
|
+
- 🔐 보안 설정 (토큰 만료 시간, 암호화 방식)
|
|
131
|
+
- 🗄️ 데이터베이스 스키마
|
|
132
|
+
- 🌐 외부 서비스 연동 정보
|
|
133
|
+
|
|
134
|
+
### 의논 필수 키워드
|
|
135
|
+
다음 키워드 감지 시 **자동으로 작업 중단** 후 사용자와 의논:
|
|
136
|
+
- 🔴 **CRITICAL**: 결제, 과금, 인증, 권한, 삭제, 개인정보, GDPR
|
|
137
|
+
- 🟡 **IMPORTANT**: API 연동, DB 스키마, 배포, 캐싱, 이메일
|
|
138
|
+
- 🟢 **MINOR**: 최적화, 테스트, 로깅, UI/UX
|
|
139
|
+
|
|
140
|
+
자세한 키워드 목록: `.codesyncer/MASTER_CODESYNCER.md`
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 🎯 세션 시작 체크리스트
|
|
145
|
+
|
|
146
|
+
AI가 이 파일을 읽으면:
|
|
147
|
+
|
|
148
|
+
1. ✅ `.codesyncer/MASTER_CODESYNCER.md` 즉시 읽기
|
|
149
|
+
2. ✅ 전체 레포지토리 구조 파악
|
|
150
|
+
3. ✅ 키워드 매핑 확인
|
|
151
|
+
4. ✅ 준비 완료 메시지 출력:
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
✅ [PROJECT_NAME] 멀티레포 프로젝트 준비 완료!
|
|
155
|
+
|
|
156
|
+
📁 레포지토리: [REPO_COUNT]개
|
|
157
|
+
📋 MASTER_CODESYNCER.md 읽음
|
|
158
|
+
🎯 작업 가능 상태
|
|
159
|
+
|
|
160
|
+
어느 레포에서 작업할까요?
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 💡 유용한 명령어
|
|
166
|
+
|
|
167
|
+
### 네비게이션
|
|
168
|
+
```
|
|
169
|
+
"레포 목록 보여줘" → MASTER_CODESYNCER.md 기반 레포 나열
|
|
170
|
+
"백엔드로 이동" → api-server/.claude/CLAUDE.md 읽기
|
|
171
|
+
"프론트엔드로 전환" → web-client/.claude/CLAUDE.md 읽기
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### 문서 업데이트
|
|
175
|
+
```
|
|
176
|
+
"전체 구조 업데이트" → 모든 레포 ARCHITECTURE.md 갱신
|
|
177
|
+
"의논 기록 확인" → 각 레포의 DECISIONS.md 확인
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### 멀티레포 작업
|
|
181
|
+
```
|
|
182
|
+
"모든 레포에 ESLint 설정" → 순차적으로 각 레포 작업
|
|
183
|
+
"공통 타입 정의 필요" → 어느 레포에 둘지 의논
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## 📚 관련 문서
|
|
189
|
+
|
|
190
|
+
### 루트 문서
|
|
191
|
+
- **멀티레포 네비게이션**: `.codesyncer/MASTER_CODESYNCER.md` ⭐ **필수**
|
|
192
|
+
- **설정 가이드**: `.codesyncer/SETUP_GUIDE.md` (AI 설정 완료 후 참고용)
|
|
193
|
+
|
|
194
|
+
### 개별 레포 문서
|
|
195
|
+
각 레포의 `.claude/` 폴더:
|
|
196
|
+
- **CLAUDE.md** - 레포별 코딩 규칙
|
|
197
|
+
- **ARCHITECTURE.md** - 프로젝트 구조
|
|
198
|
+
- **COMMENT_GUIDE.md** - 주석 작성 가이드
|
|
199
|
+
- **DECISIONS.md** - 의논 결정 기록
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## 🔍 주석 검색 (전체 프로젝트)
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# 모든 레포에서 TODO 찾기
|
|
207
|
+
grep -r "@codesyncer-todo" ./*/.claude/
|
|
208
|
+
|
|
209
|
+
# 모든 의논 결정 찾기
|
|
210
|
+
grep -r "@codesyncer-decision" ./*/
|
|
211
|
+
|
|
212
|
+
# 특정 키워드 찾기
|
|
213
|
+
grep -r "결제" ./*/
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## ⚠️ 주의사항
|
|
219
|
+
|
|
220
|
+
1. **레포 전환 시 컨텍스트 전환**
|
|
221
|
+
- 각 레포는 독립적인 규칙을 가질 수 있음
|
|
222
|
+
- 반드시 해당 레포의 CLAUDE.md 확인
|
|
223
|
+
|
|
224
|
+
2. **크로스 레포 의존성**
|
|
225
|
+
- 여러 레포에 영향 주는 변경은 사용자와 의논
|
|
226
|
+
- 순서가 중요한 경우 명확히 설명
|
|
227
|
+
|
|
228
|
+
3. **공통 코드 관리**
|
|
229
|
+
- 타입 정의, 유틸 함수 등 공통 코드 위치 의논
|
|
230
|
+
- 중복 방지 전략 수립
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
**버전**: 1.0.0 (Powered by CodeSyncer)
|
|
235
|
+
**AI 도구**: Claude Code 최적화 | 호환: Cursor, GitHub Copilot, Continue.dev
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
*CodeSyncer는 오픈소스입니다: https://github.com/bitjaru/codesyncer*
|
|
@@ -158,20 +158,35 @@
|
|
|
158
158
|
|
|
159
159
|
---
|
|
160
160
|
|
|
161
|
-
## 🌐 4단계:
|
|
161
|
+
## 🌐 4단계: 루트 문서 생성
|
|
162
162
|
|
|
163
|
-
워크스페이스 루트에
|
|
163
|
+
워크스페이스 루트에 다음 파일들을 생성:
|
|
164
164
|
|
|
165
|
-
###
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
165
|
+
### 4.1 CLAUDE.md ⭐ **클로드가 먼저 읽는 파일**
|
|
166
|
+
|
|
167
|
+
루트에 `CLAUDE.md` 생성 (클로드가 자동으로 찾는 파일):
|
|
168
|
+
|
|
169
|
+
템플릿 사용: `./templates/[lang]/root_claude.md`
|
|
170
|
+
- [PROJECT_NAME], [GITHUB_USERNAME], [TODAY] 교체
|
|
171
|
+
- [REPO_COUNT]를 실제 레포지토리 개수로 교체
|
|
172
|
+
- 멀티레포 프로젝트임을 명시
|
|
173
|
+
- MASTER_CODESYNCER.md를 먼저 읽으라고 지시
|
|
174
|
+
- 전체 프로젝트 공통 규칙 명시
|
|
175
|
+
|
|
176
|
+
**중요**: 이 파일이 있어야 클로드가 세션 시작 시 자동으로 컨텍스트를 로드합니다!
|
|
177
|
+
|
|
178
|
+
### 4.2 .codesyncer/MASTER_CODESYNCER.md
|
|
179
|
+
|
|
180
|
+
워크스페이스 루트에 `.codesyncer/MASTER_CODESYNCER.md` 생성:
|
|
170
181
|
|
|
171
182
|
템플릿 사용: `./templates/[lang]/master.md`
|
|
172
183
|
- [REPO_TABLE]을 실제 감지된 레포로 교체
|
|
173
184
|
- [KEYWORD_MAPPING]을 레포별 키워드로 교체
|
|
174
185
|
- [PROJECT_NAME], [GITHUB_USERNAME] 교체
|
|
186
|
+
- 모든 레포지토리와 역할 나열
|
|
187
|
+
- 자동 레포지토리 전환 규칙
|
|
188
|
+
- 키워드 기반 네비게이션 매핑
|
|
189
|
+
- 멀티 레포 워크플로우 예시
|
|
175
190
|
|
|
176
191
|
---
|
|
177
192
|
|
|
@@ -183,8 +198,10 @@
|
|
|
183
198
|
✅ CodeSyncer 설정 완료!
|
|
184
199
|
|
|
185
200
|
생성된 파일:
|
|
186
|
-
📁
|
|
187
|
-
|
|
201
|
+
📁 루트/
|
|
202
|
+
├── CLAUDE.md ⭐ 클로드가 먼저 읽는 파일
|
|
203
|
+
└── .codesyncer/
|
|
204
|
+
└── MASTER_CODESYNCER.md
|
|
188
205
|
|
|
189
206
|
📁 [repo1]/.claude/
|
|
190
207
|
├── CLAUDE.md
|
|
@@ -197,8 +214,10 @@
|
|
|
197
214
|
|
|
198
215
|
다음 단계:
|
|
199
216
|
1. 생성된 파일 검토
|
|
200
|
-
2. CLAUDE.md
|
|
201
|
-
3.
|
|
217
|
+
2. 각 레포의 CLAUDE.md 커스터마이즈
|
|
218
|
+
3. 루트 CLAUDE.md 또는 개별 레포 CLAUDE.md 읽고 개발 시작
|
|
219
|
+
|
|
220
|
+
💡 클로드는 자동으로 루트 CLAUDE.md를 찾아서 읽습니다!
|
|
202
221
|
|
|
203
222
|
CodeSyncer 사용 준비 완료!
|
|
204
223
|
```
|