@team-semicolon/semo-cli 4.4.0 → 4.4.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.
@@ -53,7 +53,7 @@ const path = __importStar(require("path"));
53
53
  const os = __importStar(require("os"));
54
54
  const database_1 = require("../database");
55
55
  const kb_1 = require("../kb");
56
- const skill_sync_1 = require("./skill-sync");
56
+ // [v4.4.0] syncSkillsToDB 제거 — semo-system/ 폐기됨, 스킬 SoT는 DB 직접 관리
57
57
  const global_cache_1 = require("../global-cache");
58
58
  // ============================================================
59
59
  // Memory file mapping
@@ -210,27 +210,9 @@ function registerContextCommands(program) {
210
210
  // [v4.2.0] KB→md 파일 생성 제거 — semo CLI kb 명령어로 대체
211
211
  // 기존 memory/*.md (team, projects, decisions, infra, process, bots, ontology) 파일은
212
212
  // semo CLI가 실시간 DB 조회로 대체합니다.
213
- // 1. 스킬 파일 skill_definitions DB 동기화
214
- if (options.skills !== false) {
215
- const semoSystemDir = path.join(process.cwd(), "semo-system");
216
- if (fs.existsSync(semoSystemDir)) {
217
- spinner.text = "skills 동기화...";
218
- const client = await pool.connect();
219
- try {
220
- await client.query("BEGIN");
221
- await (0, skill_sync_1.syncSkillsToDB)(client, semoSystemDir);
222
- await client.query("COMMIT");
223
- }
224
- catch {
225
- await client.query("ROLLBACK").catch(() => { });
226
- // 스킬 동기화 실패는 무시 — context sync의 핵심은 memory/ 파일
227
- }
228
- finally {
229
- client.release();
230
- }
231
- }
232
- }
233
- // 2. DB → 글로벌 캐시 (skills/commands/agents → ~/.claude/)
213
+ // [v4.4.0] semo-system/ → DB 스킬 동기화 제거 (semo-system 폐기됨)
214
+ // 스킬 SoT는 DB(skill_definitions). 수정은 직접 DB UPDATE 또는 마이그레이션.
215
+ // DB 글로벌 캐시 (skills/commands/agents → ~/.claude/)
234
216
  if (options.globalCache !== false) {
235
217
  spinner.text = "글로벌 캐시 동기화 (skills/commands/agents)...";
236
218
  try {
package/dist/index.js CHANGED
@@ -1412,6 +1412,12 @@ async function buildKbFirstBlock() {
1412
1412
  }
1413
1413
  domainGuide += `- 서비스 KPI → \`domain: {서비스명}\`, key: \`kpi/current\`\n`;
1414
1414
  domainGuide += `- 서비스 마일스톤 → \`domain: {서비스명}\`, key: \`milestone/{slug}\`\n`;
1415
+ domainGuide += `\n**정확한 경로를 모를 때:**\n`;
1416
+ domainGuide += `1. \`semo kb search "검색어"\` → 결과의 \`[domain] key/sub_key\` 경로 확인\n`;
1417
+ domainGuide += `2. \`semo kb get <domain> <key> <sub_key>\` 실행\n`;
1418
+ domainGuide += `\n**도메인 자체를 모를 때:**\n`;
1419
+ domainGuide += `- \`semo kb ontology --action instances\` — 서비스 도메인 목록\n`;
1420
+ domainGuide += `- \`semo kb ontology --action routing-table\` — 전체 domain→key 매핑\n`;
1415
1421
  }
1416
1422
  catch {
1417
1423
  // DB 연결 실패 시 최소한의 가이드
@@ -2482,7 +2488,8 @@ kbCmd
2482
2488
  const preview = entry.content.substring(0, 80).replace(/\n/g, " ");
2483
2489
  const score = entry.score;
2484
2490
  const scoreStr = score ? chalk_1.default.yellow(` (${(score * 100).toFixed(1)}%)`) : "";
2485
- console.log(chalk_1.default.cyan(` [${entry.domain}] `) + chalk_1.default.white(entry.key) + scoreStr);
2491
+ const fullKey = entry.sub_key ? `${entry.key}/${entry.sub_key}` : entry.key;
2492
+ console.log(chalk_1.default.cyan(` [${entry.domain}] `) + chalk_1.default.white(fullKey) + scoreStr);
2486
2493
  console.log(chalk_1.default.gray(` ${preview}${entry.content.length > 80 ? "..." : ""}`));
2487
2494
  console.log();
2488
2495
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@team-semicolon/semo-cli",
3
- "version": "4.4.0",
3
+ "version": "4.4.2",
4
4
  "description": "SEMO CLI - AI Agent Orchestration Framework Installer",
5
5
  "main": "dist/index.js",
6
6
  "bin": {