codesyncer 2.1.1 β 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/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/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] Multi-Repo Project
|
|
2
|
+
|
|
3
|
+
> **π― This is a Multi-Repository Workspace**
|
|
4
|
+
>
|
|
5
|
+
> Each repository is an independent project, working together collaboratively.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## π First Thing to Do
|
|
10
|
+
|
|
11
|
+
**If you've read this file, immediately read the following file:**
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
.codesyncer/MASTER_CODESYNCER.md
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
β This file contains **all repository information**, **auto-switching rules**, and **keyword mappings**.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## ποΈ Project Overview
|
|
22
|
+
|
|
23
|
+
- **Project Name**: [PROJECT_NAME]
|
|
24
|
+
- **GitHub**: https://github.com/[GITHUB_USERNAME]/[PROJECT_NAME]
|
|
25
|
+
- **Created**: [TODAY]
|
|
26
|
+
- **Repositories**: [REPO_COUNT]
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## ποΈ Repository Structure
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
[PROJECT_NAME]/
|
|
34
|
+
βββ CLAUDE.md (current file)
|
|
35
|
+
βββ .codesyncer/
|
|
36
|
+
β βββ MASTER_CODESYNCER.md β Multi-repo navigation
|
|
37
|
+
β
|
|
38
|
+
βββ [repo1]/
|
|
39
|
+
β βββ .claude/
|
|
40
|
+
β βββ CLAUDE.md (individual repo rules)
|
|
41
|
+
β
|
|
42
|
+
βββ [repo2]/
|
|
43
|
+
β βββ .claude/
|
|
44
|
+
β βββ CLAUDE.md (individual repo rules)
|
|
45
|
+
β
|
|
46
|
+
βββ ...
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## π¨ Important Rules
|
|
52
|
+
|
|
53
|
+
### 1. Check Repository Before Working
|
|
54
|
+
Always verify which repository you're working in:
|
|
55
|
+
```bash
|
|
56
|
+
pwd # Check current directory
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 2. Read CLAUDE.md When Switching Repos
|
|
60
|
+
Every time you work in a new repo:
|
|
61
|
+
```
|
|
62
|
+
"Read [repo-name]/.claude/CLAUDE.md"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 3. No Work in Root Directory
|
|
66
|
+
Never code in root directory. Always navigate to specific repo before working.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## π Multi-Repo Workflow
|
|
71
|
+
|
|
72
|
+
### Scenario 1: User Specifies Specific Repo
|
|
73
|
+
```
|
|
74
|
+
User: "Add login API to backend"
|
|
75
|
+
β
|
|
76
|
+
1. Check MASTER_CODESYNCER.md for "backend" keyword β find api-server repo
|
|
77
|
+
2. Read api-server/.claude/CLAUDE.md
|
|
78
|
+
3. Work in api-server
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Scenario 2: Multiple Repos Need Changes
|
|
82
|
+
```
|
|
83
|
+
User: "Add order feature"
|
|
84
|
+
β
|
|
85
|
+
1. "Order feature requires both backend (API) and frontend (UI). Proceed?"
|
|
86
|
+
2. After user confirmation
|
|
87
|
+
3. Work on API in api-server β report completion
|
|
88
|
+
4. Work on UI in web-client β report completion
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Scenario 3: Unclear Which Repo
|
|
92
|
+
```
|
|
93
|
+
1. Check keyword mapping in MASTER_CODESYNCER.md
|
|
94
|
+
2. If unclear, ask user
|
|
95
|
+
"Which repo should I work in?"
|
|
96
|
+
- A) api-server (backend)
|
|
97
|
+
- B) web-client (frontend)
|
|
98
|
+
- C) mobile-app (mobile)
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## π Project-Wide Common Rules
|
|
104
|
+
|
|
105
|
+
The following rules apply to **all repositories**:
|
|
106
|
+
|
|
107
|
+
### Coding Standards
|
|
108
|
+
- β
Use TypeScript strict mode
|
|
109
|
+
- β
Explicit type definitions required
|
|
110
|
+
- β
Prefer functional programming
|
|
111
|
+
- β
Document all functions/components
|
|
112
|
+
- β
Error handling required
|
|
113
|
+
|
|
114
|
+
### Comment Tag System
|
|
115
|
+
Use the same tags across all repos:
|
|
116
|
+
```typescript
|
|
117
|
+
@codesyncer-rule // Special rules
|
|
118
|
+
@codesyncer-inference // Inference with reasoning
|
|
119
|
+
@codesyncer-decision // Decisions after discussion
|
|
120
|
+
@codesyncer-todo // User confirmation needed
|
|
121
|
+
@codesyncer-context // Business context explanation
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Details: `.claude/COMMENT_GUIDE.md` in each repo
|
|
125
|
+
|
|
126
|
+
### No-Inference Zones
|
|
127
|
+
**Never infer, always ask the user:**
|
|
128
|
+
- π° Business logic numbers (prices, fees, limits, discounts)
|
|
129
|
+
- π API endpoint URLs
|
|
130
|
+
- π Security settings (token expiry, encryption methods)
|
|
131
|
+
- ποΈ Database schema
|
|
132
|
+
- π External service integration details
|
|
133
|
+
|
|
134
|
+
### Discussion-Required Keywords
|
|
135
|
+
When these keywords are detected, **stop work automatically** and discuss with user:
|
|
136
|
+
- π΄ **CRITICAL**: payment, billing, auth, permission, delete, personal data, GDPR
|
|
137
|
+
- π‘ **IMPORTANT**: API integration, DB schema, deployment, caching, email
|
|
138
|
+
- π’ **MINOR**: optimization, testing, logging, UI/UX
|
|
139
|
+
|
|
140
|
+
Full keyword list: `.codesyncer/MASTER_CODESYNCER.md`
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## π― Session Start Checklist
|
|
145
|
+
|
|
146
|
+
When AI reads this file:
|
|
147
|
+
|
|
148
|
+
1. β
Immediately read `.codesyncer/MASTER_CODESYNCER.md`
|
|
149
|
+
2. β
Understand overall repository structure
|
|
150
|
+
3. β
Check keyword mappings
|
|
151
|
+
4. β
Output ready message:
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
β
[PROJECT_NAME] multi-repo project ready!
|
|
155
|
+
|
|
156
|
+
π Repositories: [REPO_COUNT]
|
|
157
|
+
π Read MASTER_CODESYNCER.md
|
|
158
|
+
π― Ready to work
|
|
159
|
+
|
|
160
|
+
Which repo should we work in?
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## π‘ Useful Commands
|
|
166
|
+
|
|
167
|
+
### Navigation
|
|
168
|
+
```
|
|
169
|
+
"Show repo list" β List repos from MASTER_CODESYNCER.md
|
|
170
|
+
"Go to backend" β Read api-server/.claude/CLAUDE.md
|
|
171
|
+
"Switch to frontend" β Read web-client/.claude/CLAUDE.md
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Document Updates
|
|
175
|
+
```
|
|
176
|
+
"Update all structures" β Refresh all ARCHITECTURE.md files
|
|
177
|
+
"Check decision log" β Review DECISIONS.md in each repo
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Multi-Repo Tasks
|
|
181
|
+
```
|
|
182
|
+
"Add ESLint to all repos" β Work sequentially on each repo
|
|
183
|
+
"Need common type defs" β Discuss where to place them
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## π Related Documents
|
|
189
|
+
|
|
190
|
+
### Root Documents
|
|
191
|
+
- **Multi-repo Navigation**: `.codesyncer/MASTER_CODESYNCER.md` β **Required**
|
|
192
|
+
- **Setup Guide**: `.codesyncer/SETUP_GUIDE.md` (Reference after AI setup)
|
|
193
|
+
|
|
194
|
+
### Individual Repo Documents
|
|
195
|
+
In each repo's `.claude/` folder:
|
|
196
|
+
- **CLAUDE.md** - Repo-specific coding rules
|
|
197
|
+
- **ARCHITECTURE.md** - Project structure
|
|
198
|
+
- **COMMENT_GUIDE.md** - Comment writing guide
|
|
199
|
+
- **DECISIONS.md** - Discussion decision log
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## π Search Comments (Entire Project)
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# Find all TODOs across repos
|
|
207
|
+
grep -r "@codesyncer-todo" ./*/.claude/
|
|
208
|
+
|
|
209
|
+
# Find all decision records
|
|
210
|
+
grep -r "@codesyncer-decision" ./*/
|
|
211
|
+
|
|
212
|
+
# Search for specific keyword
|
|
213
|
+
grep -r "payment" ./*/
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## β οΈ Important Notes
|
|
219
|
+
|
|
220
|
+
1. **Context Switch When Changing Repos**
|
|
221
|
+
- Each repo may have independent rules
|
|
222
|
+
- Always check that repo's CLAUDE.md
|
|
223
|
+
|
|
224
|
+
2. **Cross-Repo Dependencies**
|
|
225
|
+
- Discuss changes affecting multiple repos with user
|
|
226
|
+
- Explain clearly when order matters
|
|
227
|
+
|
|
228
|
+
3. **Common Code Management**
|
|
229
|
+
- Discuss location for shared types, utilities
|
|
230
|
+
- Establish duplication prevention strategy
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
**Version**: 1.0.0 (Powered by CodeSyncer)
|
|
235
|
+
**AI Tools**: Optimized for Claude Code | Compatible: Cursor, GitHub Copilot, Continue.dev
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
*CodeSyncer is open source: https://github.com/bitjaru/codesyncer*
|
|
@@ -158,20 +158,35 @@ Use template: `./templates/[lang]/decisions.md`
|
|
|
158
158
|
|
|
159
159
|
---
|
|
160
160
|
|
|
161
|
-
## π Step 4: Generate
|
|
161
|
+
## π Step 4: Generate Root Documents
|
|
162
162
|
|
|
163
|
-
|
|
163
|
+
Create the following files at the workspace root:
|
|
164
164
|
|
|
165
|
-
###
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
165
|
+
### 4.1 CLAUDE.md β **Claude Reads This First**
|
|
166
|
+
|
|
167
|
+
Create `CLAUDE.md` at root (automatically discovered by Claude):
|
|
168
|
+
|
|
169
|
+
Use template: `./templates/[lang]/root_claude.md`
|
|
170
|
+
- Replace [PROJECT_NAME], [GITHUB_USERNAME], [TODAY]
|
|
171
|
+
- Replace [REPO_COUNT] with actual repository count
|
|
172
|
+
- Indicate this is a multi-repo project
|
|
173
|
+
- Instruct to read MASTER_CODESYNCER.md first
|
|
174
|
+
- Specify project-wide common rules
|
|
175
|
+
|
|
176
|
+
**Important**: This file must exist for Claude to automatically load context at session start!
|
|
177
|
+
|
|
178
|
+
### 4.2 .codesyncer/MASTER_CODESYNCER.md
|
|
179
|
+
|
|
180
|
+
Create `.codesyncer/MASTER_CODESYNCER.md` at workspace root:
|
|
170
181
|
|
|
171
182
|
Use template: `./templates/[lang]/master.md`
|
|
172
183
|
- Replace [REPO_TABLE] with actual detected repos
|
|
173
184
|
- Replace [KEYWORD_MAPPING] with repo-specific keywords
|
|
174
185
|
- Replace [PROJECT_NAME], [GITHUB_USERNAME]
|
|
186
|
+
- List all repositories with their roles
|
|
187
|
+
- Automatic repository switching rules
|
|
188
|
+
- Keyword-based navigation mapping
|
|
189
|
+
- Multi-repo workflow examples
|
|
175
190
|
|
|
176
191
|
---
|
|
177
192
|
|
|
@@ -183,8 +198,10 @@ After generating all files, present a summary:
|
|
|
183
198
|
β
CodeSyncer Setup Complete!
|
|
184
199
|
|
|
185
200
|
Created files:
|
|
186
|
-
π
|
|
187
|
-
|
|
201
|
+
π Root/
|
|
202
|
+
βββ CLAUDE.md β Claude reads this first
|
|
203
|
+
βββ .codesyncer/
|
|
204
|
+
βββ MASTER_CODESYNCER.md
|
|
188
205
|
|
|
189
206
|
π [repo1]/.claude/
|
|
190
207
|
βββ CLAUDE.md
|
|
@@ -197,8 +214,10 @@ Created files:
|
|
|
197
214
|
|
|
198
215
|
Next Steps:
|
|
199
216
|
1. Review the generated files
|
|
200
|
-
2. Customize
|
|
201
|
-
3.
|
|
217
|
+
2. Customize each repo's CLAUDE.md
|
|
218
|
+
3. Read root CLAUDE.md or individual repo CLAUDE.md to start development
|
|
219
|
+
|
|
220
|
+
π‘ Claude automatically finds and reads root CLAUDE.md!
|
|
202
221
|
|
|
203
222
|
Ready to start using CodeSyncer!
|
|
204
223
|
```
|
|
@@ -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
|
```
|
package/package.json
CHANGED
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
# CLAUDE.md - [PROJECT_NAME] Multi-Repo Project
|
|
2
|
+
|
|
3
|
+
> **π― This is a Multi-Repository Workspace**
|
|
4
|
+
>
|
|
5
|
+
> Each repository is an independent project, working together collaboratively.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## π First Thing to Do
|
|
10
|
+
|
|
11
|
+
**If you've read this file, immediately read the following file:**
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
.codesyncer/MASTER_CODESYNCER.md
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
β This file contains **all repository information**, **auto-switching rules**, and **keyword mappings**.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## ποΈ Project Overview
|
|
22
|
+
|
|
23
|
+
- **Project Name**: [PROJECT_NAME]
|
|
24
|
+
- **GitHub**: https://github.com/[GITHUB_USERNAME]/[PROJECT_NAME]
|
|
25
|
+
- **Created**: [TODAY]
|
|
26
|
+
- **Repositories**: [REPO_COUNT]
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## ποΈ Repository Structure
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
[PROJECT_NAME]/
|
|
34
|
+
βββ CLAUDE.md (current file)
|
|
35
|
+
βββ .codesyncer/
|
|
36
|
+
β βββ MASTER_CODESYNCER.md β Multi-repo navigation
|
|
37
|
+
β
|
|
38
|
+
βββ [repo1]/
|
|
39
|
+
β βββ .claude/
|
|
40
|
+
β βββ CLAUDE.md (individual repo rules)
|
|
41
|
+
β
|
|
42
|
+
βββ [repo2]/
|
|
43
|
+
β βββ .claude/
|
|
44
|
+
β βββ CLAUDE.md (individual repo rules)
|
|
45
|
+
β
|
|
46
|
+
βββ ...
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## π¨ Important Rules
|
|
52
|
+
|
|
53
|
+
### 1. Check Repository Before Working
|
|
54
|
+
Always verify which repository you're working in:
|
|
55
|
+
```bash
|
|
56
|
+
pwd # Check current directory
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 2. Read CLAUDE.md When Switching Repos
|
|
60
|
+
Every time you work in a new repo:
|
|
61
|
+
```
|
|
62
|
+
"Read [repo-name]/.claude/CLAUDE.md"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 3. No Work in Root Directory
|
|
66
|
+
Never code in root directory. Always navigate to specific repo before working.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## π Multi-Repo Workflow
|
|
71
|
+
|
|
72
|
+
### Scenario 1: User Specifies Specific Repo
|
|
73
|
+
```
|
|
74
|
+
User: "Add login API to backend"
|
|
75
|
+
β
|
|
76
|
+
1. Check MASTER_CODESYNCER.md for "backend" keyword β find api-server repo
|
|
77
|
+
2. Read api-server/.claude/CLAUDE.md
|
|
78
|
+
3. Work in api-server
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Scenario 2: Multiple Repos Need Changes
|
|
82
|
+
```
|
|
83
|
+
User: "Add order feature"
|
|
84
|
+
β
|
|
85
|
+
1. "Order feature requires both backend (API) and frontend (UI). Proceed?"
|
|
86
|
+
2. After user confirmation
|
|
87
|
+
3. Work on API in api-server β report completion
|
|
88
|
+
4. Work on UI in web-client β report completion
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Scenario 3: Unclear Which Repo
|
|
92
|
+
```
|
|
93
|
+
1. Check keyword mapping in MASTER_CODESYNCER.md
|
|
94
|
+
2. If unclear, ask user
|
|
95
|
+
"Which repo should I work in?"
|
|
96
|
+
- A) api-server (backend)
|
|
97
|
+
- B) web-client (frontend)
|
|
98
|
+
- C) mobile-app (mobile)
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## π Project-Wide Common Rules
|
|
104
|
+
|
|
105
|
+
The following rules apply to **all repositories**:
|
|
106
|
+
|
|
107
|
+
### Coding Standards
|
|
108
|
+
- β
Use TypeScript strict mode
|
|
109
|
+
- β
Explicit type definitions required
|
|
110
|
+
- β
Prefer functional programming
|
|
111
|
+
- β
Document all functions/components
|
|
112
|
+
- β
Error handling required
|
|
113
|
+
|
|
114
|
+
### Comment Tag System
|
|
115
|
+
Use the same tags across all repos:
|
|
116
|
+
```typescript
|
|
117
|
+
@codesyncer-rule // Special rules
|
|
118
|
+
@codesyncer-inference // Inference with reasoning
|
|
119
|
+
@codesyncer-decision // Decisions after discussion
|
|
120
|
+
@codesyncer-todo // User confirmation needed
|
|
121
|
+
@codesyncer-context // Business context explanation
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Details: `.claude/COMMENT_GUIDE.md` in each repo
|
|
125
|
+
|
|
126
|
+
### No-Inference Zones
|
|
127
|
+
**Never infer, always ask the user:**
|
|
128
|
+
- π° Business logic numbers (prices, fees, limits, discounts)
|
|
129
|
+
- π API endpoint URLs
|
|
130
|
+
- π Security settings (token expiry, encryption methods)
|
|
131
|
+
- ποΈ Database schema
|
|
132
|
+
- π External service integration details
|
|
133
|
+
|
|
134
|
+
### Discussion-Required Keywords
|
|
135
|
+
When these keywords are detected, **stop work automatically** and discuss with user:
|
|
136
|
+
- π΄ **CRITICAL**: payment, billing, auth, permission, delete, personal data, GDPR
|
|
137
|
+
- π‘ **IMPORTANT**: API integration, DB schema, deployment, caching, email
|
|
138
|
+
- π’ **MINOR**: optimization, testing, logging, UI/UX
|
|
139
|
+
|
|
140
|
+
Full keyword list: `.codesyncer/MASTER_CODESYNCER.md`
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## π― Session Start Checklist
|
|
145
|
+
|
|
146
|
+
When AI reads this file:
|
|
147
|
+
|
|
148
|
+
1. β
Immediately read `.codesyncer/MASTER_CODESYNCER.md`
|
|
149
|
+
2. β
Understand overall repository structure
|
|
150
|
+
3. β
Check keyword mappings
|
|
151
|
+
4. β
Output ready message:
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
β
[PROJECT_NAME] multi-repo project ready!
|
|
155
|
+
|
|
156
|
+
π Repositories: [REPO_COUNT]
|
|
157
|
+
π Read MASTER_CODESYNCER.md
|
|
158
|
+
π― Ready to work
|
|
159
|
+
|
|
160
|
+
Which repo should we work in?
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## π‘ Useful Commands
|
|
166
|
+
|
|
167
|
+
### Navigation
|
|
168
|
+
```
|
|
169
|
+
"Show repo list" β List repos from MASTER_CODESYNCER.md
|
|
170
|
+
"Go to backend" β Read api-server/.claude/CLAUDE.md
|
|
171
|
+
"Switch to frontend" β Read web-client/.claude/CLAUDE.md
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Document Updates
|
|
175
|
+
```
|
|
176
|
+
"Update all structures" β Refresh all ARCHITECTURE.md files
|
|
177
|
+
"Check decision log" β Review DECISIONS.md in each repo
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Multi-Repo Tasks
|
|
181
|
+
```
|
|
182
|
+
"Add ESLint to all repos" β Work sequentially on each repo
|
|
183
|
+
"Need common type defs" β Discuss where to place them
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## π Related Documents
|
|
189
|
+
|
|
190
|
+
### Root Documents
|
|
191
|
+
- **Multi-repo Navigation**: `.codesyncer/MASTER_CODESYNCER.md` β **Required**
|
|
192
|
+
- **Setup Guide**: `.codesyncer/SETUP_GUIDE.md` (Reference after AI setup)
|
|
193
|
+
|
|
194
|
+
### Individual Repo Documents
|
|
195
|
+
In each repo's `.claude/` folder:
|
|
196
|
+
- **CLAUDE.md** - Repo-specific coding rules
|
|
197
|
+
- **ARCHITECTURE.md** - Project structure
|
|
198
|
+
- **COMMENT_GUIDE.md** - Comment writing guide
|
|
199
|
+
- **DECISIONS.md** - Discussion decision log
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## π Search Comments (Entire Project)
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# Find all TODOs across repos
|
|
207
|
+
grep -r "@codesyncer-todo" ./*/.claude/
|
|
208
|
+
|
|
209
|
+
# Find all decision records
|
|
210
|
+
grep -r "@codesyncer-decision" ./*/
|
|
211
|
+
|
|
212
|
+
# Search for specific keyword
|
|
213
|
+
grep -r "payment" ./*/
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## β οΈ Important Notes
|
|
219
|
+
|
|
220
|
+
1. **Context Switch When Changing Repos**
|
|
221
|
+
- Each repo may have independent rules
|
|
222
|
+
- Always check that repo's CLAUDE.md
|
|
223
|
+
|
|
224
|
+
2. **Cross-Repo Dependencies**
|
|
225
|
+
- Discuss changes affecting multiple repos with user
|
|
226
|
+
- Explain clearly when order matters
|
|
227
|
+
|
|
228
|
+
3. **Common Code Management**
|
|
229
|
+
- Discuss location for shared types, utilities
|
|
230
|
+
- Establish duplication prevention strategy
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
**Version**: 1.0.0 (Powered by CodeSyncer)
|
|
235
|
+
**AI Tools**: Optimized for Claude Code | Compatible: Cursor, GitHub Copilot, Continue.dev
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
*CodeSyncer is open source: https://github.com/bitjaru/codesyncer*
|
|
@@ -158,20 +158,35 @@ Use template: `./templates/[lang]/decisions.md`
|
|
|
158
158
|
|
|
159
159
|
---
|
|
160
160
|
|
|
161
|
-
## π Step 4: Generate
|
|
161
|
+
## π Step 4: Generate Root Documents
|
|
162
162
|
|
|
163
|
-
|
|
163
|
+
Create the following files at the workspace root:
|
|
164
164
|
|
|
165
|
-
###
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
165
|
+
### 4.1 CLAUDE.md β **Claude Reads This First**
|
|
166
|
+
|
|
167
|
+
Create `CLAUDE.md` at root (automatically discovered by Claude):
|
|
168
|
+
|
|
169
|
+
Use template: `./templates/[lang]/root_claude.md`
|
|
170
|
+
- Replace [PROJECT_NAME], [GITHUB_USERNAME], [TODAY]
|
|
171
|
+
- Replace [REPO_COUNT] with actual repository count
|
|
172
|
+
- Indicate this is a multi-repo project
|
|
173
|
+
- Instruct to read MASTER_CODESYNCER.md first
|
|
174
|
+
- Specify project-wide common rules
|
|
175
|
+
|
|
176
|
+
**Important**: This file must exist for Claude to automatically load context at session start!
|
|
177
|
+
|
|
178
|
+
### 4.2 .codesyncer/MASTER_CODESYNCER.md
|
|
179
|
+
|
|
180
|
+
Create `.codesyncer/MASTER_CODESYNCER.md` at workspace root:
|
|
170
181
|
|
|
171
182
|
Use template: `./templates/[lang]/master.md`
|
|
172
183
|
- Replace [REPO_TABLE] with actual detected repos
|
|
173
184
|
- Replace [KEYWORD_MAPPING] with repo-specific keywords
|
|
174
185
|
- Replace [PROJECT_NAME], [GITHUB_USERNAME]
|
|
186
|
+
- List all repositories with their roles
|
|
187
|
+
- Automatic repository switching rules
|
|
188
|
+
- Keyword-based navigation mapping
|
|
189
|
+
- Multi-repo workflow examples
|
|
175
190
|
|
|
176
191
|
---
|
|
177
192
|
|
|
@@ -183,8 +198,10 @@ After generating all files, present a summary:
|
|
|
183
198
|
β
CodeSyncer Setup Complete!
|
|
184
199
|
|
|
185
200
|
Created files:
|
|
186
|
-
π
|
|
187
|
-
|
|
201
|
+
π Root/
|
|
202
|
+
βββ CLAUDE.md β Claude reads this first
|
|
203
|
+
βββ .codesyncer/
|
|
204
|
+
βββ MASTER_CODESYNCER.md
|
|
188
205
|
|
|
189
206
|
π [repo1]/.claude/
|
|
190
207
|
βββ CLAUDE.md
|
|
@@ -197,8 +214,10 @@ Created files:
|
|
|
197
214
|
|
|
198
215
|
Next Steps:
|
|
199
216
|
1. Review the generated files
|
|
200
|
-
2. Customize
|
|
201
|
-
3.
|
|
217
|
+
2. Customize each repo's CLAUDE.md
|
|
218
|
+
3. Read root CLAUDE.md or individual repo CLAUDE.md to start development
|
|
219
|
+
|
|
220
|
+
π‘ Claude automatically finds and reads root CLAUDE.md!
|
|
202
221
|
|
|
203
222
|
Ready to start using CodeSyncer!
|
|
204
223
|
```
|
|
@@ -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
|
```
|