@su-record/vibe 0.4.6 → 0.4.8

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/bin/vibe CHANGED
@@ -352,6 +352,46 @@ function removeDirRecursive(dirPath) {
352
352
  fs.rmdirSync(dirPath);
353
353
  }
354
354
 
355
+ // 최신 버전 확인 및 자동 업그레이드
356
+ async function checkAndUpgradeVibe() {
357
+ const { execSync } = require('child_process');
358
+ const currentVersion = require('../package.json').version;
359
+
360
+ try {
361
+ // npm에서 최신 버전 확인
362
+ const latestVersion = execSync('npm view @su-record/vibe version', {
363
+ encoding: 'utf-8',
364
+ stdio: ['pipe', 'pipe', 'pipe']
365
+ }).trim();
366
+
367
+ if (latestVersion !== currentVersion) {
368
+ log(` 📦 새 버전 발견: v${currentVersion} → v${latestVersion}\n`);
369
+ log(' ⬆️ vibe 업그레이드 중...\n');
370
+
371
+ execSync('npm install -g @su-record/vibe@latest', {
372
+ stdio: options.silent ? 'pipe' : 'inherit'
373
+ });
374
+
375
+ log(' ✅ vibe 업그레이드 완료!\n');
376
+
377
+ // 업그레이드 후 새 버전으로 update 재실행
378
+ log(' 🔄 새 버전으로 업데이트 재실행...\n\n');
379
+ execSync(`vibe update${options.silent ? ' --silent' : ''}`, {
380
+ stdio: 'inherit',
381
+ cwd: process.cwd()
382
+ });
383
+ return true; // 재실행됨
384
+ } else {
385
+ log(` ✅ 최신 버전 사용 중 (v${currentVersion})\n`);
386
+ return false; // 계속 진행
387
+ }
388
+ } catch (e) {
389
+ // 네트워크 오류 등은 무시하고 계속 진행
390
+ log(` ℹ️ 버전 확인 스킵 (오프라인 또는 네트워크 오류)\n`);
391
+ return false;
392
+ }
393
+ }
394
+
355
395
  // 프로젝트 업데이트
356
396
  async function update() {
357
397
  try {
@@ -366,6 +406,12 @@ async function update() {
366
406
 
367
407
  log('🔄 vibe 업데이트 중...\n');
368
408
 
409
+ // 최신 버전 확인 및 자동 업그레이드
410
+ const wasUpgraded = await checkAndUpgradeVibe();
411
+ if (wasUpgraded) {
412
+ return; // 새 버전에서 재실행됨
413
+ }
414
+
369
415
  // 마이그레이션: .agent/rules/ → .vibe/rules/
370
416
  const oldRulesDir = path.join(projectRoot, '.agent/rules');
371
417
  const oldAgentDir = path.join(projectRoot, '.agent');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@su-record/vibe",
3
- "version": "0.4.6",
3
+ "version": "0.4.8",
4
4
  "description": "Vibe - Claude Code exclusive SPEC-driven AI coding framework",
5
5
  "bin": {
6
6
  "vibe": "./bin/vibe"
@@ -37,7 +37,7 @@
37
37
  "files": [
38
38
  "bin/",
39
39
  ".claude/",
40
- ".agent/",
40
+ ".vibe/",
41
41
  "templates/",
42
42
  "CLAUDE.md",
43
43
  "README.md",