Merge pull request #39 from Askhz/feat/add-cosknow
feat: integrate cosknow — auto-install kb commands on postinstall
This commit is contained in:
commit
fc78a84ccf
|
|
@ -36,7 +36,8 @@
|
|||
"dist",
|
||||
"scripts/postinstall.cjs",
|
||||
"scripts/run-parallel.mjs",
|
||||
"scripts/setup-chrome-mcp.mjs"
|
||||
"scripts/setup-chrome-mcp.mjs",
|
||||
"scripts/install-cosknow.mjs"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "bun run build.ts",
|
||||
|
|
@ -53,7 +54,7 @@
|
|||
"test": "bun test",
|
||||
"check:unused": "knip-bun",
|
||||
"health": "bun run scripts/health-check.ts",
|
||||
"postinstall": "node scripts/run-parallel.mjs scripts/postinstall.cjs scripts/setup-chrome-mcp.mjs",
|
||||
"postinstall": "node scripts/run-parallel.mjs scripts/postinstall.cjs scripts/setup-chrome-mcp.mjs scripts/install-cosknow.mjs",
|
||||
"docs:dev": "npx mintlify dev",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"rcs": "bun run scripts/rcs.ts"
|
||||
|
|
|
|||
34
scripts/install-cosknow.mjs
Normal file
34
scripts/install-cosknow.mjs
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import { spawnSync, execSync } from 'node:child_process'
|
||||
import { join } from 'node:path'
|
||||
import { pathToFileURL } from 'node:url'
|
||||
|
||||
// 全局安装最新版
|
||||
spawnSync('npm', ['install', '-g', '@costrict/cosknow@latest'], {
|
||||
stdio: 'inherit',
|
||||
shell: true,
|
||||
})
|
||||
|
||||
// 获取全局 node_modules 路径
|
||||
let globalPrefix
|
||||
try {
|
||||
globalPrefix = execSync('npm root -g', { encoding: 'utf8' }).trim()
|
||||
} catch {
|
||||
console.warn('[cosknow] cannot determine global npm root, skipping')
|
||||
process.exit(0)
|
||||
}
|
||||
|
||||
let install
|
||||
try {
|
||||
const mod = await import(pathToFileURL(join(globalPrefix, '@costrict', 'cosknow', 'dist', 'index.js')).href)
|
||||
install = mod.install
|
||||
} catch {
|
||||
console.warn('[cosknow] package not available, skipping command installation')
|
||||
process.exit(0)
|
||||
}
|
||||
|
||||
try {
|
||||
await install({ target: 'claude-commands' })
|
||||
console.log('[cosknow] commands installed to ~/.claude/commands/')
|
||||
} catch (e) {
|
||||
console.warn('[cosknow] install failed (non-fatal):', e.message)
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user