codesyncer 1.0.5 β 2.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.
- package/README.ko.md +82 -23
- package/README.md +82 -23
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +95 -401
- package/dist/commands/init.js.map +1 -1
- package/dist/templates/en/comment_guide.md +460 -202
- package/dist/templates/en/setup_guide.md +296 -0
- package/dist/templates/ko/comment_guide.md +461 -203
- package/dist/templates/ko/setup_guide.md +296 -0
- package/dist/utils/scanner.d.ts.map +1 -1
- package/dist/utils/scanner.js +67 -15
- package/dist/utils/scanner.js.map +1 -1
- package/package.json +1 -1
- package/src/templates/en/comment_guide.md +460 -202
- package/src/templates/en/setup_guide.md +296 -0
- package/src/templates/ko/comment_guide.md +461 -203
- package/src/templates/ko/setup_guide.md +296 -0
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
# π€ CodeSyncer μ€μ κ°μ΄λ for AI μ΄μμ€ν΄νΈ
|
|
2
|
+
|
|
3
|
+
> **AI μ½λ© μ΄μμ€ν΄νΈμ©**: μ΄ λ¬Έμλ₯Ό λκΉμ§ μ½κ³ μ§μμ¬νμ λ°λΌ CodeSyncer νμ
μμ€ν
μ μ€μ νμΈμ.
|
|
4
|
+
>
|
|
5
|
+
> **νλ‘μ νΈ**: [PROJECT_NAME]
|
|
6
|
+
> **GitHub**: https://github.com/[GITHUB_USERNAME]/[PROJECT_NAME]
|
|
7
|
+
> **μμ±μΌ**: [TODAY]
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## π λΉμ μ μ무
|
|
12
|
+
|
|
13
|
+
μ΄ λ©ν° λ ν¬μ§ν 리 μν¬μ€νμ΄μ€λ₯Ό λΆμνκ³ ν¬κ΄μ μΈ νμ
μμ€ν
μ λ§λλ κ²μ΄ μ무μ
λλ€. λ€μ λ¨κ³λ₯Ό **λννμΌλ‘** μ§ννμΈμ - κ° μ£Όμ κ²°μ μμ μμ μ¬μ©μ νμΈμ λ°μΌμΈμ.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## π― 1λ¨κ³: μν¬μ€νμ΄μ€ μ΄ν΄νκΈ°
|
|
18
|
+
|
|
19
|
+
### κ°μ§λ λ ν¬μ§ν 리
|
|
20
|
+
|
|
21
|
+
[REPO_LIST]
|
|
22
|
+
|
|
23
|
+
### λΉμ μ μμ
|
|
24
|
+
1. **κ° λ ν¬μ§ν 리 λΆμ**:
|
|
25
|
+
- νμΌ κ΅¬μ‘°μ μμ‘΄μ± κ²ν
|
|
26
|
+
- κΈ°μ μ€νκ³Ό νλ μμν¬ νμ
|
|
27
|
+
- νλ‘μ νΈ λͺ©μ κ³Ό μν€ν
μ² μ΄ν΄
|
|
28
|
+
- κΈ°μ‘΄ μ½λ ν¨ν΄ νμΈ
|
|
29
|
+
|
|
30
|
+
2. **κ° λ ν¬μ§ν 리λ³λ‘ κ²°μ **:
|
|
31
|
+
- μ£Όμ κΈ°λ₯ (backend, frontend, mobile, fullstack)
|
|
32
|
+
- μ¬μ©λ μ£Όμ κΈ°μ
|
|
33
|
+
- ν΅μ¬ κΈ°λ₯κ³Ό λͺ¨λ
|
|
34
|
+
- κ°λ° ν¨ν΄
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## π 2λ¨κ³: λνν μ€μ νλ‘μΈμ€
|
|
39
|
+
|
|
40
|
+
### κ° λ ν¬μ§ν 리λ§λ€:
|
|
41
|
+
|
|
42
|
+
#### 2.1 λ ν¬μ§ν 리 λΆμ νμΈ
|
|
43
|
+
μ¬μ©μμκ² λΆμ κ²°κ³Ό μ μ:
|
|
44
|
+
```
|
|
45
|
+
π λ ν¬μ§ν 리: [repo-name]
|
|
46
|
+
|
|
47
|
+
μ λΆμ κ²°κ³Ό:
|
|
48
|
+
- νμ
: [backend/frontend/mobile/fullstack]
|
|
49
|
+
- κΈ°μ μ€ν: [detected stack]
|
|
50
|
+
- μ€λͺ
: [μμ±ν μ€λͺ
]
|
|
51
|
+
- ν΅μ¬ κΈ°λ₯: [μ£Όμ κΈ°λ₯ λμ΄]
|
|
52
|
+
|
|
53
|
+
μ΄ λΆμμ΄ λ§λμ? μμ ν λΆλΆμ΄ μλμ?
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
#### 2.2 μ€μ μ§λ¬ΈνκΈ°
|
|
57
|
+
|
|
58
|
+
**β οΈ μ λ μΆλ‘ νμ§ λ§κ³ λ°λμ λ¬Όμ΄λ³΄μΈμ:**
|
|
59
|
+
|
|
60
|
+
1. **API μλν¬μΈνΈ** (λ°±μλμ κ²½μ°):
|
|
61
|
+
- "λ©μΈ API λ² μ΄μ€ URLμ΄ λ¬΄μμΈκ°μ?"
|
|
62
|
+
- "μ¬λ¬ API λ²μ μ΄ μλμ?"
|
|
63
|
+
|
|
64
|
+
2. **λΉμ¦λμ€ λ‘μ§**:
|
|
65
|
+
- "μμμΌ ν ν΅μ¬ λΉμ¦λμ€ κ·μΉμ΄ μλμ?"
|
|
66
|
+
- "νΉμ κ°κ²©/κ²°μ μ μ±
μ΄ μλμ?"
|
|
67
|
+
|
|
68
|
+
3. **μΈμ¦**:
|
|
69
|
+
- "μ΄λ€ μΈμ¦ λ°©μμ μ¬μ©νλμ?" (JWT, OAuth, Session λ±)
|
|
70
|
+
- "ν ν°μ μ΄λμ μ μ₯νλμ?" (cookies, localStorage λ±)
|
|
71
|
+
|
|
72
|
+
4. **λ°μ΄ν°λ² μ΄μ€**:
|
|
73
|
+
- "μ΄λ€ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νλμ?"
|
|
74
|
+
- "μ€μν μ€ν€λ§ μ λ³΄κ° μλμ?"
|
|
75
|
+
|
|
76
|
+
5. **μΈλΆ μλΉμ€**:
|
|
77
|
+
- "μ΄λ€ μΈλΆ API/μλΉμ€μ μ°λλλμ?"
|
|
78
|
+
- "μμμΌ ν API ν€λ μΈμ¦ μ λ³΄κ° μλμ? (λ
ΈμΆ μμ΄)"
|
|
79
|
+
|
|
80
|
+
#### 2.3 μλ
Ό ν€μλ μλ³
|
|
81
|
+
|
|
82
|
+
μ¬μ©μμκ² μ§λ¬Έ:
|
|
83
|
+
```
|
|
84
|
+
μ΄ νλ‘μ νΈμμ μ΄λ€ μ€μ ν€μλκ° μλ μλ
Ό μ€λ¨μ νΈλ¦¬κ±°ν΄μΌ νλμ?
|
|
85
|
+
|
|
86
|
+
μΆμ² μΉ΄ν
κ³ λ¦¬:
|
|
87
|
+
|
|
88
|
+
π΄ CRITICAL (νμ μ€λ¨):
|
|
89
|
+
- π° κ²°μ /κ³ΌκΈ: κ²°μ , κ³ΌκΈ, μ²κ΅¬, νλΆ, ꡬλ
, μΈλ³΄μ΄μ€, κ°κ²©, μκΈ, payment, billing, charge, refund, subscription
|
|
90
|
+
- π 보μ/μΈμ¦: μΈμ¦, κΆν, λ‘κ·ΈμΈ, λ‘κ·Έμμ, μΈμ
, ν ν°, JWT, λΉλ°λ²νΈ, μνΈν, 볡νΈν, ν΄μ, OAuth, κΆν, μν , κ΄λ¦¬μ, authentication, authorization, encrypt, decrypt
|
|
91
|
+
- ποΈ λ°μ΄ν° μμ : μμ , μ κ±°, μμ μ²λ¦¬, νκΈ°, delete, remove, drop, truncate, destroy, purge
|
|
92
|
+
- π κ°μΈμ 보/λ²μ : GDPR, CCPA, κ°μΈμ 보, λ―Όκ°μ 보, κ°μΈμ 보μ²λ¦¬λ°©μΉ¨, μ΄μ©μ½κ΄, λμ, κ·μ μ€μ, personal data, PII, privacy, compliance
|
|
93
|
+
|
|
94
|
+
π‘ IMPORTANT (κΆμ₯ μ€λ¨):
|
|
95
|
+
- π μΈλΆ API: API μ°λ, μΉν
, μ¨λνν°, μΈλΆμλΉμ€, API ν€, μΈμ¦μ 보, webhook, third-party, credentials
|
|
96
|
+
- ποΈ DB μ€ν€λ§: λ§μ΄κ·Έλ μ΄μ
, μ€ν€λ§λ³κ²½, ν
μ΄λΈμμ , 컬λΌμΆκ°, μΈλ±μ€, μ μ½μ‘°κ±΄, migration, schema, alter table
|
|
97
|
+
- π λ°°ν¬/μΈνλΌ: λ°°ν¬, νλ‘λμ
, νκ²½μ€μ , μλ², νΈμ€ν
, λλ©μΈ, SSL, μΈμ¦μ, deploy, deployment, production, server
|
|
98
|
+
- πΎ μΊμ±: μΊμμ λ΅, λ λμ€, CDN, μΊμ무ν¨ν, redis, memcached, cache
|
|
99
|
+
- π§ μ΄λ©μΌ/μλ¦Ό: μ΄λ©μΌλ°μ‘, λ¬Έμ, νΈμμλ¦Ό, μλ¦ΌμλΉμ€, email, SMS, push notification
|
|
100
|
+
|
|
101
|
+
π’ MINOR (μ νμ μ€λ¨):
|
|
102
|
+
- β‘ μ±λ₯: μ΅μ ν, μ±λ₯κ°μ , μ§μ°λ‘λ©, μ½λλΆν , λ²λ€ν¬κΈ°, optimization, performance, lazy loading
|
|
103
|
+
- π§ͺ ν
μ€νΈ: ν
μ€νΈμ λ΅, ν
μ€νΈνλ μμν¬, CI/CD, μλνν
μ€νΈ, testing, automated testing
|
|
104
|
+
- π λ‘κΉ
/λͺ¨λν°λ§: λ‘κΉ
, λͺ¨λν°λ§, λΆμ, μλ¬μΆμ , APM, logging, monitoring, analytics
|
|
105
|
+
- π¨ UI/UX: λμμΈμμ€ν
, ν
λ§, λ°μν, μ κ·Όμ±, λ€κ΅μ΄, design system, responsive, accessibility
|
|
106
|
+
|
|
107
|
+
μ΄λ€ μΉ΄ν
κ³ λ¦¬λ₯Ό νμ±νν κΉμ? (κΆμ₯: CRITICAL + IMPORTANT)
|
|
108
|
+
λλ©μΈλ³ 컀μ€ν
ν€μλκ° μλμ?
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## π 3λ¨κ³: λ¬Έμ νμΌ μμ±
|
|
114
|
+
|
|
115
|
+
κ° λ ν¬μ§ν 리μ `.claude/` ν΄λμ λ€μ νμΌλ€μ μμ±:
|
|
116
|
+
|
|
117
|
+
### 3.1 CLAUDE.md
|
|
118
|
+
- λΆμν νλ‘μ νΈ μ 보
|
|
119
|
+
- μ λ κ·μΉ (TypeScript strict mode, μλ¬ νΈλ€λ§ λ±)
|
|
120
|
+
- μΆλ‘ κΈμ§ μμ (λΉμ¦λμ€ λ‘μ§ μμΉ, API URL, 보μ μ€μ )
|
|
121
|
+
- μλ
Ό νμ ν€μλ (μ¬μ©μκ° νμΈν ν€μλ)
|
|
122
|
+
- μ£Όμ νκ·Έ μμ€ν
(@codesyncer-* νκ·Έ)
|
|
123
|
+
- νλ‘μ νΈλ³ ν
νλ¦Ώκ³Ό ν¨ν΄
|
|
124
|
+
|
|
125
|
+
ν
νλ¦Ώ μ¬μ©: `./templates/[lang]/claude.md`
|
|
126
|
+
- [PROJECT_NAME], [PROJECT_TYPE], [TECH_STACK] κ΅μ²΄
|
|
127
|
+
- [KEYWORDS]λ₯Ό μ¬μ©μ νμΈ ν€μλλ‘ κ΅μ²΄
|
|
128
|
+
- λΆμ μ€ λ°κ²¬ν νλ‘μ νΈλ³ κ·μΉ μΆκ°
|
|
129
|
+
|
|
130
|
+
### 3.2 ARCHITECTURE.md
|
|
131
|
+
- μμ ν ν΄λ ꡬ쑰 (μ€μ λλ ν 리 μ€μΊ)
|
|
132
|
+
- νμΌ ν΅κ³
|
|
133
|
+
- μ£Όμ νκ·Έ ν΅κ³ (μ΄κΈ°κ°: λͺ¨λ 0)
|
|
134
|
+
- κΈ°μ μ€ν μμΈ μ 보
|
|
135
|
+
- package.jsonμ μμ‘΄μ±
|
|
136
|
+
|
|
137
|
+
ν
νλ¦Ώ μ¬μ©: `./templates/[lang]/architecture.md`
|
|
138
|
+
- μ€μ ν΄λ ꡬ쑰λ₯Ό μ€μΊν΄μ λμ΄
|
|
139
|
+
- μ€μ μμ‘΄μ± λͺ©λ‘ μμ±
|
|
140
|
+
|
|
141
|
+
### 3.3 COMMENT_GUIDE.md β **ν΅μ¬ λ¬Έμ**
|
|
142
|
+
- **μ£ΌμμΌλ‘ λͺ¨λ 컨ν
μ€νΈ κ΄λ¦¬** (νμ§ κΈ°μ€, μ½λ© νμ€, λͺ¨λ κ²°μ )
|
|
143
|
+
- 10κ°μ§ μ£Όμ νκ·Έ μμ€ν
(κΈ°λ³Έ 5 + νμ₯ 5)
|
|
144
|
+
- μ€μ μμ: νμ§ κΈ°μ€, μ±λ₯ μ΅μ ν, 보μ, μλ¬ νΈλ€λ§ λ±
|
|
145
|
+
- λ³λ λ¬Έμ λμ μ½λμ μ§μ κΈ°λ‘νλ μμΉ
|
|
146
|
+
|
|
147
|
+
ν
νλ¦Ώ μ¬μ©: `./templates/[lang]/comment_guide.md`
|
|
148
|
+
- κ·Έλλ‘ μ¬μ© (λͺ¨λ 컨ν
μ€νΈ κ΄λ¦¬ μμ ν¬ν¨)
|
|
149
|
+
- AIλ μ΄ ν¨ν΄μ λ°λΌ μ£Όμ μμ±
|
|
150
|
+
|
|
151
|
+
### 3.4 DECISIONS.md
|
|
152
|
+
- κ²°μ λ‘κ·Έ ν
νλ¦Ώ
|
|
153
|
+
- μΉ΄ν
κ³ λ¦¬ μ μ
|
|
154
|
+
- λΉ κ²°μ κΈ°λ‘ (κ°λ° μ€ μ±μμ§)
|
|
155
|
+
|
|
156
|
+
ν
νλ¦Ώ μ¬μ©: `./templates/[lang]/decisions.md`
|
|
157
|
+
- κ·Έλλ‘ μ¬μ© (μμ
μ€ κ²°μ μΆκ°λ¨)
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## π 4λ¨κ³: λ§μ€ν° λ¬Έμ μμ±
|
|
162
|
+
|
|
163
|
+
μν¬μ€νμ΄μ€ 루νΈμ `.codesyncer/MASTER_CODESYNCER.md` μμ±:
|
|
164
|
+
|
|
165
|
+
### λ΄μ©:
|
|
166
|
+
- λͺ¨λ λ ν¬μ§ν 리μ μν λμ΄
|
|
167
|
+
- μλ λ ν¬μ§ν 리 μ ν κ·μΉ
|
|
168
|
+
- ν€μλ κΈ°λ° λ€λΉκ²μ΄μ
λ§€ν
|
|
169
|
+
- λ©ν° λ ν¬ μν¬νλ‘μ° μμ
|
|
170
|
+
|
|
171
|
+
ν
νλ¦Ώ μ¬μ©: `./templates/[lang]/master.md`
|
|
172
|
+
- [REPO_TABLE]μ μ€μ κ°μ§λ λ ν¬λ‘ κ΅μ²΄
|
|
173
|
+
- [KEYWORD_MAPPING]μ λ ν¬λ³ ν€μλλ‘ κ΅μ²΄
|
|
174
|
+
- [PROJECT_NAME], [GITHUB_USERNAME] κ΅μ²΄
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## β
5λ¨κ³: μ΅μ’
νμΈ
|
|
179
|
+
|
|
180
|
+
λͺ¨λ νμΌ μμ± ν μμ½ μ μ:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
β
CodeSyncer μ€μ μλ£!
|
|
184
|
+
|
|
185
|
+
μμ±λ νμΌ:
|
|
186
|
+
π .codesyncer/
|
|
187
|
+
βββ MASTER_CODESYNCER.md
|
|
188
|
+
|
|
189
|
+
π [repo1]/.claude/
|
|
190
|
+
βββ CLAUDE.md
|
|
191
|
+
βββ ARCHITECTURE.md
|
|
192
|
+
βββ COMMENT_GUIDE.md
|
|
193
|
+
βββ DECISIONS.md
|
|
194
|
+
|
|
195
|
+
π [repo2]/.claude/
|
|
196
|
+
βββ (λμΌν νμΌλ€)
|
|
197
|
+
|
|
198
|
+
λ€μ λ¨κ³:
|
|
199
|
+
1. μμ±λ νμΌ κ²ν
|
|
200
|
+
2. CLAUDE.mdμ νλ‘μ νΈλ³ κ·μΉ 컀μ€ν°λ§μ΄μ¦
|
|
201
|
+
3. κ° λ ν¬μμ "CLAUDE.md μ½μ΄μ€"λ‘ κ°λ° μμ
|
|
202
|
+
|
|
203
|
+
CodeSyncer μ¬μ© μ€λΉ μλ£!
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## π¨ 컀μ€ν°λ§μ΄μ§ κ°μ΄λλΌμΈ
|
|
209
|
+
|
|
210
|
+
### λ°±μλ νλ‘μ νΈ:
|
|
211
|
+
- ARCHITECTURE.mdμ API ꡬ쑰 μ§μ€
|
|
212
|
+
- API μλν¬μΈνΈ λ¬Έμν μΆκ°
|
|
213
|
+
- 보μ λ° λ°μ΄ν° μ²λ¦¬ κ·μΉ κ°μ‘°
|
|
214
|
+
- μ 곡λ κ²½μ° λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§ ν¬ν¨
|
|
215
|
+
|
|
216
|
+
### νλ‘ νΈμλ νλ‘μ νΈ:
|
|
217
|
+
- μ»΄ν¬λνΈ κ΅¬μ‘° λ¬Έμν
|
|
218
|
+
- μ€νμΌλ§ μ κ·Όλ² ν¬ν¨ (CSS modules, Tailwind λ±)
|
|
219
|
+
- μν κ΄λ¦¬ ν¨ν΄ μΆκ°
|
|
220
|
+
- λΌμ°ν
ꡬ쑰 λ¬Έμν
|
|
221
|
+
|
|
222
|
+
### λͺ¨λ°μΌ νλ‘μ νΈ:
|
|
223
|
+
- νλ©΄ λ€λΉκ²μ΄μ
λ¬Έμν
|
|
224
|
+
- νλ«νΌλ³ λ
ΈνΈ ν¬ν¨ (iOS/Android)
|
|
225
|
+
- λ€μ΄ν°λΈ λͺ¨λ μ°λ μΆκ°
|
|
226
|
+
- λΉλ/λ°°ν¬ νλ‘μΈμ€ λ¬Έμν
|
|
227
|
+
|
|
228
|
+
### νμ€ν νλ‘μ νΈ:
|
|
229
|
+
- λ°±μλ + νλ‘ νΈμλ κ°μ΄λλΌμΈ κ²°ν©
|
|
230
|
+
- API β UI μ°λ λ¬Έμν
|
|
231
|
+
- λ°μ΄ν° νλ¦ ν¨ν΄ ν¬ν¨
|
|
232
|
+
- λ°°ν¬ μ λ΅ μΆκ°
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## π¨ AI μ΄μμ€ν΄νΈλ₯Ό μν μ€μ κ·μΉ
|
|
237
|
+
|
|
238
|
+
1. **νμ μ§λ¬Ένκ³ , μΆλ‘ νμ§ λ§ κ²**:
|
|
239
|
+
- λΉμ¦λμ€ λ‘μ§ μμΉ
|
|
240
|
+
- API μλν¬μΈνΈ
|
|
241
|
+
- 보μ μ€μ
|
|
242
|
+
- λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§
|
|
243
|
+
|
|
244
|
+
2. **μ² μ νκ² λΆμ**:
|
|
245
|
+
- μ€μ μ½λλ₯Ό μ½κ³ , μΆμΈ‘ κΈμ§
|
|
246
|
+
- package.json μμ‘΄μ± νμΈ
|
|
247
|
+
- ν΄λ ꡬ쑰 μμ ν μ€μΊ
|
|
248
|
+
- μ½λ ν¨ν΄ μλ³
|
|
249
|
+
|
|
250
|
+
3. **λννμΌλ‘ μ§ν**:
|
|
251
|
+
- κ° λ¨κ³μμ νμΈ μμ²
|
|
252
|
+
- μμ± μ λΆμ κ²°κ³Ό μ μ
|
|
253
|
+
- μ¬μ©μκ° μ΄ν΄λ₯Ό μμ ν μ μκ² νμ©
|
|
254
|
+
|
|
255
|
+
4. **λͺ¨λ μμμ @codesyncer-* νκ·Έ μ¬μ©**:
|
|
256
|
+
- λͺ¨λ μ½λ μ£Όμμ μ νμ μ¬μ©
|
|
257
|
+
- @claude-* νΈνμ± μ€λͺ
|
|
258
|
+
- μ¬λ°λ₯Έ νκ·Έ μ¬μ©λ² 보μ¬μ£ΌκΈ°
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## π ν
νλ¦Ώ νλ μ΄μ€νλ
|
|
263
|
+
|
|
264
|
+
νμΌ μμ± μ λ€μμ κ΅μ²΄:
|
|
265
|
+
|
|
266
|
+
- `[PROJECT_NAME]` β μ¬μ©μ νλ‘μ νΈλͺ
|
|
267
|
+
- `[PROJECT_TYPE]` β backend/frontend/mobile/fullstack
|
|
268
|
+
- `[TECH_STACK]` β κ°μ§λ κΈ°μ μ€ν (μΌνλ‘ κ΅¬λΆ)
|
|
269
|
+
- `[TODAY]` β νμ¬ λ μ§ (YYYY-MM-DD)
|
|
270
|
+
- `[GITHUB_USERNAME]` β μ¬μ©μ GitHub μ¬μ©μλͺ
|
|
271
|
+
- `[KEYWORDS]` β μ¬μ©μ νμΈ μλ
Ό ν€μλ
|
|
272
|
+
- `[REPO_TABLE]` β ν¬λ§·λ λ ν¬μ§ν 리 ν
μ΄λΈ
|
|
273
|
+
- `[KEYWORD_MAPPING]` β ν€μλ β λ ν¬ λ§€ν
|
|
274
|
+
- `[TEMPLATES]` β νλ‘μ νΈ νμ
λ³ ν
νλ¦Ώ
|
|
275
|
+
- `[REPO_LIST]` β κ°μ§λ λ ν¬μ§ν 리 λͺ©λ‘
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## π― μ±κ³΅ κΈ°μ€
|
|
280
|
+
|
|
281
|
+
λ€μ μ‘°κ±΄μ΄ μΆ©μ‘±λλ©΄ μ€μ μ±κ³΅:
|
|
282
|
+
- β
λͺ¨λ λ ν¬μ§ν 리μ μμ ν .claude/ ν΄λ μμ±
|
|
283
|
+
- β
μ νν λ ν¬ λ§€νμΌλ‘ λ§μ€ν° λ¬Έμ μμ±
|
|
284
|
+
- β
λͺ¨λ μ€μ μ 보λ₯Ό μ¬μ©μκ° νμΈ
|
|
285
|
+
- β
λΉμ¦λμ€ λ‘μ§μ΄λ λΉλ° μ 보μ λν μΆλ‘ μμ
|
|
286
|
+
- β
λͺ¨λ λ¬Έμκ° @codesyncer-* νκ·Έ νμ μ¬μ©
|
|
287
|
+
- β
νλ‘μ νΈλ³ ν¨ν΄ λ¬Έμν
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
**λ²μ **: 1.0.0 (Powered by CodeSyncer)
|
|
292
|
+
**AI λꡬ**: Claude Code μ΅μ ν | νΈν: Cursor, GitHub Copilot, Continue.dev
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
*μ΄ μ€μ κ°μ΄λλ CodeSyncer CLIμ μν΄ μμ±λ©λλ€. λ¬Έμ λ κ°μ μ¬νμ https://github.com/bitjaru/codesyncer λ°©λ¬Έ*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/utils/scanner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAsCrF;
|
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/utils/scanner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAsCrF;AA6VD;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKvE"}
|
package/dist/utils/scanner.js
CHANGED
|
@@ -55,9 +55,9 @@ async function scanForRepositories(rootPath) {
|
|
|
55
55
|
const folderPath = path.join(rootPath, entry.name);
|
|
56
56
|
const isRepo = await isValidRepository(folderPath);
|
|
57
57
|
if (isRepo) {
|
|
58
|
-
const type = await detectProjectType(folderPath);
|
|
58
|
+
const type = await detectProjectType(folderPath, entry.name);
|
|
59
59
|
const techStack = await detectTechStack(folderPath, type);
|
|
60
|
-
const description = await detectDescription(folderPath, type, techStack);
|
|
60
|
+
const description = await detectDescription(folderPath, type, techStack, entry.name);
|
|
61
61
|
const hasCodeSyncer = await hasCodeSyncerSetup(folderPath);
|
|
62
62
|
repos.push({
|
|
63
63
|
name: entry.name,
|
|
@@ -113,10 +113,17 @@ async function isValidRepository(folderPath) {
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
/**
|
|
116
|
-
* Detect project type based on folder structure and
|
|
116
|
+
* Detect project type based on folder structure, files, and repository name
|
|
117
117
|
*/
|
|
118
|
-
async function detectProjectType(folderPath) {
|
|
118
|
+
async function detectProjectType(folderPath, repoName) {
|
|
119
119
|
try {
|
|
120
|
+
// Analyze repository name for hints
|
|
121
|
+
const nameLower = repoName.toLowerCase();
|
|
122
|
+
const nameHints = {
|
|
123
|
+
backend: ['server', 'api', 'backend', 'service', 'socket', 'gateway', 'middleware'],
|
|
124
|
+
frontend: ['client', 'frontend', 'web', 'app', 'ui', 'admin', 'dashboard'],
|
|
125
|
+
mobile: ['mobile', 'ios', 'android', 'app'],
|
|
126
|
+
};
|
|
120
127
|
// Check for Java projects (Spring Boot)
|
|
121
128
|
const hasPomXml = await fs.pathExists(path.join(folderPath, 'pom.xml'));
|
|
122
129
|
const hasGradle = await fs.pathExists(path.join(folderPath, 'build.gradle'));
|
|
@@ -159,16 +166,38 @@ async function detectProjectType(folderPath) {
|
|
|
159
166
|
if (deps['react-native'] || deps['expo'] || deps['@react-native']) {
|
|
160
167
|
return 'mobile';
|
|
161
168
|
}
|
|
169
|
+
// Strong hint from repo name (socket server, api server, etc.)
|
|
170
|
+
if (nameHints.backend.some(keyword => nameLower.includes(keyword))) {
|
|
171
|
+
// If it has socket.io or backend keywords in name, prioritize backend
|
|
172
|
+
if (deps['socket.io'] || deps['express'] || deps['fastify'] || deps['@nestjs/core']) {
|
|
173
|
+
return 'backend';
|
|
174
|
+
}
|
|
175
|
+
}
|
|
162
176
|
// Check for frontend (React, Vue, etc.)
|
|
163
177
|
if (deps['react'] || deps['vue'] || deps['angular'] || deps['svelte']) {
|
|
178
|
+
// Check repo name hints
|
|
179
|
+
if (nameHints.frontend.some(keyword => nameLower.includes(keyword))) {
|
|
180
|
+
return 'frontend';
|
|
181
|
+
}
|
|
164
182
|
// Check if it's Next.js (could be fullstack)
|
|
165
|
-
if (deps['next']
|
|
166
|
-
|
|
183
|
+
if (deps['next']) {
|
|
184
|
+
// If has database or backend hints in name, it's fullstack
|
|
185
|
+
if (deps['prisma'] || deps['mongoose'] || deps['@prisma/client'] ||
|
|
186
|
+
nameLower.includes('fullstack') || nameLower.includes('full-stack')) {
|
|
187
|
+
return 'fullstack';
|
|
188
|
+
}
|
|
189
|
+
// If name suggests frontend only, return frontend
|
|
190
|
+
if (nameHints.frontend.some(keyword => nameLower.includes(keyword))) {
|
|
191
|
+
return 'frontend';
|
|
192
|
+
}
|
|
193
|
+
// Next.js with no DB is usually frontend
|
|
194
|
+
return 'frontend';
|
|
167
195
|
}
|
|
168
196
|
return 'frontend';
|
|
169
197
|
}
|
|
170
|
-
// Check for backend (Express, Fastify, NestJS)
|
|
171
|
-
if (deps['express'] || deps['fastify'] || deps['koa'] || deps['@nestjs/core']
|
|
198
|
+
// Check for backend (Express, Fastify, NestJS, Socket.IO)
|
|
199
|
+
if (deps['express'] || deps['fastify'] || deps['koa'] || deps['@nestjs/core'] ||
|
|
200
|
+
deps['socket.io'] || deps['ws']) {
|
|
172
201
|
return 'backend';
|
|
173
202
|
}
|
|
174
203
|
}
|
|
@@ -178,6 +207,16 @@ async function detectProjectType(folderPath) {
|
|
|
178
207
|
if (hasPodfile || hasAndroidGradle) {
|
|
179
208
|
return 'mobile';
|
|
180
209
|
}
|
|
210
|
+
// Use repo name as fallback
|
|
211
|
+
if (nameHints.backend.some(keyword => nameLower.includes(keyword))) {
|
|
212
|
+
return 'backend';
|
|
213
|
+
}
|
|
214
|
+
if (nameHints.frontend.some(keyword => nameLower.includes(keyword))) {
|
|
215
|
+
return 'frontend';
|
|
216
|
+
}
|
|
217
|
+
if (nameHints.mobile.some(keyword => nameLower.includes(keyword))) {
|
|
218
|
+
return 'mobile';
|
|
219
|
+
}
|
|
181
220
|
// Default to fullstack if can't determine
|
|
182
221
|
return 'fullstack';
|
|
183
222
|
}
|
|
@@ -308,9 +347,9 @@ async function detectTechStack(folderPath, type) {
|
|
|
308
347
|
}
|
|
309
348
|
}
|
|
310
349
|
/**
|
|
311
|
-
* Detect project description from package.json or generate from tech stack
|
|
350
|
+
* Detect project description from package.json or generate from tech stack and repo name
|
|
312
351
|
*/
|
|
313
|
-
async function detectDescription(folderPath, type, techStack) {
|
|
352
|
+
async function detectDescription(folderPath, type, techStack, repoName) {
|
|
314
353
|
try {
|
|
315
354
|
// Try to get description from package.json
|
|
316
355
|
const packageJsonPath = path.join(folderPath, 'package.json');
|
|
@@ -320,13 +359,26 @@ async function detectDescription(folderPath, type, techStack) {
|
|
|
320
359
|
return packageJson.description.trim();
|
|
321
360
|
}
|
|
322
361
|
}
|
|
323
|
-
//
|
|
362
|
+
// Analyze repo name for specific purposes
|
|
363
|
+
const nameLower = repoName.toLowerCase();
|
|
324
364
|
const mainTech = techStack[0] || 'Unknown';
|
|
325
365
|
const secondaryTech = techStack.slice(1, 3).join(', ');
|
|
326
|
-
// Check for specific patterns in tech stack
|
|
327
|
-
if (techStack.some(t => t.toLowerCase().includes('socket'))) {
|
|
328
|
-
return `Real-time ${
|
|
366
|
+
// Check for specific patterns in repo name and tech stack
|
|
367
|
+
if (nameLower.includes('socket') && techStack.some(t => t.toLowerCase().includes('socket'))) {
|
|
368
|
+
return `Real-time WebSocket server using ${mainTech}${secondaryTech ? ' with ' + secondaryTech : ''}`;
|
|
369
|
+
}
|
|
370
|
+
if (nameLower.includes('api') || nameLower.includes('server')) {
|
|
371
|
+
if (type === 'backend') {
|
|
372
|
+
return `Backend API server using ${mainTech}${secondaryTech ? ' and ' + secondaryTech : ''}`;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
if (nameLower.includes('admin') || nameLower.includes('dashboard')) {
|
|
376
|
+
return `Admin dashboard built with ${mainTech}${secondaryTech ? ' and ' + secondaryTech : ''}`;
|
|
377
|
+
}
|
|
378
|
+
if (nameLower.includes('middleware') || nameLower.includes('gateway')) {
|
|
379
|
+
return `${type.charAt(0).toUpperCase() + type.slice(1)} middleware/gateway using ${mainTech}`;
|
|
329
380
|
}
|
|
381
|
+
// General descriptions based on type
|
|
330
382
|
if (type === 'fullstack') {
|
|
331
383
|
return `Full-stack application using ${mainTech}${secondaryTech ? ' with ' + secondaryTech : ''}`;
|
|
332
384
|
}
|
|
@@ -334,7 +386,7 @@ async function detectDescription(folderPath, type, techStack) {
|
|
|
334
386
|
return `Frontend application built with ${mainTech}${secondaryTech ? ' and ' + secondaryTech : ''}`;
|
|
335
387
|
}
|
|
336
388
|
if (type === 'backend') {
|
|
337
|
-
return `Backend
|
|
389
|
+
return `Backend server using ${mainTech}${secondaryTech ? ' and ' + secondaryTech : ''}`;
|
|
338
390
|
}
|
|
339
391
|
if (type === 'mobile') {
|
|
340
392
|
return `Mobile application built with ${mainTech}${secondaryTech ? ' and ' + secondaryTech : ''}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/utils/scanner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/utils/scanner.ts"],"names":[],"mappings":"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"}
|