@team-semicolon/semo-cli 3.3.0 → 3.4.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 (2) hide show
  1. package/dist/index.js +11 -0
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -2849,6 +2849,7 @@ program
2849
2849
  .option("--system", "semo-system만 업데이트")
2850
2850
  .option("--skip-cli", "CLI 업데이트 건너뛰기")
2851
2851
  .option("--only <packages>", "특정 패키지만 업데이트 (쉼표 구분: semo-core,semo-skills,biz/management)")
2852
+ .option("--migrate", "레거시 환경 강제 마이그레이션")
2852
2853
  .action(async (options) => {
2853
2854
  console.log(chalk_1.default.cyan.bold("\n🔄 SEMO 업데이트\n"));
2854
2855
  const cwd = process.cwd();
@@ -2856,6 +2857,16 @@ program
2856
2857
  const claudeDir = path.join(cwd, ".claude");
2857
2858
  // 0. 버전 비교
2858
2859
  await showVersionComparison(cwd);
2860
+ // 0.5. 레거시 환경 감지 및 마이그레이션
2861
+ const legacyCheck = detectLegacyEnvironment(cwd);
2862
+ if (legacyCheck.hasLegacy || options.migrate) {
2863
+ console.log(chalk_1.default.yellow("\n⚠️ 레거시 환경이 감지되어 업데이트 전 마이그레이션이 필요합니다.\n"));
2864
+ const migrationSuccess = await migrateLegacyEnvironment(cwd);
2865
+ if (migrationSuccess) {
2866
+ console.log(chalk_1.default.cyan("마이그레이션 완료. 'semo init'으로 새 환경을 설치하세요.\n"));
2867
+ }
2868
+ process.exit(0);
2869
+ }
2859
2870
  // --only 옵션 파싱
2860
2871
  const onlyPackages = options.only
2861
2872
  ? options.only.split(",").map((p) => p.trim())
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@team-semicolon/semo-cli",
3
- "version": "3.3.0",
3
+ "version": "3.4.0",
4
4
  "description": "SEMO CLI - AI Agent Orchestration Framework Installer",
5
5
  "main": "dist/index.js",
6
6
  "bin": {