codesyncer 3.1.1 → 3.3.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.
@@ -1,5 +1,5 @@
1
1
  <!-- codesyncer-section-start:header -->
2
- # CLAUDE.md - [PROJECT_NAME] 코딩 가이드 v3.0
2
+ # CLAUDE.md - [PROJECT_NAME] 코딩 가이드 v3.2
3
3
 
4
4
  > **Powered by CodeSyncer** - AI 협업 시스템
5
5
 
@@ -13,6 +13,26 @@ CodeSyncer는 @codesyncer-* 태그를 통해 AI 세션 간 맥락을 유지합
13
13
 
14
14
  ---
15
15
 
16
+ ## ⚡ TL;DR (3줄 요약)
17
+
18
+ ```
19
+ 1. 태그 필수: 추론→@codesyncer-inference, 결정→@codesyncer-decision
20
+ 2. 💰결제/🔐보안/🔌API → 무조건 물어보기
21
+ 3. 확실하지 않으면 → 물어보기
22
+ ```
23
+
24
+ ---
25
+
26
+ ## ❌ DO NOT (절대 금지)
27
+
28
+ - 가격/수수료 추론 금지
29
+ - API URL 추측 금지
30
+ - 보안 설정 임의 변경 금지
31
+ - 태그 없는 코드 작성 금지
32
+ - 확인 없이 파일 삭제 금지
33
+
34
+ ---
35
+
16
36
  ## 🧠 왜 이 시스템을 쓰나요?
17
37
 
18
38
  **문제**: AI는 세션이 끝나면 모든 맥락을 잊습니다.
@@ -27,18 +47,6 @@ CodeSyncer는 @codesyncer-* 태그를 통해 AI 세션 간 맥락을 유지합
27
47
  ```
28
48
  → 다음 세션에서 AI가 코드를 읽으면 **자동으로 맥락 복구**
29
49
 
30
- ---
31
-
32
- ## ⚡ TL;DR (절대 잊지 말 것)
33
-
34
- ```
35
- 1. 추론하면 → // @codesyncer-inference: [이유]
36
- 2. 결정하면 → // @codesyncer-decision: [날짜] [내용]
37
- 3. 💰가격/🔐보안/🔌API → 무조건 물어보기
38
- 4. 모든 코드에 태그 필수 (태그 없는 코드 금지)
39
- 5. 확실하지 않으면 → 물어보기
40
- ```
41
-
42
50
  ---
43
51
  <!-- codesyncer-section-end:header -->
44
52
 
@@ -237,14 +245,21 @@ async function deleteUser(id: string) {
237
245
  ---
238
246
 
239
247
  <!-- codesyncer-section-start:session-checklist -->
240
- ## 💡 세션 시작 시 체크리스트
248
+ ## 🔍 세션 시작 시 체크리스트
241
249
 
242
- AI가 파일을 읽으면 자동으로:
250
+ **Git 상태 확인** (현재 작업 맥락 파악):
251
+ ```bash
252
+ git branch # 현재 브랜치 확인
253
+ git status # 변경사항 확인
254
+ git log -3 # 최근 커밋 3개 확인
255
+ ```
243
256
 
244
- 1. ✅ **도움말 표시** - 사용 가능한 명령어 안내
245
- 2. ✅ **프로젝트 구조 파악** - ARCHITECTURE.md 확인
246
- 3. ✅ **최근 의논 확인** - DECISIONS.md 확인
247
- 4. ✅ **준비 완료 메시지** - "준비되었습니다!"
257
+ **문서 확인**:
258
+ 1. ✅ **CLAUDE.md** - 파일의 규칙 확인
259
+ 2. ✅ **ARCHITECTURE.md** - 프로젝트 구조 파악
260
+ 3. ✅ **DECISIONS.md** - 최근 결정 사항 확인
261
+
262
+ **준비 완료**: "준비되었습니다!"
248
263
  <!-- codesyncer-section-end:session-checklist -->
249
264
 
250
265
  ---
@@ -260,6 +275,97 @@ AI가 이 파일을 읽으면 자동으로:
260
275
 
261
276
  ---
262
277
 
278
+ <!-- codesyncer-section-start:subfolder-guide -->
279
+ ## 📂 서브폴더 CLAUDE.md (코드가 커지면)
280
+
281
+ 프로젝트가 커지면 폴더별로 CLAUDE.md를 추가하세요:
282
+
283
+ ```
284
+ project/
285
+ ├── CLAUDE.md # 전체 규칙
286
+ ├── src/
287
+ │ ├── payment/
288
+ │ │ └── CLAUDE.md # 결제 관련 규칙 + 태그 리마인드
289
+ │ └── auth/
290
+ │ └── CLAUDE.md # 인증 관련 규칙
291
+ ```
292
+
293
+ AI가 해당 폴더에 진입하면 자동으로 읽습니다.
294
+
295
+ ### 서브폴더 CLAUDE.md 예시
296
+ ```markdown
297
+ # CLAUDE.md - payment
298
+
299
+ ## 📌 이 폴더의 역할
300
+ 결제 처리 및 정산 관련 코드
301
+
302
+ ## ⚠️ CodeSyncer 리마인드
303
+ - 추론 → @codesyncer-inference
304
+ - 결정 → @codesyncer-decision
305
+ - 💰결제/🔐보안 → 물어보기
306
+
307
+ ## 🚫 Do Not Touch
308
+ - `generated/` - 자동 생성 파일
309
+ ```
310
+ <!-- codesyncer-section-end:subfolder-guide -->
311
+
312
+ ---
313
+
314
+ <!-- codesyncer-section-start:do-not-touch -->
315
+ ## 🚫 Do Not Touch (수정 금지 영역)
316
+
317
+ 다음 파일/폴더는 수정하지 마세요:
318
+
319
+ | 경로 | 이유 |
320
+ |------|------|
321
+ | `src/generated/` | 자동 생성 파일 |
322
+ | `src/legacy/` | 마이그레이션 전까지 수정 금지 |
323
+ | `.env*` | 환경 변수, 직접 수정 금지 |
324
+
325
+ > 💡 프로젝트에 맞게 이 섹션을 수정하세요
326
+ <!-- codesyncer-section-end:do-not-touch -->
327
+
328
+ ---
329
+
330
+ <!-- codesyncer-section-start:multi-repo -->
331
+ ## 🔗 멀티 레포 작업
332
+
333
+ ### Git 브랜치 = 작업 ID
334
+ 브랜치명을 작업 ID로 사용하세요:
335
+ - `feature/AUTH-001-login`
336
+ - `fix/PAY-002-webhook`
337
+
338
+ ### 크로스 레포 태그
339
+ 여러 레포에 걸친 작업은 같은 태그 사용:
340
+ ```typescript
341
+ // frontend 레포
342
+ // @codesyncer-work:AUTH-001 로그인 폼
343
+
344
+ // backend 레포
345
+ // @codesyncer-work:AUTH-001 로그인 API
346
+ ```
347
+
348
+ 검색: `grep -r "@codesyncer-work:AUTH-001" ../`
349
+
350
+ ### 연관 레포
351
+
352
+ | 레포 | 역할 | 경로 |
353
+ |------|------|------|
354
+ | - | - | - |
355
+
356
+ > 💡 프로젝트에 맞게 이 테이블을 수정하세요
357
+ <!-- codesyncer-section-end:multi-repo -->
358
+
359
+ ---
360
+
361
+ <!-- codesyncer-section-start:hooks -->
362
+ ## 🪝 Hooks (자동 리마인드)
363
+
364
+ [HOOKS_GUIDE]
365
+ <!-- codesyncer-section-end:hooks -->
366
+
367
+ ---
368
+
263
369
  <!-- codesyncer-section-start:footer -->
264
370
  ## 🔍 주석 검색
265
371
 
@@ -292,4 +398,4 @@ grep -r "@codesyncer-rule" ./
292
398
  *이 협업 시스템은 오픈소스입니다. 개선 아이디어는 [CodeSyncer GitHub](https://github.com/bitjaru/codesyncer)에서 제안해주세요!*
293
399
  <!-- codesyncer-section-end:footer -->
294
400
 
295
- <!-- codesyncer-version: 3.1.1 -->
401
+ <!-- codesyncer-version: 3.2.0 -->
@@ -285,6 +285,39 @@ CodeSyncer 사용 준비 완료!
285
285
  - `[GITHUB_USERNAME]` → 사용자 GitHub 사용자명
286
286
  - `[KEYWORDS]` → 사용자 확인 의논 키워드
287
287
  - `[TEMPLATES]` → 프로젝트 타입별 템플릿
288
+ - `[HOOKS_GUIDE]` → Hooks 상태에 따른 가이드 (아래 참조)
289
+
290
+ ### [HOOKS_GUIDE] 교체 방법
291
+
292
+ `.claude/settings.json` 파일이 있으면 (Hooks 설정됨):
293
+ ```markdown
294
+ > ✅ 이미 설정됨: `.claude/settings.json`
295
+
296
+ **Hooks가 하는 일**:
297
+ - AI가 응답 완료 전에 "태그 붙였어?" 자동 확인
298
+ - 세션이 길어져도 규칙을 까먹지 않음
299
+
300
+ **수정하려면**:
301
+ - `.claude/settings.json` 직접 편집
302
+ - 또는 "Hooks 수정해줘"라고 말하세요
303
+
304
+ **비활성화하려면**:
305
+ - `.claude/settings.json` 삭제
306
+ ```
307
+
308
+ `.claude/settings.json` 파일이 없으면 (Hooks 설정 안 됨):
309
+ ```markdown
310
+ > ⚠️ 아직 설정 안 됨
311
+
312
+ **Hooks란?**
313
+ 세션이 길어지면 AI가 규칙을 까먹을 수 있습니다.
314
+ Hooks를 설정하면 AI가 응답 완료 전에 자동으로 "태그 붙였어?" 확인합니다.
315
+
316
+ **설정하려면**:
317
+ "CodeSyncer Hooks 설정해줘"라고 말하세요.
318
+
319
+ AI가 자동으로 `.claude/settings.json`을 생성합니다.
320
+ ```
288
321
 
289
322
  ---
290
323
 
@@ -323,4 +356,4 @@ rm .claude/SETUP_GUIDE.md
323
356
 
324
357
  *이 설정 가이드는 CodeSyncer CLI에 의해 생성됩니다. 문제나 개선사항은 https://github.com/bitjaru/codesyncer 방문*
325
358
 
326
- <!-- codesyncer-version: 3.1.1 -->
359
+ <!-- codesyncer-version: 3.2.0 -->
@@ -0,0 +1,18 @@
1
+ # CLAUDE.md - [FOLDER_NAME]
2
+
3
+ ## 📌 이 폴더의 역할
4
+ [폴더 설명]
5
+
6
+ ## 🔧 주요 파일
7
+ - `index.ts` - 진입점
8
+ - `types.ts` - 타입 정의
9
+
10
+ ## ⚠️ CodeSyncer 리마인드
11
+ - 추론 → @codesyncer-inference
12
+ - 결정 → @codesyncer-decision
13
+ - 💰결제/🔐보안 → 물어보기
14
+
15
+ ## 🚫 Do Not Touch
16
+ - `generated/` - 자동 생성
17
+
18
+ <!-- codesyncer-version: 3.2.0 -->
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codesyncer",
3
- "version": "3.1.1",
3
+ "version": "3.3.0",
4
4
  "description": "Claude forgets everything when the session ends. CodeSyncer makes it remember.",
5
5
  "keywords": [
6
6
  "ai-collaboration",
@@ -1,5 +1,5 @@
1
1
  <!-- codesyncer-section-start:header -->
2
- # CLAUDE.md - [PROJECT_NAME] Coding Guide v3.0
2
+ # CLAUDE.md - [PROJECT_NAME] Coding Guide v3.2
3
3
 
4
4
  > **Powered by CodeSyncer** - AI Collaboration System
5
5
 
@@ -13,6 +13,26 @@ CodeSyncer helps maintain context between AI sessions through @codesyncer-* tags
13
13
 
14
14
  ---
15
15
 
16
+ ## ⚡ TL;DR (3-Line Summary)
17
+
18
+ ```
19
+ 1. Tags required: inference→@codesyncer-inference, decision→@codesyncer-decision
20
+ 2. 💰Payment/🔐Security/🔌API → Always ask first
21
+ 3. When uncertain → Ask
22
+ ```
23
+
24
+ ---
25
+
26
+ ## ❌ DO NOT (Absolutely Forbidden)
27
+
28
+ - Do not infer prices/fees
29
+ - Do not guess API URLs
30
+ - Do not change security settings arbitrarily
31
+ - Do not write code without tags
32
+ - Do not delete files without confirmation
33
+
34
+ ---
35
+
16
36
  ## 🧠 Why Use This System?
17
37
 
18
38
  **Problem**: AI forgets all context when the session ends.
@@ -27,18 +47,6 @@ CodeSyncer helps maintain context between AI sessions through @codesyncer-* tags
27
47
  ```
28
48
  → Next session, AI reads the code and **automatically recovers context**
29
49
 
30
- ---
31
-
32
- ## ⚡ TL;DR (Never Forget)
33
-
34
- ```
35
- 1. Making inference → // @codesyncer-inference: [reason]
36
- 2. Making decision → // @codesyncer-decision: [date] [content]
37
- 3. 💰Price/🔐Security/🔌API → Always ask first
38
- 4. All code must have tags (no untagged code)
39
- 5. When uncertain → Ask
40
- ```
41
-
42
50
  ---
43
51
  <!-- codesyncer-section-end:header -->
44
52
 
@@ -237,14 +245,21 @@ async function deleteUser(id: string) {
237
245
  ---
238
246
 
239
247
  <!-- codesyncer-section-start:session-checklist -->
240
- ## 💡 Session Start Checklist
248
+ ## 🔍 Session Start Checklist
241
249
 
242
- When AI reads this file, it automatically:
250
+ **Check Git status** (understand current work context):
251
+ ```bash
252
+ git branch # Check current branch
253
+ git status # Check changes
254
+ git log -3 # Check last 3 commits
255
+ ```
243
256
 
244
- 1. ✅ **Show help** - Display available commands
245
- 2. ✅ **Understand project structure** - Check ARCHITECTURE.md
246
- 3. ✅ **Check recent discussions** - Review DECISIONS.md
247
- 4. ✅ **Ready message** - "Ready to work!"
257
+ **Check documents**:
258
+ 1. ✅ **CLAUDE.md** - Review rules in this file
259
+ 2. ✅ **ARCHITECTURE.md** - Understand project structure
260
+ 3. ✅ **DECISIONS.md** - Review recent decisions
261
+
262
+ **Ready**: "Ready to work!"
248
263
  <!-- codesyncer-section-end:session-checklist -->
249
264
 
250
265
  ---
@@ -260,6 +275,97 @@ When AI reads this file, it automatically:
260
275
 
261
276
  ---
262
277
 
278
+ <!-- codesyncer-section-start:subfolder-guide -->
279
+ ## 📂 Subfolder CLAUDE.md (When Code Grows)
280
+
281
+ When the project grows, add CLAUDE.md to each folder:
282
+
283
+ ```
284
+ project/
285
+ ├── CLAUDE.md # Global rules
286
+ ├── src/
287
+ │ ├── payment/
288
+ │ │ └── CLAUDE.md # Payment rules + tag reminders
289
+ │ └── auth/
290
+ │ └── CLAUDE.md # Auth rules
291
+ ```
292
+
293
+ AI will automatically read it when entering that folder.
294
+
295
+ ### Subfolder CLAUDE.md Example
296
+ ```markdown
297
+ # CLAUDE.md - payment
298
+
299
+ ## 📌 This Folder's Purpose
300
+ Payment processing and settlement code
301
+
302
+ ## ⚠️ CodeSyncer Reminder
303
+ - Inference → @codesyncer-inference
304
+ - Decision → @codesyncer-decision
305
+ - 💰Payment/🔐Security → Ask first
306
+
307
+ ## 🚫 Do Not Touch
308
+ - `generated/` - Auto-generated files
309
+ ```
310
+ <!-- codesyncer-section-end:subfolder-guide -->
311
+
312
+ ---
313
+
314
+ <!-- codesyncer-section-start:do-not-touch -->
315
+ ## 🚫 Do Not Touch (Protected Zones)
316
+
317
+ Do not modify the following files/folders:
318
+
319
+ | Path | Reason |
320
+ |------|--------|
321
+ | `src/generated/` | Auto-generated files |
322
+ | `src/legacy/` | Do not modify until migration |
323
+ | `.env*` | Environment variables, do not edit directly |
324
+
325
+ > 💡 Customize this section for your project
326
+ <!-- codesyncer-section-end:do-not-touch -->
327
+
328
+ ---
329
+
330
+ <!-- codesyncer-section-start:multi-repo -->
331
+ ## 🔗 Multi-Repo Work
332
+
333
+ ### Git Branch = Work ID
334
+ Use branch names as work IDs:
335
+ - `feature/AUTH-001-login`
336
+ - `fix/PAY-002-webhook`
337
+
338
+ ### Cross-Repo Tags
339
+ Use the same tag for work spanning multiple repos:
340
+ ```typescript
341
+ // frontend repo
342
+ // @codesyncer-work:AUTH-001 Login form
343
+
344
+ // backend repo
345
+ // @codesyncer-work:AUTH-001 Login API
346
+ ```
347
+
348
+ Search: `grep -r "@codesyncer-work:AUTH-001" ../`
349
+
350
+ ### Related Repos
351
+
352
+ | Repo | Role | Path |
353
+ |------|------|------|
354
+ | - | - | - |
355
+
356
+ > 💡 Customize this table for your project
357
+ <!-- codesyncer-section-end:multi-repo -->
358
+
359
+ ---
360
+
361
+ <!-- codesyncer-section-start:hooks -->
362
+ ## 🪝 Hooks (Auto Reminders)
363
+
364
+ [HOOKS_GUIDE]
365
+ <!-- codesyncer-section-end:hooks -->
366
+
367
+ ---
368
+
263
369
  <!-- codesyncer-section-start:footer -->
264
370
  ## 🔍 Comment Search
265
371
 
@@ -292,4 +398,4 @@ grep -r "@codesyncer-rule" ./
292
398
  *This collaboration system is open source. Suggest improvements at [CodeSyncer GitHub](https://github.com/bitjaru/codesyncer)!*
293
399
  <!-- codesyncer-section-end:footer -->
294
400
 
295
- <!-- codesyncer-version: 3.1.1 -->
401
+ <!-- codesyncer-version: 3.2.0 -->
@@ -285,6 +285,39 @@ When generating files, replace these:
285
285
  - `[GITHUB_USERNAME]` → User's GitHub username
286
286
  - `[KEYWORDS]` → User-confirmed discussion keywords
287
287
  - `[TEMPLATES]` → Project type-specific templates
288
+ - `[HOOKS_GUIDE]` → Hooks status guide (see below)
289
+
290
+ ### [HOOKS_GUIDE] Replacement
291
+
292
+ If `.claude/settings.json` exists (Hooks enabled):
293
+ ```markdown
294
+ > ✅ Already configured: `.claude/settings.json`
295
+
296
+ **What Hooks do**:
297
+ - AI auto-checks "Did you add tags?" before completing
298
+ - Rules are remembered even in long sessions
299
+
300
+ **To modify**:
301
+ - Edit `.claude/settings.json` directly
302
+ - Or say "Modify Hooks"
303
+
304
+ **To disable**:
305
+ - Delete `.claude/settings.json`
306
+ ```
307
+
308
+ If `.claude/settings.json` doesn't exist (Hooks not configured):
309
+ ```markdown
310
+ > ⚠️ Not configured yet
311
+
312
+ **What are Hooks?**
313
+ AI might forget rules during long sessions.
314
+ With Hooks, AI automatically checks "Did you add tags?" before completing.
315
+
316
+ **To set up**:
317
+ Say "Set up CodeSyncer Hooks".
318
+
319
+ AI will automatically create `.claude/settings.json`.
320
+ ```
288
321
 
289
322
  ---
290
323
 
@@ -323,4 +356,4 @@ rm .claude/SETUP_GUIDE.md
323
356
 
324
357
  *This setup guide is generated by CodeSyncer CLI. For issues or improvements, visit: https://github.com/bitjaru/codesyncer*
325
358
 
326
- <!-- codesyncer-version: 3.1.1 -->
359
+ <!-- codesyncer-version: 3.2.0 -->
@@ -0,0 +1,18 @@
1
+ # CLAUDE.md - [FOLDER_NAME]
2
+
3
+ ## 📌 This Folder's Purpose
4
+ [Folder description]
5
+
6
+ ## 🔧 Key Files
7
+ - `index.ts` - Entry point
8
+ - `types.ts` - Type definitions
9
+
10
+ ## ⚠️ CodeSyncer Reminder
11
+ - Inference → @codesyncer-inference
12
+ - Decision → @codesyncer-decision
13
+ - 💰Payment/🔐Security → Ask first
14
+
15
+ ## 🚫 Do Not Touch
16
+ - `generated/` - Auto-generated
17
+
18
+ <!-- codesyncer-version: 3.2.0 -->
@@ -0,0 +1,24 @@
1
+ {
2
+ "hooks": {
3
+ "SessionStart": [
4
+ {
5
+ "hooks": [
6
+ {
7
+ "type": "command",
8
+ "command": "echo '[CodeSyncer] Rules: 1) @codesyncer-inference for inferences 2) @codesyncer-decision for decisions 3) Always ask user about payment/security/API'"
9
+ }
10
+ ]
11
+ }
12
+ ],
13
+ "PreCompact": [
14
+ {
15
+ "hooks": [
16
+ {
17
+ "type": "command",
18
+ "command": "echo '[CodeSyncer] Remember after compaction: @codesyncer-* tags required, ask user for payment/security/API matters'"
19
+ }
20
+ ]
21
+ }
22
+ ]
23
+ }
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "hooks": {
3
+ "Stop": [
4
+ {
5
+ "hooks": [
6
+ {
7
+ "type": "prompt",
8
+ "prompt": "작업 완료 전 CodeSyncer 체크: 1) 추론→@codesyncer-inference 태그? 2) 결정→@codesyncer-decision 태그? 3) 결제/보안/API→사용자에게 물었나? 빠진 태그가 있으면 지금 추가하세요."
9
+ }
10
+ ]
11
+ }
12
+ ],
13
+ "PreCompact": [
14
+ {
15
+ "hooks": [
16
+ {
17
+ "type": "prompt",
18
+ "prompt": "컴팩트 후에도 기억: @codesyncer-* 태그 필수, 결제/보안/API→물어보기"
19
+ }
20
+ ]
21
+ }
22
+ ]
23
+ }
24
+ }