@dmsdc-ai/aigentry-devkit 0.1.1 → 0.1.3

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/README.md CHANGED
@@ -56,7 +56,7 @@ Pre-configured settings with template substitution:
56
56
  All OS (recommended):
57
57
 
58
58
  ```bash
59
- npx -y @dmsdc-ai/aigentry-devkit install
59
+ npx --yes --package @dmsdc-ai/aigentry-devkit aigentry-devkit install
60
60
  ```
61
61
 
62
62
  `git clone` is not required for this path. The npm package contains the full installer + runtime files.
@@ -64,7 +64,7 @@ npx -y @dmsdc-ai/aigentry-devkit install
64
64
  Force reinstall:
65
65
 
66
66
  ```bash
67
- npx -y @dmsdc-ai/aigentry-devkit install --force
67
+ npx --yes --package @dmsdc-ai/aigentry-devkit aigentry-devkit install --force
68
68
  ```
69
69
 
70
70
  Manual install (local clone) is still available:
@@ -324,7 +324,7 @@ direnv allow
324
324
 
325
325
  1. Verify MCP registration: `cat ~/.claude/.mcp.json`
326
326
  2. Check installation: `ls ~/.local/lib/mcp-deliberation/`
327
- 3. Reinstall runtime files: `npx -y @dmsdc-ai/aigentry-devkit install --force`
327
+ 3. Reinstall runtime files: `npx --yes --package @dmsdc-ai/aigentry-devkit aigentry-devkit install --force`
328
328
  4. Restart your MCP client process (Claude/Codex/etc.)
329
329
  5. Review runtime log: `tail -n 120 ~/.local/lib/mcp-deliberation/runtime.log`
330
330
 
@@ -419,7 +419,7 @@ Language-specific requirements for skills:
419
419
  ### Installation Flow
420
420
 
421
421
  ```
422
- npx @dmsdc-ai/aigentry-devkit install
422
+ npx --yes --package @dmsdc-ai/aigentry-devkit aigentry-devkit install
423
423
  ├─ dispatches to install.sh (macOS/Linux) or install.ps1 (Windows)
424
424
  ├─ Check prerequisites (Node.js, npm, optional tools)
425
425
  ├─ Install skills to ~/.claude/skills/
@@ -15,8 +15,8 @@ function printHelp() {
15
15
  " aigentry-devkit --help",
16
16
  "",
17
17
  "Examples:",
18
- " npx -y @dmsdc-ai/aigentry-devkit install",
19
- " npx -y @dmsdc-ai/aigentry-devkit install --force",
18
+ " npx --yes --package @dmsdc-ai/aigentry-devkit aigentry-devkit install",
19
+ " npx --yes --package @dmsdc-ai/aigentry-devkit aigentry-devkit install --force",
20
20
  ].join("\n");
21
21
  process.stdout.write(`${text}\n`);
22
22
  }
package/install.ps1 CHANGED
@@ -138,6 +138,48 @@ $cfg.mcpServers | Add-Member -MemberType NoteProperty -Name deliberation -Value
138
138
  $cfg | ConvertTo-Json -Depth 8 | Set-Content -Path $mcpConfig -Encoding utf8
139
139
  Write-Info "Registered deliberation MCP in $mcpConfig"
140
140
 
141
+ if (Get-Command claude -ErrorAction SilentlyContinue) {
142
+ $claudeScopeSupported = $false
143
+ try {
144
+ $claudeAddHelp = claude mcp add --help 2>$null | Out-String
145
+ if ($claudeAddHelp -match "--scope") {
146
+ $claudeScopeSupported = $true
147
+ }
148
+ } catch {}
149
+
150
+ if ($claudeScopeSupported) {
151
+ try { claude mcp remove --scope local deliberation 2>$null | Out-Null } catch {}
152
+ try { claude mcp remove --scope user deliberation 2>$null | Out-Null } catch {}
153
+
154
+ try {
155
+ claude mcp add --scope user deliberation -- node (Join-Path $McpDest "index.js") | Out-Null
156
+ Write-Info "Registered deliberation MCP in Claude Code user scope (~/.claude.json)"
157
+ } catch {
158
+ Write-Warn "Claude Code MCP registration failed. Run manually: claude mcp add --scope user deliberation -- node $McpDest\\index.js"
159
+ }
160
+ } else {
161
+ try {
162
+ claude mcp add deliberation -- node (Join-Path $McpDest "index.js") | Out-Null
163
+ Write-Info "Registered deliberation MCP in Claude Code"
164
+ } catch {
165
+ Write-Warn "Claude Code MCP registration failed (legacy CLI)."
166
+ }
167
+ }
168
+
169
+ try {
170
+ $claudeMcpList = claude mcp list 2>$null | Out-String
171
+ if ($claudeMcpList -match "(?m)^deliberation:") {
172
+ Write-Info "Claude Code MCP verification passed (deliberation found)"
173
+ } else {
174
+ Write-Warn "Claude Code MCP verification failed. Restart Claude and run: claude mcp list"
175
+ }
176
+ } catch {
177
+ Write-Warn "Claude Code MCP verification failed (claude mcp list unavailable)"
178
+ }
179
+ } else {
180
+ Write-Warn "Claude CLI not found. Skipping Claude MCP registration."
181
+ }
182
+
141
183
  Write-Header "6. Config Templates"
142
184
 
143
185
  $settingsDest = Join-Path $ClaudeDir "settings.json"
package/install.sh CHANGED
@@ -166,6 +166,33 @@ MCPEOF
166
166
  info "Created $MCP_CONFIG with deliberation MCP"
167
167
  fi
168
168
 
169
+ # Claude Code CLI 등록 (최신 런타임 경로)
170
+ if command -v claude >/dev/null 2>&1; then
171
+ if claude mcp add --help 2>/dev/null | grep -q -- '--scope'; then
172
+ claude mcp remove --scope local deliberation >/dev/null 2>&1 || true
173
+ claude mcp remove --scope user deliberation >/dev/null 2>&1 || true
174
+ if claude mcp add --scope user deliberation -- node "$MCP_DEST/index.js" >/dev/null 2>&1; then
175
+ info "Registered deliberation MCP in Claude Code user scope (~/.claude.json)"
176
+ else
177
+ warn "Claude Code MCP registration failed. Run manually: claude mcp add --scope user deliberation -- node $MCP_DEST/index.js"
178
+ fi
179
+ else
180
+ if claude mcp add deliberation -- node "$MCP_DEST/index.js" >/dev/null 2>&1; then
181
+ info "Registered deliberation MCP in Claude Code"
182
+ else
183
+ warn "Claude Code MCP registration failed (legacy CLI)."
184
+ fi
185
+ fi
186
+
187
+ if claude mcp list 2>/dev/null | grep -q '^deliberation:'; then
188
+ info "Claude Code MCP verification passed (deliberation found)"
189
+ else
190
+ warn "Claude Code MCP verification failed. Restart Claude and run: claude mcp list"
191
+ fi
192
+ else
193
+ warn "Claude CLI not found. Skipping Claude MCP registration."
194
+ fi
195
+
169
196
  # ── Config 템플릿 ──
170
197
  header "6. Config Templates"
171
198
 
@@ -0,0 +1,7 @@
1
+ {
2
+ "agents": [],
3
+ "total_spawned": 0,
4
+ "total_completed": 0,
5
+ "total_failed": 0,
6
+ "last_updated": "2026-02-23T00:59:45.249Z"
7
+ }
@@ -1115,13 +1115,21 @@ function resolveSessionId(sessionId) {
1115
1115
 
1116
1116
  function syncMarkdown(state) {
1117
1117
  const filename = `deliberation-${state.id}.md`;
1118
- const mdPath = path.join(process.cwd(), filename);
1118
+ // Write to state dir instead of CWD to avoid polluting project root
1119
+ const mdPath = path.join(getProjectStateDir(), filename);
1119
1120
  try {
1120
1121
  writeTextAtomic(mdPath, stateToMarkdown(state));
1121
- } catch {
1122
- const fallback = path.join(getProjectStateDir(), filename);
1123
- writeTextAtomic(fallback, stateToMarkdown(state));
1124
- }
1122
+ } catch { /* ignore sync failures */ }
1123
+ }
1124
+
1125
+ function cleanupSyncMarkdown(state) {
1126
+ const filename = `deliberation-${state.id}.md`;
1127
+ // Remove from state dir
1128
+ const statePath = path.join(getProjectStateDir(), filename);
1129
+ try { fs.unlinkSync(statePath); } catch { /* ignore */ }
1130
+ // Also clean up legacy files in CWD (from older versions)
1131
+ const cwdPath = path.join(process.cwd(), filename);
1132
+ try { fs.unlinkSync(cwdPath); } catch { /* ignore */ }
1125
1133
  }
1126
1134
 
1127
1135
  function stateToMarkdown(s) {
@@ -1295,6 +1303,8 @@ function openPhysicalTerminal(sessionId) {
1295
1303
  "-e",
1296
1304
  'tell application "Terminal"',
1297
1305
  "-e",
1306
+ "activate",
1307
+ "-e",
1298
1308
  `do script ${appleScriptQuote(attachCmd)}`,
1299
1309
  "-e",
1300
1310
  "delay 0.15",
@@ -2296,6 +2306,7 @@ server.tool(
2296
2306
  loaded.current_speaker = "none";
2297
2307
  saveSession(loaded);
2298
2308
  archivePath = archiveState(loaded);
2309
+ cleanupSyncMarkdown(loaded);
2299
2310
  state = loaded;
2300
2311
  return null;
2301
2312
  });
@@ -2361,6 +2372,7 @@ server.tool(
2361
2372
  if (state && state.log.length > 0) {
2362
2373
  archiveState(state);
2363
2374
  }
2375
+ if (state) cleanupSyncMarkdown(state);
2364
2376
  toCloseIds = getSessionWindowIds(state);
2365
2377
  fs.unlinkSync(file);
2366
2378
  return { content: [{ type: "text", text: `✅ 세션 "${session_id}" 초기화 완료. 🖥️ 모니터 터미널 닫힘.` }] };
@@ -2392,6 +2404,7 @@ server.tool(
2392
2404
  archiveState(state);
2393
2405
  archived++;
2394
2406
  }
2407
+ cleanupSyncMarkdown(state);
2395
2408
  fs.unlinkSync(filePath);
2396
2409
  } catch {
2397
2410
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dmsdc-ai/aigentry-devkit",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Cross-platform installer and tooling bundle for aigentry-devkit",
5
5
  "license": "MIT",
6
6
  "repository": {