@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.
- package/dist/index.js +13 -11
- 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 패키지 처리
|
|
999
|
-
|
|
998
|
+
// 2. Extension 패키지 처리
|
|
999
|
+
// semo-hooks는 기본 포함 (Claude Code Hooks 로깅 시스템)
|
|
1000
|
+
let extensionsToInstall = ["semo-hooks"];
|
|
1000
1001
|
if (options.with) {
|
|
1001
|
-
|
|
1002
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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) {
|