codesyncer 3.0.0 → 3.1.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 (50) hide show
  1. package/README.ko.md +50 -12
  2. package/README.md +50 -12
  3. package/dist/commands/update.d.ts.map +1 -1
  4. package/dist/commands/update.js +136 -0
  5. package/dist/commands/update.js.map +1 -1
  6. package/dist/templates/en/architecture.md +2 -0
  7. package/dist/templates/en/claude.md +2 -0
  8. package/dist/templates/en/comment_guide.md +2 -0
  9. package/dist/templates/en/decisions.md +2 -0
  10. package/dist/templates/en/master.md +2 -0
  11. package/dist/templates/en/root_claude.md +2 -0
  12. package/dist/templates/en/setup_guide.md +2 -0
  13. package/dist/templates/en/setup_guide_monorepo.md +2 -0
  14. package/dist/templates/en/setup_guide_single.md +2 -0
  15. package/dist/templates/ko/architecture.md +2 -0
  16. package/dist/templates/ko/claude.md +2 -0
  17. package/dist/templates/ko/comment_guide.md +2 -0
  18. package/dist/templates/ko/decisions.md +2 -0
  19. package/dist/templates/ko/master.md +2 -0
  20. package/dist/templates/ko/root_claude.md +2 -0
  21. package/dist/templates/ko/setup_guide.md +2 -0
  22. package/dist/templates/ko/setup_guide_monorepo.md +2 -0
  23. package/dist/templates/ko/setup_guide_single.md +2 -0
  24. package/dist/utils/template-upgrader.d.ts +72 -0
  25. package/dist/utils/template-upgrader.d.ts.map +1 -0
  26. package/dist/utils/template-upgrader.js +249 -0
  27. package/dist/utils/template-upgrader.js.map +1 -0
  28. package/dist/utils/template-version.d.ts +64 -0
  29. package/dist/utils/template-version.d.ts.map +1 -0
  30. package/dist/utils/template-version.js +177 -0
  31. package/dist/utils/template-version.js.map +1 -0
  32. package/package.json +1 -1
  33. package/src/templates/en/architecture.md +2 -0
  34. package/src/templates/en/claude.md +2 -0
  35. package/src/templates/en/comment_guide.md +2 -0
  36. package/src/templates/en/decisions.md +2 -0
  37. package/src/templates/en/master.md +2 -0
  38. package/src/templates/en/root_claude.md +2 -0
  39. package/src/templates/en/setup_guide.md +2 -0
  40. package/src/templates/en/setup_guide_monorepo.md +2 -0
  41. package/src/templates/en/setup_guide_single.md +2 -0
  42. package/src/templates/ko/architecture.md +2 -0
  43. package/src/templates/ko/claude.md +2 -0
  44. package/src/templates/ko/comment_guide.md +2 -0
  45. package/src/templates/ko/decisions.md +2 -0
  46. package/src/templates/ko/master.md +2 -0
  47. package/src/templates/ko/root_claude.md +2 -0
  48. package/src/templates/ko/setup_guide.md +2 -0
  49. package/src/templates/ko/setup_guide_monorepo.md +2 -0
  50. package/src/templates/ko/setup_guide_single.md +2 -0
package/README.ko.md CHANGED
@@ -34,18 +34,32 @@
34
34
 
35
35
  **핵심 인사이트**: AI는 코드를 읽습니다. 그러니 맥락을 코드 안에 넣으세요.
36
36
 
37
- ```mermaid
38
- flowchart LR
39
- A["🧑‍💻 Claude와 코딩"] --> B{"결정 내림?"}
40
- B -->|예| C["codesyncer-decision 태그 추가"]
41
- B -->|아니오| D{"추론 했음?"}
42
- D -->|예| E["codesyncer-inference 태그 추가"]
43
- D -->|아니오| F["계속 코딩"]
44
- C --> G["📝 코드에 영구 저장"]
45
- E --> G
46
- G --> H["🔄 다음 세션"]
47
- H --> I["Claude가 코드 읽음"]
48
- I --> J["✅ 맥락 복구 완료!"]
37
+ ```
38
+ ┌─────────────────────────┐
39
+ 🧑‍💻 Claude와 코딩
40
+ └───────────┬─────────────┘
41
+
42
+ ┌──────────────┐
43
+ │ 결정함?
44
+ └──────┬───────┘
45
+
46
+ ┌─────────────────────────┐
47
+ │ @codesyncer-decision
48
+ @codesyncer-inference │
49
+ └───────────┬─────────────┘
50
+
51
+ ┌─────────────────────────┐
52
+ │ 📝 코드에 영구 저장 │
53
+ └───────────┬─────────────┘
54
+
55
+ ┌─────────────────────────┐
56
+ │ 🔄 다음 세션 │
57
+ │ Claude가 코드 읽음 │
58
+ └───────────┬─────────────┘
59
+
60
+ ┌─────────────────────────┐
61
+ │ ✅ 맥락 복구 완료! │
62
+ └─────────────────────────┘
49
63
  ```
50
64
 
51
65
  ```typescript
@@ -223,6 +237,7 @@ codesyncer validate --verbose # 파일 경로 표시
223
237
  3. ✅ 언어 설정 자동 감지 (한국어/영어)
224
238
  4. ✅ 새 파일 생성 전 사용자 확인 요청
225
239
  5. ✅ 기존 커스터마이징 내용 보존
240
+ 6. ✅ **v3.1.0 신규**: 구버전 템플릿 감지 및 업그레이드 제안
226
241
 
227
242
  **출력 예시:**
228
243
  ```
@@ -250,6 +265,29 @@ This file allows Claude to automatically load context at session start.
250
265
  ✅ Update complete!
251
266
  ```
252
267
 
268
+ #### 템플릿 업그레이드 (v3.1.0 신규)
269
+
270
+ CodeSyncer를 새 버전으로 업데이트하면, 기존 템플릿 파일이 구버전일 수 있습니다. `update` 명령어가 이를 자동으로 감지합니다:
271
+
272
+ ```
273
+ 📦 새 버전 감지: v3.1.0
274
+
275
+ 📁 my-project/
276
+ • CLAUDE.md (v3.0.0 → v3.1.0)
277
+ • COMMENT_GUIDE.md (버전 없음 → v3.1.0)
278
+
279
+ ? 2개 템플릿을 업그레이드할까요?
280
+ > 예 - 업그레이드 (기존 파일 .backup으로 백업)
281
+ 아니오 - 건너뛰기
282
+ 미리보기 - 변경 파일만 확인
283
+ ```
284
+
285
+ **기능:**
286
+ - 🔍 버전 메타데이터를 읽어 구버전 템플릿 자동 감지
287
+ - 💾 업그레이드 전 `.backup` 파일 생성 (예: `CLAUDE.md.backup.2024-01-17`)
288
+ - 📋 업그레이드 시 프로젝트 변수 (프로젝트 이름, 기술 스택) 보존
289
+ - 👁️ 변경 사항을 미리 확인하는 미리보기 옵션
290
+
253
291
  **`codesyncer update` 실행 후:**
254
292
 
255
293
  다음 중 하나를 선택하여 변경사항을 적용하세요:
package/README.md CHANGED
@@ -34,18 +34,32 @@
34
34
 
35
35
  **The core insight**: AI reads code. So put your context IN the code.
36
36
 
37
- ```mermaid
38
- flowchart LR
39
- A["🧑‍💻 You code with Claude"] --> B{"Decision made?"}
40
- B -->|Yes| C["Add codesyncer-decision tag"]
41
- B -->|No| D{"Inference made?"}
42
- D -->|Yes| E["Add codesyncer-inference tag"]
43
- D -->|No| F["Continue coding"]
44
- C --> G["📝 Saved in code forever"]
45
- E --> G
46
- G --> H["🔄 Next session"]
47
- H --> I["Claude reads code"]
48
- I --> J["✅ Context recovered!"]
37
+ ```
38
+ ┌─────────────────────────┐
39
+ 🧑‍💻 Code with Claude
40
+ └───────────┬─────────────┘
41
+
42
+ ┌──────────────┐
43
+ │ Decision? │
44
+ └──────┬───────┘
45
+
46
+ ┌─────────────────────────┐
47
+ │ @codesyncer-decision
48
+ @codesyncer-inference │
49
+ └───────────┬─────────────┘
50
+
51
+ ┌─────────────────────────┐
52
+ │ 📝 Saved in code │
53
+ └───────────┬─────────────┘
54
+
55
+ ┌─────────────────────────┐
56
+ │ 🔄 Next session │
57
+ │ Claude reads code │
58
+ └───────────┬─────────────┘
59
+
60
+ ┌─────────────────────────┐
61
+ │ ✅ Context recovered! │
62
+ └─────────────────────────┘
49
63
  ```
50
64
 
51
65
  ```typescript
@@ -223,6 +237,7 @@ Sync your project with the latest templates and features:
223
237
  3. ✅ Auto-detects your language settings (English/Korean)
224
238
  4. ✅ Prompts before creating any new files
225
239
  5. ✅ Preserves your existing customizations
240
+ 6. ✅ **NEW in v3.1.0**: Detects outdated templates and offers upgrade
226
241
 
227
242
  **Example output:**
228
243
  ```
@@ -250,6 +265,29 @@ Option 2) Apply immediately in current session
250
265
  ✅ Update complete!
251
266
  ```
252
267
 
268
+ #### Template Upgrade (NEW in v3.1.0)
269
+
270
+ When you update CodeSyncer to a new version, your existing template files may be outdated. The `update` command now automatically detects this:
271
+
272
+ ```
273
+ 📦 New Version Detected: v3.1.0
274
+
275
+ 📁 my-project/
276
+ • CLAUDE.md (v3.0.0 → v3.1.0)
277
+ • COMMENT_GUIDE.md (no version → v3.1.0)
278
+
279
+ ? Upgrade 2 template(s)?
280
+ > Yes - Upgrade (backup existing files to .backup)
281
+ No - Skip
282
+ Preview - Show files only
283
+ ```
284
+
285
+ **Features:**
286
+ - 🔍 Automatically detects outdated templates by reading version metadata
287
+ - 💾 Creates `.backup` files before upgrading (e.g., `CLAUDE.md.backup.2024-01-17`)
288
+ - 📋 Preserves project variables (project name, tech stack) during upgrade
289
+ - 👁️ Preview option to see what would change
290
+
253
291
  **After running `codesyncer update`:**
254
292
 
255
293
  Choose one of these options to apply changes:
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAA4B,MAAM,UAAU,CAAC;AAInE,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,iBAwwBzD"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAA4B,MAAM,UAAU,CAAC;AAgBnE,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,iBA2wBzD"}
@@ -44,6 +44,8 @@ const fs = __importStar(require("fs-extra"));
44
44
  const path = __importStar(require("path"));
45
45
  const scanner_1 = require("../utils/scanner");
46
46
  const monorepo_helpers_1 = require("../utils/monorepo-helpers");
47
+ const template_version_1 = require("../utils/template-version");
48
+ const template_upgrader_1 = require("../utils/template-upgrader");
47
49
  async function updateCommand(options) {
48
50
  const isDryRun = options.dryRun || false;
49
51
  if (isDryRun) {
@@ -770,6 +772,8 @@ rm .codesyncer/UPDATE_GUIDE.md
770
772
  }
771
773
  }
772
774
  }
775
+ // Template Upgrade Check
776
+ await checkAndOfferTemplateUpgrade(currentDir, foundRepos, lang, isDryRun);
773
777
  if (isDryRun) {
774
778
  console.log(chalk_1.default.bold.yellow('\n✅ Dry run complete! No files were modified.\n'));
775
779
  console.log(chalk_1.default.gray('Run without --dry-run to apply changes.\n'));
@@ -778,4 +782,136 @@ rm .codesyncer/UPDATE_GUIDE.md
778
782
  console.log(chalk_1.default.bold.green('\n✅ Update complete!\n'));
779
783
  }
780
784
  }
785
+ /**
786
+ * Check for outdated templates and offer upgrade option
787
+ *
788
+ * @codesyncer-context Template upgrade feature - checks version metadata in files
789
+ * @codesyncer-decision [2026-01-17] Backup files before upgrade for user safety
790
+ */
791
+ async function checkAndOfferTemplateUpgrade(currentDir, repos, lang, isDryRun) {
792
+ const currentVersion = (0, template_version_1.getCurrentVersion)();
793
+ // Collect all outdated templates across all repos
794
+ const allOutdated = [];
795
+ for (const repo of repos) {
796
+ const claudeDir = path.join(repo.path, '.claude');
797
+ if (await fs.pathExists(claudeDir)) {
798
+ const outdated = await (0, template_version_1.getOutdatedTemplates)(claudeDir);
799
+ if (outdated.length > 0) {
800
+ allOutdated.push({
801
+ repo: repo.name,
802
+ claudeDir,
803
+ templates: outdated,
804
+ });
805
+ }
806
+ }
807
+ }
808
+ // Also check root .claude if it exists (for single repo setup)
809
+ const rootClaudeDir = path.join(currentDir, '.claude');
810
+ if (await fs.pathExists(rootClaudeDir)) {
811
+ const rootOutdated = await (0, template_version_1.getOutdatedTemplates)(rootClaudeDir);
812
+ if (rootOutdated.length > 0) {
813
+ // Avoid duplicates
814
+ const alreadyIncluded = allOutdated.some((o) => o.claudeDir === rootClaudeDir);
815
+ if (!alreadyIncluded) {
816
+ allOutdated.push({
817
+ repo: path.basename(currentDir),
818
+ claudeDir: rootClaudeDir,
819
+ templates: rootOutdated,
820
+ });
821
+ }
822
+ }
823
+ }
824
+ if (allOutdated.length === 0) {
825
+ return; // No outdated templates found
826
+ }
827
+ // Count total outdated files
828
+ const totalOutdated = allOutdated.reduce((sum, o) => sum + o.templates.length, 0);
829
+ // Display upgrade notification
830
+ console.log(chalk_1.default.bold.blue('\n📦 ' + (lang === 'ko' ? '새 버전 감지' : 'New Version Detected') + `: v${currentVersion}\n`));
831
+ // Show outdated files grouped by repo
832
+ allOutdated.forEach(({ repo, templates }) => {
833
+ console.log(chalk_1.default.yellow(` 📁 ${repo}/`));
834
+ templates.forEach((t) => {
835
+ const fileName = path.basename(t.file);
836
+ const versionInfo = t.currentVersion
837
+ ? `v${t.currentVersion} → v${t.latestVersion}`
838
+ : `(${lang === 'ko' ? '버전 없음' : 'no version'}) → v${t.latestVersion}`;
839
+ console.log(chalk_1.default.gray(` • ${fileName} (${versionInfo})`));
840
+ });
841
+ });
842
+ console.log();
843
+ // Prompt for upgrade
844
+ const { upgradeChoice } = await inquirer_1.default.prompt([
845
+ {
846
+ type: 'list',
847
+ name: 'upgradeChoice',
848
+ message: lang === 'ko'
849
+ ? `${totalOutdated}개 템플릿을 업그레이드할까요?`
850
+ : `Upgrade ${totalOutdated} template(s)?`,
851
+ choices: [
852
+ {
853
+ name: lang === 'ko'
854
+ ? '예 - 업그레이드 (기존 파일 .backup으로 백업)'
855
+ : 'Yes - Upgrade (backup existing files to .backup)',
856
+ value: 'yes',
857
+ },
858
+ {
859
+ name: lang === 'ko' ? '아니오 - 건너뛰기' : 'No - Skip',
860
+ value: 'no',
861
+ },
862
+ {
863
+ name: lang === 'ko' ? '미리보기 - 변경 파일만 확인' : 'Preview - Show files only',
864
+ value: 'preview',
865
+ },
866
+ ],
867
+ default: 'yes',
868
+ },
869
+ ]);
870
+ if (upgradeChoice === 'preview') {
871
+ console.log(chalk_1.default.bold('\n' + (lang === 'ko' ? '📋 업그레이드 대상 파일:' : '📋 Files to upgrade:')));
872
+ allOutdated.forEach(({ repo, templates }) => {
873
+ templates.forEach((t) => {
874
+ console.log(chalk_1.default.gray(` • ${repo}/.claude/${path.basename(t.file)}`));
875
+ });
876
+ });
877
+ console.log();
878
+ return;
879
+ }
880
+ if (upgradeChoice === 'no') {
881
+ console.log(chalk_1.default.gray(lang === 'ko' ? ' 템플릿 업그레이드 건너뜀\n' : ' Template upgrade skipped\n'));
882
+ return;
883
+ }
884
+ // Perform upgrade
885
+ if (isDryRun) {
886
+ console.log(chalk_1.default.yellow(lang === 'ko'
887
+ ? '\n [DRY RUN] 업그레이드 수행됨 (실제 파일 변경 없음)\n'
888
+ : '\n [DRY RUN] Upgrade would be performed (no actual changes)\n'));
889
+ allOutdated.forEach(({ repo, templates }) => {
890
+ templates.forEach((t) => {
891
+ console.log(chalk_1.default.gray(` • ${repo}/.claude/${path.basename(t.file)}`));
892
+ });
893
+ });
894
+ return;
895
+ }
896
+ const spinner = (0, ora_1.default)(lang === 'ko' ? '템플릿 업그레이드 중...' : 'Upgrading templates...').start();
897
+ const allResults = [];
898
+ for (const { claudeDir, templates } of allOutdated) {
899
+ const vars = await (0, template_upgrader_1.getTemplateVarsFromContext)(claudeDir, lang);
900
+ const results = await (0, template_upgrader_1.upgradeTemplates)(templates, { lang, vars, dryRun: isDryRun });
901
+ allResults.push(...results);
902
+ }
903
+ spinner.succeed(lang === 'ko' ? '템플릿 업그레이드 완료!' : 'Templates upgraded!');
904
+ // Show summary
905
+ console.log();
906
+ console.log((0, template_upgrader_1.formatUpgradeSummary)(allResults, lang));
907
+ console.log();
908
+ // Show backup notice
909
+ const successfulWithBackup = allResults.filter((r) => r.success && r.backupPath);
910
+ if (successfulWithBackup.length > 0) {
911
+ console.log(chalk_1.default.cyan(lang === 'ko'
912
+ ? '💡 백업 파일에서 커스터마이징 내용을 복사할 수 있습니다.'
913
+ : '💡 You can copy customizations from backup files.'));
914
+ console.log();
915
+ }
916
+ }
781
917
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -145,3 +145,5 @@ No API endpoints discovered.
145
145
  ---
146
146
 
147
147
  *This document is auto-generated and managed by CodeSyncer.*
148
+
149
+ <!-- codesyncer-version: 3.1.0 -->
@@ -279,3 +279,5 @@ grep -r "@codesyncer-rule" ./
279
279
  ---
280
280
 
281
281
  *This collaboration system is open source. Suggest improvements at [CodeSyncer GitHub](https://github.com/bitjaru/codesyncer)!*
282
+
283
+ <!-- codesyncer-version: 3.1.0 -->
@@ -580,3 +580,5 @@ After writing code:
580
580
  **Last Updated**: [TODAY]
581
581
 
582
582
  *Comments are the documentation. Record all context in code.*
583
+
584
+ <!-- codesyncer-version: 3.1.0 -->
@@ -225,3 +225,5 @@ grep "@codesyncer-decision" src/services/PaymentService.ts
225
225
  **Last Updated**: [TODAY]
226
226
 
227
227
  *All important decisions are permanently recorded. This is your team's knowledge asset.*
228
+
229
+ <!-- codesyncer-version: 3.1.0 -->
@@ -177,3 +177,5 @@ Both formats work identically, so use whichever you prefer!
177
177
 
178
178
  *CodeSyncer - Persistent context, controlled inference, live architecture sync for Claude Code*
179
179
  *Currently Supported: Claude Code | Coming Soon: Cursor, GitHub Copilot, Continue.dev*
180
+
181
+ <!-- codesyncer-version: 3.1.0 -->
@@ -239,3 +239,5 @@ grep -r "payment" ./*/
239
239
  ---
240
240
 
241
241
  *CodeSyncer is open source: https://github.com/bitjaru/codesyncer*
242
+
243
+ <!-- codesyncer-version: 3.1.0 -->
@@ -313,3 +313,5 @@ Setup is successful when:
313
313
  ---
314
314
 
315
315
  *This setup guide is generated by CodeSyncer CLI. For issues or improvements, visit: https://github.com/bitjaru/codesyncer*
316
+
317
+ <!-- codesyncer-version: 3.1.0 -->
@@ -330,3 +330,5 @@ Setup is successful when:
330
330
  ---
331
331
 
332
332
  *This setup guide is generated by CodeSyncer CLI. For issues or improvements, visit: https://github.com/bitjaru/codesyncer*
333
+
334
+ <!-- codesyncer-version: 3.1.0 -->
@@ -322,3 +322,5 @@ rm .claude/SETUP_GUIDE.md
322
322
  ---
323
323
 
324
324
  *This setup guide is generated by CodeSyncer CLI. For issues or improvements, visit: https://github.com/bitjaru/codesyncer*
325
+
326
+ <!-- codesyncer-version: 3.1.0 -->
@@ -145,3 +145,5 @@
145
145
  ---
146
146
 
147
147
  *이 문서는 CodeSyncer에 의해 자동 생성 및 관리됩니다.*
148
+
149
+ <!-- codesyncer-version: 3.1.0 -->
@@ -279,3 +279,5 @@ grep -r "@codesyncer-rule" ./
279
279
  ---
280
280
 
281
281
  *이 협업 시스템은 오픈소스입니다. 개선 아이디어는 [CodeSyncer GitHub](https://github.com/bitjaru/codesyncer)에서 제안해주세요!*
282
+
283
+ <!-- codesyncer-version: 3.1.0 -->
@@ -580,3 +580,5 @@ ARCHITECTURE.md에 자동 집계:
580
580
  **마지막 업데이트**: [TODAY]
581
581
 
582
582
  *주석이 곧 문서입니다. 모든 컨텍스트를 코드에 기록하세요.*
583
+
584
+ <!-- codesyncer-version: 3.1.0 -->
@@ -225,3 +225,5 @@ grep "@codesyncer-decision" src/services/PaymentService.ts
225
225
  **마지막 업데이트**: [TODAY]
226
226
 
227
227
  *모든 중요한 의사결정이 영구 기록됩니다. 팀의 지식 자산입니다.*
228
+
229
+ <!-- codesyncer-version: 3.1.0 -->
@@ -177,3 +177,5 @@ CodeSyncer는 두 가지 태그 형식을 모두 지원합니다:
177
177
 
178
178
  *CodeSyncer - 영구 컨텍스트, 추론 통제, 실시간 아키텍처 동기화 for Claude Code*
179
179
  *현재 지원: Claude Code | 향후 지원 예정: Cursor, GitHub Copilot, Continue.dev*
180
+
181
+ <!-- codesyncer-version: 3.1.0 -->
@@ -239,3 +239,5 @@ grep -r "결제" ./*/
239
239
  ---
240
240
 
241
241
  *CodeSyncer는 오픈소스입니다: https://github.com/bitjaru/codesyncer*
242
+
243
+ <!-- codesyncer-version: 3.1.0 -->
@@ -313,3 +313,5 @@ CodeSyncer 사용 준비 완료!
313
313
  ---
314
314
 
315
315
  *이 설정 가이드는 CodeSyncer CLI에 의해 생성됩니다. 문제나 개선사항은 https://github.com/bitjaru/codesyncer 방문*
316
+
317
+ <!-- codesyncer-version: 3.1.0 -->
@@ -330,3 +330,5 @@ CodeSyncer 사용 준비 완료!
330
330
  ---
331
331
 
332
332
  *이 설정 가이드는 CodeSyncer CLI에 의해 생성됩니다. 문제나 개선사항은 https://github.com/bitjaru/codesyncer 방문*
333
+
334
+ <!-- codesyncer-version: 3.1.0 -->
@@ -322,3 +322,5 @@ rm .claude/SETUP_GUIDE.md
322
322
  ---
323
323
 
324
324
  *이 설정 가이드는 CodeSyncer CLI에 의해 생성됩니다. 문제나 개선사항은 https://github.com/bitjaru/codesyncer 방문*
325
+
326
+ <!-- codesyncer-version: 3.1.0 -->
@@ -0,0 +1,72 @@
1
+ import { Language } from '../types';
2
+ import { TemplateStatus } from './template-version';
3
+ /**
4
+ * Template upgrade utilities
5
+ *
6
+ * @codesyncer-context Handles backing up existing templates and applying new versions
7
+ * @codesyncer-decision [2026-01-17] Always backup before upgrading (user data safety)
8
+ */
9
+ /**
10
+ * Result of a template upgrade operation
11
+ */
12
+ export interface UpgradeResult {
13
+ success: boolean;
14
+ file: string;
15
+ backupPath?: string;
16
+ error?: string;
17
+ }
18
+ /**
19
+ * Options for template upgrade
20
+ */
21
+ export interface UpgradeOptions {
22
+ lang: Language;
23
+ vars: Record<string, string>;
24
+ dryRun?: boolean;
25
+ }
26
+ /**
27
+ * Create a backup of a file before upgrading
28
+ *
29
+ * @param filePath - Path to the file to backup
30
+ * @returns Path to the backup file
31
+ */
32
+ export declare function backupFile(filePath: string): Promise<string>;
33
+ /**
34
+ * Upgrade a single template file
35
+ *
36
+ * @param templateStatus - Template status from version check
37
+ * @param options - Upgrade options
38
+ * @returns Promise resolving to UpgradeResult
39
+ */
40
+ export declare function upgradeTemplate(templateStatus: TemplateStatus, options: UpgradeOptions): Promise<UpgradeResult>;
41
+ /**
42
+ * Upgrade multiple templates
43
+ *
44
+ * @param templates - Array of template statuses to upgrade
45
+ * @param options - Upgrade options
46
+ * @returns Promise resolving to array of UpgradeResults
47
+ */
48
+ export declare function upgradeTemplates(templates: TemplateStatus[], options: UpgradeOptions): Promise<UpgradeResult[]>;
49
+ /**
50
+ * Extract variables from existing file for re-use during upgrade
51
+ *
52
+ * @param filePath - Path to existing file
53
+ * @returns Record of extracted variables
54
+ */
55
+ export declare function extractVarsFromFile(filePath: string): Promise<Record<string, string>>;
56
+ /**
57
+ * Get template variables from .claude directory context
58
+ *
59
+ * @param claudeDir - Path to .claude directory
60
+ * @param lang - Language to use
61
+ * @returns Record of template variables
62
+ */
63
+ export declare function getTemplateVarsFromContext(claudeDir: string, lang: Language): Promise<Record<string, string>>;
64
+ /**
65
+ * Format upgrade summary for display
66
+ *
67
+ * @param results - Array of upgrade results
68
+ * @param lang - Language for messages
69
+ * @returns Formatted summary string
70
+ */
71
+ export declare function formatUpgradeSummary(results: UpgradeResult[], lang: Language): string;
72
+ //# sourceMappingURL=template-upgrader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-upgrader.d.ts","sourceRoot":"","sources":["../../src/utils/template-upgrader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAEvE;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBlE;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CAuCxB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,cAAc,EAAE,EAC3B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,EAAE,CAAC,CAS1B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqC3F;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgCjC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CA+CrF"}