eskill 1.3.4 → 1.3.5
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/cli.js +1 -1
- package/lib/completion.js +56 -85
- package/package.json +1 -1
package/cli.js
CHANGED
|
@@ -13,7 +13,7 @@ const program = new Command();
|
|
|
13
13
|
program
|
|
14
14
|
.name('eskill')
|
|
15
15
|
.description('Unified AI Agent Skills Management - Install skills from Git URLs')
|
|
16
|
-
.version('1.3.
|
|
16
|
+
.version('1.3.5')
|
|
17
17
|
.option('-g, --global', '使用全局技能目录(~/.eskill/skills/),否则使用当前目录(./.claude/skills/)', false);
|
|
18
18
|
|
|
19
19
|
// 安装命令
|
package/lib/completion.js
CHANGED
|
@@ -33,7 +33,11 @@ async function getGlobalSkills() {
|
|
|
33
33
|
export function bashCompletionScript() {
|
|
34
34
|
return '\n_eskill_completion() {\n' +
|
|
35
35
|
' local cur prev words cword\n' +
|
|
36
|
-
'
|
|
36
|
+
' COMPREPLY=()\n' +
|
|
37
|
+
' cur="${COMP_WORDS[COMP_CWORD]}"\n' +
|
|
38
|
+
' prev="${COMP_WORDS[COMP_CWORD-1]}"\n' +
|
|
39
|
+
' words=("${COMP_WORDS[@]}")\n' +
|
|
40
|
+
' cword=$COMP_CWORD\n\n' +
|
|
37
41
|
' # 检测是否使用了 -g/--global 选项\n' +
|
|
38
42
|
' local global_mode=""\n' +
|
|
39
43
|
' for word in "${words[@]}"; do\n' +
|
|
@@ -144,7 +148,7 @@ export function bashCompletionScript() {
|
|
|
144
148
|
' return\n' +
|
|
145
149
|
' ;;\n' +
|
|
146
150
|
' *)\n' +
|
|
147
|
-
' COMPREPLY=($(compgen -W "
|
|
151
|
+
' COMPREPLY=($(compgen -W "${commands}" -- "${cur}"))\n' +
|
|
148
152
|
' return\n' +
|
|
149
153
|
' ;;\n' +
|
|
150
154
|
' esac\n' +
|
|
@@ -177,118 +181,85 @@ export function zshCompletionScript() {
|
|
|
177
181
|
' \'completion:生成自动补全脚本\'\n' +
|
|
178
182
|
' \'help:显示帮助信息\'\n' +
|
|
179
183
|
' )\n\n' +
|
|
180
|
-
'
|
|
181
|
-
'
|
|
182
|
-
'
|
|
183
|
-
'
|
|
184
|
-
' \'--agent[目标 agent]\'\n' +
|
|
185
|
-
' \'{-a,--agent}[目标 agent]\'\n' +
|
|
186
|
-
' \'--link[使用符号链接而非复制]\'\n' +
|
|
187
|
-
' \'{-l,--link}[使用符号链接而非复制]\'\n' +
|
|
188
|
-
' \'--force[强制覆盖已存在的技能]\'\n' +
|
|
189
|
-
' \'{-f,--force}[强制覆盖已存在的技能]\'\n' +
|
|
190
|
-
' )\n\n' +
|
|
191
|
-
' local -a list_options\n' +
|
|
192
|
-
' list_options=(\n' +
|
|
193
|
-
' \'--agent[目标 agent]\'\n' +
|
|
194
|
-
' \'{-a,--agent}[目标 agent]\'\n' +
|
|
195
|
-
' )\n\n' +
|
|
196
|
-
' local -a update_options\n' +
|
|
197
|
-
' update_options=(\n' +
|
|
198
|
-
' \'--force[强制更新(即使版本相同)]\'\n' +
|
|
199
|
-
' \'{-f,--force}[强制更新(即使版本相同)]\'\n' +
|
|
200
|
-
' )\n\n' +
|
|
201
|
-
' local -a search_options\n' +
|
|
202
|
-
' search_options=(\n' +
|
|
203
|
-
' \'--page[页码]\'\n' +
|
|
204
|
-
' \'{-p,--page}[页码]\'\n' +
|
|
205
|
-
' \'--limit[每页数量(max: 100)]\'\n' +
|
|
206
|
-
' \'{-l,--limit}[每页数量(max: 100)]\'\n' +
|
|
207
|
-
' \'--sort[排序方式(stars/recent)]\'\n' +
|
|
208
|
-
' \'{-s,--sort}[排序方式(stars/recent)]\'\n' +
|
|
209
|
-
' \'--ai[使用 AI 语义搜索]\'\n' +
|
|
210
|
-
' )\n\n' +
|
|
211
|
-
' local -a cleanup_options\n' +
|
|
212
|
-
' cleanup_options=(\n' +
|
|
213
|
-
' \'--all[清理所有数据(包括配置和技能)]\'\n' +
|
|
214
|
-
' \'{-a,--all}[清理所有数据(包括配置和技能)]\'\n' +
|
|
215
|
-
' )\n\n' +
|
|
216
|
-
' local -a completion_options\n' +
|
|
217
|
-
' completion_options=(\n' +
|
|
218
|
-
' \'--shell[Shell 类型(bash/zsh)]\'\n' +
|
|
219
|
-
' \'{-s,--shell}[Shell 类型(bash/zsh)]\'\n' +
|
|
220
|
-
' )\n\n' +
|
|
221
|
-
' local -a config_commands\n' +
|
|
222
|
-
' config_commands=(\n' +
|
|
223
|
-
' \'set-api-key:设置 API Key\'\n' +
|
|
224
|
-
' \'status:查看配置状态\'\n' +
|
|
225
|
-
' )\n\n' +
|
|
226
|
-
' _arguments -C \\\n' +
|
|
227
|
-
' \'(-g --global)'{-g,--global}\'[使用全局技能目录] \\\n' +
|
|
228
|
-
' \'1: :_eskill_commands\' \\\n' +
|
|
229
|
-
' \'*::arg:->args\'\n\n' +
|
|
184
|
+
' if (( CURRENT == 1 )); then\n' +
|
|
185
|
+
' _describe \'command\' commands\n' +
|
|
186
|
+
' return\n' +
|
|
187
|
+
' fi\n\n' +
|
|
230
188
|
' case $words[1] in\n' +
|
|
231
189
|
' install|add)\n' +
|
|
232
|
-
'
|
|
190
|
+
' _arguments \\\n' +
|
|
191
|
+
' \'{-a,--agent=[目标 agent]\' \\\n' +
|
|
192
|
+
' \'{-l,--link}[使用符号链接而非复制]\' \\\n' +
|
|
193
|
+
' \'{-f,--force}[强制覆盖已存在的技能]\' \\\n' +
|
|
194
|
+
' \'*: :_nothing\'\n' +
|
|
233
195
|
' ;;\n' +
|
|
234
196
|
' remove|rm|uninstall)\n' +
|
|
235
197
|
' local skills=($(eskill _list_skills -g 2>/dev/null))\n' +
|
|
236
|
-
'
|
|
198
|
+
' _arguments \\\n' +
|
|
199
|
+
' \'1: :_skills\' \\\n' +
|
|
200
|
+
' \'{-a,--agent=[目标 agent]}\' \\\n' +
|
|
201
|
+
' \'*:: :_nothing\'\n' +
|
|
237
202
|
' ;;\n' +
|
|
238
203
|
' list|ls)\n' +
|
|
239
|
-
'
|
|
204
|
+
' _arguments \\\n' +
|
|
205
|
+
' \'{-a,--agent=[目标 agent]}\' \\\n' +
|
|
206
|
+
' \'*:: :_nothing\'\n' +
|
|
240
207
|
' ;;\n' +
|
|
241
208
|
' link)\n' +
|
|
242
209
|
' local skills=($(eskill _list_global_skills 2>/dev/null))\n' +
|
|
243
|
-
'
|
|
210
|
+
' _arguments \\\n' +
|
|
211
|
+
' \'1: :_global_skills\' \\\n' +
|
|
212
|
+
' \'*:: :_nothing\'\n' +
|
|
244
213
|
' ;;\n' +
|
|
245
214
|
' upload)\n' +
|
|
246
215
|
' local skills=($(eskill _list_local_skills 2>/dev/null))\n' +
|
|
247
|
-
'
|
|
216
|
+
' _arguments \\\n' +
|
|
217
|
+
' \'1: :_local_skills\' \\\n' +
|
|
218
|
+
' \'*:: :_nothing\'\n' +
|
|
248
219
|
' ;;\n' +
|
|
249
220
|
' update)\n' +
|
|
250
221
|
' local skills=($(eskill _list_skills -g 2>/dev/null))\n' +
|
|
251
|
-
'
|
|
222
|
+
' _arguments \\\n' +
|
|
223
|
+
' \'1: :_update_skills\' \\\n' +
|
|
224
|
+
' \'{-f,--force}[强制更新(即使版本相同)]\' \\\n' +
|
|
225
|
+
' \'*:: :_nothing\'\n' +
|
|
252
226
|
' ;;\n' +
|
|
253
227
|
' search)\n' +
|
|
254
|
-
'
|
|
228
|
+
' _arguments \\\n' +
|
|
229
|
+
' \'{-p,--page=[页码]}\' \\\n' +
|
|
230
|
+
' \'{-l,--limit=[每页数量(max: 100)]}\' \\\n' +
|
|
231
|
+
' \'{-s,--sort=[排序方式(stars/recent)]}\' \\\n' +
|
|
232
|
+
' \'--ai[使用 AI 语义搜索]\' \\\n' +
|
|
233
|
+
' \'*: :_nothing\'\n' +
|
|
255
234
|
' ;;\n' +
|
|
256
235
|
' cleanup)\n' +
|
|
257
|
-
'
|
|
236
|
+
' _arguments \\\n' +
|
|
237
|
+
' \'{-a,--all}[清理所有数据(包括配置和技能)]\' \\\n' +
|
|
238
|
+
' \'*:: :_nothing\'\n' +
|
|
258
239
|
' ;;\n' +
|
|
259
240
|
' config)\n' +
|
|
260
|
-
'
|
|
241
|
+
' _arguments \\\n' +
|
|
242
|
+
' \'1: :_config_actions\' \\\n' +
|
|
243
|
+
' \'*:: :_nothing\'\n' +
|
|
261
244
|
' ;;\n' +
|
|
262
245
|
' completion)\n' +
|
|
263
|
-
'
|
|
246
|
+
' _arguments \\\n' +
|
|
247
|
+
' \'{-s,--shell=[Shell 类型(bash/zsh)]\' \\\n' +
|
|
248
|
+
' \'*:: :_nothing\'\n' +
|
|
264
249
|
' ;;\n' +
|
|
265
250
|
' *)\n' +
|
|
266
|
-
'
|
|
251
|
+
' _arguments \\\n' +
|
|
252
|
+
' \'{-g,--global}[使用全局技能目录]\' \\\n' +
|
|
253
|
+
' \'*:: :_nothing\'\n' +
|
|
267
254
|
' ;;\n' +
|
|
268
255
|
' esac\n' +
|
|
269
256
|
'}\n\n' +
|
|
270
|
-
'
|
|
271
|
-
'
|
|
272
|
-
'
|
|
273
|
-
'
|
|
274
|
-
'
|
|
275
|
-
'
|
|
276
|
-
' \'rm:删除技能(别名)\'\n' +
|
|
277
|
-
' \'uninstall:删除技能(别名)\'\n' +
|
|
278
|
-
' \'update:更新技能\'\n' +
|
|
279
|
-
' \'list:列出已安装的技能\'\n' +
|
|
280
|
-
' \'ls:列出技能(别名)\'\n' +
|
|
281
|
-
' \'link:将全局技能软链接到本地\'\n' +
|
|
282
|
-
' \'upload:上传本地技能到全局仓库\'\n' +
|
|
283
|
-
' \'search:搜索技能\'\n' +
|
|
284
|
-
' \'cleanup:清理技能数据\'\n' +
|
|
285
|
-
' \'config:配置管理\'\n' +
|
|
286
|
-
' \'agents:列出支持的 agents\'\n' +
|
|
287
|
-
' \'completion:生成自动补全脚本\'\n' +
|
|
288
|
-
' \'help:显示帮助信息\'\n' +
|
|
289
|
-
' )\n' +
|
|
290
|
-
' _describe \'command\' commands\n' +
|
|
291
|
-
'}\n\n' +
|
|
257
|
+
'_nothing() { _message \'no more arguments\' }\n' +
|
|
258
|
+
'_skills() { _describe \'技能\' ${words[@]} }\n' +
|
|
259
|
+
'_global_skills() { _describe \'全局技能\' ${words[@]} }\n' +
|
|
260
|
+
'_local_skills() { _describe \'本地技能\' ${words[@]} }\n' +
|
|
261
|
+
'_update_skills() { _alternative \'skills:技能:($(eskill _list_skills -g 2>/dev/null))\' \'all:all\' }\n' +
|
|
262
|
+
'_config_actions() { _describe \'配置操作\' \'set-api-key:设置 API Key\' \'status:查看配置状态\' }\n\n' +
|
|
292
263
|
'_eskill "$@"\n';
|
|
293
264
|
}
|
|
294
265
|
|