skillfree 0.1.1 → 0.1.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/package.json +3 -2
- package/postinstall.js +59 -0
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillfree",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "🦞 一个 API,满足所有龙虾技能需求",
|
|
5
5
|
"main": "bin/skillfree.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"skillfree": "./bin/skillfree.js"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
|
-
"test": "node bin/skillfree.js --help"
|
|
10
|
+
"test": "node bin/skillfree.js --help",
|
|
11
|
+
"postinstall": "node postinstall.js"
|
|
11
12
|
},
|
|
12
13
|
"keywords": [
|
|
13
14
|
"ai",
|
package/postinstall.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* postinstall.js
|
|
4
|
+
* npm install -g skillfree 后自动将技能文件部署到 ~/.agents/skills/skillfree/
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
const fs = require('fs')
|
|
8
|
+
const path = require('path')
|
|
9
|
+
const os = require('os')
|
|
10
|
+
|
|
11
|
+
const SKILL_DIR = path.join(os.homedir(), '.agents', 'skills', 'skillfree')
|
|
12
|
+
const PKG_DIR = __dirname // 本文件在包根目录
|
|
13
|
+
|
|
14
|
+
// 需要复制到 skill 目录的文件
|
|
15
|
+
const FILES = ['SKILL.md', 'package.json']
|
|
16
|
+
const DIRS = ['bin', 'scripts']
|
|
17
|
+
|
|
18
|
+
function copyDir(src, dest) {
|
|
19
|
+
fs.mkdirSync(dest, { recursive: true })
|
|
20
|
+
for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
|
|
21
|
+
const srcPath = path.join(src, entry.name)
|
|
22
|
+
const destPath = path.join(dest, entry.name)
|
|
23
|
+
if (entry.isDirectory()) {
|
|
24
|
+
copyDir(srcPath, destPath)
|
|
25
|
+
} else {
|
|
26
|
+
fs.copyFileSync(srcPath, destPath)
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
try {
|
|
32
|
+
fs.mkdirSync(SKILL_DIR, { recursive: true })
|
|
33
|
+
|
|
34
|
+
// 复制文件
|
|
35
|
+
for (const f of FILES) {
|
|
36
|
+
const src = path.join(PKG_DIR, f)
|
|
37
|
+
if (fs.existsSync(src)) {
|
|
38
|
+
fs.copyFileSync(src, path.join(SKILL_DIR, f))
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// 复制目录(排除 node_modules)
|
|
43
|
+
for (const d of DIRS) {
|
|
44
|
+
const src = path.join(PKG_DIR, d)
|
|
45
|
+
if (fs.existsSync(src)) {
|
|
46
|
+
copyDir(src, path.join(SKILL_DIR, d))
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// 写一个 config 标记已安装
|
|
51
|
+
fs.writeFileSync(
|
|
52
|
+
path.join(SKILL_DIR, '.skillfree-installed'),
|
|
53
|
+
JSON.stringify({ installedAt: new Date().toISOString(), version: require('./package.json').version }, null, 2) + '\n'
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
console.log('✅ SkillFree skill 已安装到 ~/.agents/skills/skillfree/')
|
|
57
|
+
} catch (e) {
|
|
58
|
+
// 静默失败,不影响正常安装
|
|
59
|
+
}
|