@team-semicolon/semo-cli 3.7.1 → 3.7.2

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 +13 -11
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -995,17 +995,17 @@ program
995
995
  spinner.fail("Git 레포지토리가 아닙니다. 'git init'을 먼저 실행하세요.");
996
996
  process.exit(1);
997
997
  }
998
- // 2. Extension 패키지 처리 (--with 옵션으로만 지정 가능)
999
- let extensionsToInstall = [];
998
+ // 2. Extension 패키지 처리
999
+ // semo-hooks는 기본 포함 (Claude Code Hooks 로깅 시스템)
1000
+ let extensionsToInstall = ["semo-hooks"];
1000
1001
  if (options.with) {
1001
- extensionsToInstall = options.with.split(",").map((p) => p.trim()).filter((p) => p in EXTENSION_PACKAGES);
1002
- if (extensionsToInstall.length > 0) {
1003
- console.log(chalk_1.default.cyan("\n📦 추가 Extension 설치:"));
1004
- extensionsToInstall.forEach(pkg => {
1005
- console.log(chalk_1.default.gray(` - ${EXTENSION_PACKAGES[pkg].name}: ${EXTENSION_PACKAGES[pkg].desc}`));
1006
- });
1007
- }
1002
+ const additionalPkgs = options.with.split(",").map((p) => p.trim()).filter((p) => p in EXTENSION_PACKAGES);
1003
+ extensionsToInstall = [...new Set([...extensionsToInstall, ...additionalPkgs])];
1008
1004
  }
1005
+ console.log(chalk_1.default.cyan("\n📦 Extension 설치:"));
1006
+ extensionsToInstall.forEach(pkg => {
1007
+ console.log(chalk_1.default.gray(` - ${EXTENSION_PACKAGES[pkg].name}: ${EXTENSION_PACKAGES[pkg].desc}`));
1008
+ });
1009
1009
  // 3. .claude 디렉토리 생성
1010
1010
  const claudeDir = path.join(cwd, ".claude");
1011
1011
  if (!fs.existsSync(claudeDir)) {
@@ -1072,7 +1072,8 @@ program
1072
1072
  console.log(chalk_1.default.gray(" 1. Claude Code에서 프로젝트 열기"));
1073
1073
  console.log(chalk_1.default.gray(" 2. 자연어로 요청하기 (예: \"댓글 기능 구현해줘\")"));
1074
1074
  console.log(chalk_1.default.gray(" 3. /SEMO:help로 도움말 확인"));
1075
- if (extensionsToInstall.length === 0) {
1075
+ // semo-hooks만 설치된 경우 추가 패키지 안내
1076
+ if (extensionsToInstall.length === 1 && extensionsToInstall[0] === "semo-hooks") {
1076
1077
  console.log(chalk_1.default.gray("\n💡 추가 패키지: semo add <package> (예: semo add meta)"));
1077
1078
  }
1078
1079
  console.log();
@@ -1421,7 +1422,8 @@ async function downloadExtensions(cwd, packages, force) {
1421
1422
  }
1422
1423
  // 개별 패키지 복사
1423
1424
  for (const pkg of packages) {
1424
- const srcPath = path.join(tempDir, "packages", pkg);
1425
+ // Extension 패키지는 semo-system/ 폴더에 있음
1426
+ const srcPath = path.join(tempDir, "semo-system", pkg);
1425
1427
  const destPath = path.join(semoSystemDir, pkg);
1426
1428
  if (fs.existsSync(srcPath)) {
1427
1429
  if (fs.existsSync(destPath) && !force) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@team-semicolon/semo-cli",
3
- "version": "3.7.1",
3
+ "version": "3.7.2",
4
4
  "description": "SEMO CLI - AI Agent Orchestration Framework Installer",
5
5
  "main": "dist/index.js",
6
6
  "bin": {