ai-global 1.8.0 → 1.10.0
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 +42 -42
- package/ai-global +57 -72
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -105,48 +105,48 @@ The first file found wins (dedup by filename).
|
|
|
105
105
|
|
|
106
106
|
## Supported Tools
|
|
107
107
|
|
|
108
|
-
| Tool |
|
|
109
|
-
| ----------------- |
|
|
110
|
-
| Claude Code |
|
|
111
|
-
| Cursor |
|
|
112
|
-
| GitHub Copilot |
|
|
113
|
-
| Factory Droid |
|
|
114
|
-
| Gemini CLI |
|
|
115
|
-
| Windsurf |
|
|
116
|
-
| Kiro |
|
|
117
|
-
| Qodo |
|
|
118
|
-
| Antigravity |
|
|
119
|
-
| Continue |
|
|
120
|
-
| Cline |
|
|
121
|
-
| Roo Code |
|
|
122
|
-
| Sourcegraph Cody |
|
|
123
|
-
| CodeGPT |
|
|
124
|
-
| GPT Engineer | ✓
|
|
125
|
-
| Smol Developer |
|
|
126
|
-
| Amp |
|
|
127
|
-
| Trae |
|
|
128
|
-
| OpenCode |
|
|
129
|
-
| OpenAI Codex |
|
|
130
|
-
| Aider |
|
|
131
|
-
| Codeium |
|
|
132
|
-
| TabNine |
|
|
133
|
-
| Zed |
|
|
134
|
-
| Aide |
|
|
135
|
-
| PearAI |
|
|
136
|
-
| Supermaven |
|
|
137
|
-
| CodeStory |
|
|
138
|
-
| Double |
|
|
139
|
-
| Blackbox AI |
|
|
140
|
-
| Amazon Q |
|
|
141
|
-
| Copilot Workspace |
|
|
142
|
-
| Goose AI |
|
|
143
|
-
| Mentat |
|
|
144
|
-
| Melty |
|
|
145
|
-
| Void |
|
|
146
|
-
| Qoder |
|
|
147
|
-
| Augment |
|
|
148
|
-
| Codebuff |
|
|
149
|
-
| CodeBuddy |
|
|
108
|
+
| Tool | Key | Global | Skills | Agents | Rules | Commands | Prompts |
|
|
109
|
+
| ----------------- | ------------------- | :----: | :----: | :----: | :---: | :------: | :-----: |
|
|
110
|
+
| Claude Code | `claude` | ✓ | ✓ | | | ✓ | |
|
|
111
|
+
| Cursor | `cursor` | ✓ | ✓ | | | | ✓ |
|
|
112
|
+
| GitHub Copilot | `github-copilot` | ✓ | | | | | |
|
|
113
|
+
| Factory Droid | `droid` | ✓ | | | | | |
|
|
114
|
+
| Gemini CLI | `gemini` | ✓ | ✓ | | | ✓ | |
|
|
115
|
+
| Windsurf | `windsurf` | ✓ | ✓ | ✓ | ✓ | | |
|
|
116
|
+
| Kiro | `kiro` | ✓ | | ✓ | | | |
|
|
117
|
+
| Qodo | `qodo` | ✓ | | ✓ | | | |
|
|
118
|
+
| Antigravity | `antigravity` | ✓ | ✓ | | | ✓ | |
|
|
119
|
+
| Continue | `continue` | ✓ | | | ✓ | | ✓ |
|
|
120
|
+
| Cline | `cline` | ✓ | | | ✓ | | ✓ |
|
|
121
|
+
| Roo Code | `roo` | ✓ | | | ✓ | | |
|
|
122
|
+
| Sourcegraph Cody | `cody` | ✓ | | | | ✓ | |
|
|
123
|
+
| CodeGPT | `codegpt` | ✓ | | | | | ✓ |
|
|
124
|
+
| GPT Engineer | `gpt-engineer` | ✓ | | | | | ✓ |
|
|
125
|
+
| Smol Developer | `smol` | ✓ | | | | | ✓ |
|
|
126
|
+
| Amp | `amp` | ✓ | | | | | |
|
|
127
|
+
| Trae | `trae` | ✓ | | | | | |
|
|
128
|
+
| OpenCode | `opencode` | ✓ | | | | | |
|
|
129
|
+
| OpenAI Codex | `codex` | ✓ | | | | | |
|
|
130
|
+
| Aider | `aider` | ✓ | | | | | |
|
|
131
|
+
| Codeium | `codeium` | ✓ | | | | | |
|
|
132
|
+
| TabNine | `tabnine` | ✓ | | | | | |
|
|
133
|
+
| Zed | `zed` | ✓ | | | | | |
|
|
134
|
+
| Aide | `aide` | ✓ | | | | | |
|
|
135
|
+
| PearAI | `pearai` | ✓ | | | | | |
|
|
136
|
+
| Supermaven | `supermaven` | ✓ | | | | | |
|
|
137
|
+
| CodeStory | `codestory` | ✓ | | | | | |
|
|
138
|
+
| Double | `double` | ✓ | | | | | |
|
|
139
|
+
| Blackbox AI | `blackbox` | ✓ | | | | | |
|
|
140
|
+
| Amazon Q | `amazonq` | ✓ | | | | | |
|
|
141
|
+
| Copilot Workspace | `copilot-workspace` | ✓ | | | | | |
|
|
142
|
+
| Goose AI | `goose` | ✓ | | | | | |
|
|
143
|
+
| Mentat | `mentat` | ✓ | | | | | |
|
|
144
|
+
| Melty | `melty` | ✓ | | | | | |
|
|
145
|
+
| Void | `void` | ✓ | | | | | |
|
|
146
|
+
| Qoder | `qoder` | ✓ | | | | | |
|
|
147
|
+
| Augment | `augment` | ✓ | | ✓ | ✓ | | |
|
|
148
|
+
| Codebuff | `codebuff` | ✓ | | ✓ | | | |
|
|
149
|
+
| CodeBuddy | `codebuddy` | ✓ | | ✓ | | | |
|
|
150
150
|
|
|
151
151
|
## Uninstall
|
|
152
152
|
|
package/ai-global
CHANGED
|
@@ -15,22 +15,7 @@ COMMANDS_DIR="$CONFIG_DIR/commands"
|
|
|
15
15
|
PROMPTS_DIR="$CONFIG_DIR/prompts"
|
|
16
16
|
|
|
17
17
|
# Version
|
|
18
|
-
VERSION=""
|
|
19
|
-
if [[ -L "${BASH_SOURCE[0]}" ]]; then
|
|
20
|
-
SCRIPT_DIR="$(cd "$(dirname "$(readlink "${BASH_SOURCE[0]}")")" && pwd)"
|
|
21
|
-
else
|
|
22
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
23
|
-
fi
|
|
24
|
-
PACKAGE_JSON="$SCRIPT_DIR/package.json"
|
|
25
|
-
|
|
26
|
-
if [[ -f "$PACKAGE_JSON" ]]; then
|
|
27
|
-
# More robust version extraction
|
|
28
|
-
VERSION=$(grep -m 1 '"version"' "$PACKAGE_JSON" 2>/dev/null | sed -E 's/.*"version"[[:space:]]*:[[:space:]]*"([^"]+)".*/\1/' | sed 's/[[:space:]]*,$//')
|
|
29
|
-
fi
|
|
30
|
-
|
|
31
|
-
if [[ -z "$VERSION" ]]; then
|
|
32
|
-
VERSION="unknown"
|
|
33
|
-
fi
|
|
18
|
+
VERSION="1.10.0"
|
|
34
19
|
|
|
35
20
|
# Colors
|
|
36
21
|
RED='\033[0;31m'
|
|
@@ -105,49 +90,49 @@ log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
|
|
|
105
90
|
log_error() { echo -e "${RED}[ERROR]${NC} $1"; }
|
|
106
91
|
|
|
107
92
|
# Known AI tool patterns
|
|
108
|
-
# Format: dir|name|instr_file|skills_dir|agents_dir|rules_dir|commands_dir|prompts_dir
|
|
93
|
+
# Format: dir|key|name|instr_file|skills_dir|agents_dir|rules_dir|commands_dir|prompts_dir
|
|
109
94
|
declare -a KNOWN_PATTERNS=(
|
|
110
|
-
".claude|Claude Code|CLAUDE.md|skills|.|.|commands|."
|
|
111
|
-
".cursor|Cursor|rules/global.md|skills|.|.|.|prompts"
|
|
112
|
-
".factory|Factory Droid|droids/global.md|.|.|.|.|."
|
|
113
|
-
".amp|Amp|instructions.md|.|.|.|.|."
|
|
114
|
-
".antigravity|Antigravity|CLAUDE.md|skills|.|.|commands|."
|
|
115
|
-
".gemini|Gemini CLI|GEMINI.md|skills|.|.|commands|."
|
|
116
|
-
".kiro|Kiro|steering/global.md|.|agents|.|.|."
|
|
95
|
+
".claude|claude|Claude Code|CLAUDE.md|skills|.|.|commands|."
|
|
96
|
+
".cursor|cursor|Cursor|rules/global.md|skills|.|.|.|prompts"
|
|
97
|
+
".factory|droid|Factory Droid|droids/global.md|.|.|.|.|."
|
|
98
|
+
".amp|amp|Amp|instructions.md|.|.|.|.|."
|
|
99
|
+
".antigravity|antigravity|Antigravity|CLAUDE.md|skills|.|.|commands|."
|
|
100
|
+
".gemini|gemini|Gemini CLI|GEMINI.md|skills|.|.|commands|."
|
|
101
|
+
".kiro|kiro|Kiro|steering/global.md|.|agents|.|.|."
|
|
117
102
|
".opencode|OpenCode|instructions.md|.|.|.|.|."
|
|
118
103
|
".qoder|Qoder|instructions.md|.|.|.|.|."
|
|
119
|
-
".qodo|Qodo|instructions.md|.|agents|.|.|."
|
|
120
|
-
".config/github-copilot|GitHub Copilot|instructions.md|.|.|.|.|."
|
|
121
|
-
".aider|Aider|.aider.conf.yml|.|.|.|.|."
|
|
122
|
-
".continue|Continue|config.json|.|.|rules|.|prompts"
|
|
123
|
-
".codeium|Codeium|config.json|.|.|.|.|."
|
|
124
|
-
".tabnine|TabNine|tabnine_config.json|.|.|.|.|."
|
|
125
|
-
".sourcegraph|Sourcegraph Cody|cody.json|.|.|.|commands|."
|
|
126
|
-
".codegpt|CodeGPT|settings.json|.|.|.|.|prompts"
|
|
127
|
-
".windsurf|Windsurf|instructions.md|skills|agents|rules|.|."
|
|
128
|
-
".trae|Trae|instructions.md|.|.|.|.|."
|
|
129
|
-
".melty|Melty|instructions.md|.|.|.|.|."
|
|
130
|
-
".void|Void|instructions.md|.|.|.|.|."
|
|
131
|
-
".roo|Roo Code|instructions.md|.|.|rules|.|."
|
|
132
|
-
".zed|Zed|settings.json|.|.|.|.|."
|
|
133
|
-
".cline|Cline|instructions.md|.|.|rules|.|prompts"
|
|
134
|
-
".aide|Aide|instructions.md|.|.|.|.|."
|
|
135
|
-
".pear|PearAI|instructions.md|.|.|.|.|."
|
|
136
|
-
".supermaven|Supermaven|config.json|.|.|.|.|."
|
|
137
|
-
".codestory|CodeStory|instructions.md|.|.|.|.|."
|
|
138
|
-
".double|Double|instructions.md|.|.|.|.|."
|
|
139
|
-
".blackbox|Blackbox AI|config.json|.|.|.|.|."
|
|
140
|
-
".amazonq|Amazon Q|instructions.md|.|.|.|.|."
|
|
141
|
-
".copilot-workspace|Copilot Workspace|instructions.md|.|.|.|.|."
|
|
142
|
-
".codex|OpenAI Codex|instructions.md|skills|agents|rules|.|."
|
|
143
|
-
".goose|Goose AI|instructions.md|skills|agents|rules|.|."
|
|
144
|
-
".mentat|Mentat|instructions.md|skills|agents|rules|.|."
|
|
145
|
-
".gpt-engineer|GPT Engineer|instructions.md|skills|agents|rules|.|prompts"
|
|
146
|
-
".smol|Smol Developer|instructions.md|skills|agents|rules|.|prompts"
|
|
147
|
-
".config/opencode|OpenCode Config|instructions.md|.|.|.|.|."
|
|
148
|
-
".augment|Augment|instructions.md|.|agents|rules|.|."
|
|
149
|
-
".codebuff|Codebuff|instructions.md|.|agents|.|.|."
|
|
150
|
-
".codebuddy|CodeBuddy|settings.json|.|agents|.|.|."
|
|
104
|
+
".qodo|qodo|Qodo|instructions.md|.|agents|.|.|."
|
|
105
|
+
".config/github-copilot|github-copilot|GitHub Copilot|instructions.md|.|.|.|.|."
|
|
106
|
+
".aider|aider|Aider|.aider.conf.yml|.|.|.|.|."
|
|
107
|
+
".continue|continue|Continue|config.json|.|.|rules|.|prompts"
|
|
108
|
+
".codeium|codeium|Codeium|config.json|.|.|.|.|."
|
|
109
|
+
".tabnine|tabnine|TabNine|tabnine_config.json|.|.|.|.|."
|
|
110
|
+
".sourcegraph|cody|Sourcegraph Cody|cody.json|.|.|.|commands|."
|
|
111
|
+
".codegpt|codegpt|CodeGPT|settings.json|.|.|.|.|prompts"
|
|
112
|
+
".windsurf|windsurf|Windsurf|instructions.md|skills|agents|rules|.|."
|
|
113
|
+
".trae|trae|Trae|instructions.md|.|.|.|.|."
|
|
114
|
+
".melty|melty|Melty|instructions.md|.|.|.|.|."
|
|
115
|
+
".void|void|Void|instructions.md|.|.|.|.|."
|
|
116
|
+
".roo|roo|Roo Code|instructions.md|.|.|rules|.|."
|
|
117
|
+
".zed|zed|Zed|settings.json|.|.|.|.|."
|
|
118
|
+
".cline|cline|Cline|instructions.md|.|.|rules|.|prompts"
|
|
119
|
+
".aide|aide|Aide|instructions.md|.|.|.|.|."
|
|
120
|
+
".pear|pear|PearAI|instructions.md|.|.|.|.|."
|
|
121
|
+
".supermaven|supermaven|Supermaven|config.json|.|.|.|.|."
|
|
122
|
+
".codestory|codestory|CodeStory|instructions.md|.|.|.|.|."
|
|
123
|
+
".double|double|Double|instructions.md|.|.|.|.|."
|
|
124
|
+
".blackbox|blackbox|Blackbox AI|config.json|.|.|.|.|."
|
|
125
|
+
".amazonq|amazonq|Amazon Q|instructions.md|.|.|.|.|."
|
|
126
|
+
".copilot-workspace|copilot-workspace|Copilot Workspace|instructions.md|.|.|.|.|."
|
|
127
|
+
".codex|codex|OpenAI Codex|instructions.md|skills|agents|rules|.|."
|
|
128
|
+
".goose|goose|Goose AI|instructions.md|skills|agents|rules|.|."
|
|
129
|
+
".mentat|mentat|Mentat|instructions.md|skills|agents|rules|.|."
|
|
130
|
+
".gpt-engineer|gpt-engineer|GPT Engineer|instructions.md|skills|agents|rules|.|prompts"
|
|
131
|
+
".smol|smol|Smol Developer|instructions.md|skills|agents|rules|.|prompts"
|
|
132
|
+
".config/opencode|opencode|OpenCode Config|instructions.md|.|.|.|.|."
|
|
133
|
+
".augment|augment|Augment|instructions.md|.|agents|rules|.|."
|
|
134
|
+
".codebuff|codebuff|Codebuff|instructions.md|.|agents|.|.|."
|
|
135
|
+
".codebuddy|codebuddy|CodeBuddy|settings.json|.|agents|.|.|."
|
|
151
136
|
)
|
|
152
137
|
|
|
153
138
|
# Backup a file or directory
|
|
@@ -248,7 +233,7 @@ show_status() {
|
|
|
248
233
|
local instr_output=""
|
|
249
234
|
for pattern in "${KNOWN_PATTERNS[@]}"; do
|
|
250
235
|
local p_dir p_name p_instr p_skills p_agents p_rules p_cmds p_prompts
|
|
251
|
-
IFS='|' read -r p_dir p_name p_instr p_skills p_agents p_rules p_cmds p_prompts <<< "$pattern"
|
|
236
|
+
IFS='|' read -r p_dir p_key p_name p_instr p_skills p_agents p_rules p_cmds p_prompts <<< "$pattern"
|
|
252
237
|
|
|
253
238
|
if [[ "$p_instr" != "." ]] && [[ "$p_instr" != *.json ]] && [[ "$p_instr" != *.yml ]]; then
|
|
254
239
|
local target="$HOME/$p_dir/$p_instr"
|
|
@@ -272,7 +257,7 @@ show_status() {
|
|
|
272
257
|
local type_output=""
|
|
273
258
|
for pattern in "${KNOWN_PATTERNS[@]}"; do
|
|
274
259
|
local p_dir p_name p_instr p_skills p_agents p_rules p_cmds p_prompts
|
|
275
|
-
IFS='|' read -r p_dir p_name p_instr p_skills p_agents p_rules p_cmds p_prompts <<< "$pattern"
|
|
260
|
+
IFS='|' read -r p_dir p_key p_name p_instr p_skills p_agents p_rules p_cmds p_prompts <<< "$pattern"
|
|
276
261
|
|
|
277
262
|
local type_dir=""
|
|
278
263
|
case "$type_name" in
|
|
@@ -314,12 +299,12 @@ show_status() {
|
|
|
314
299
|
list_supported() {
|
|
315
300
|
log_info "Supported AI tools:"
|
|
316
301
|
echo ""
|
|
317
|
-
printf " ${BLUE}%-
|
|
318
|
-
echo "
|
|
302
|
+
printf " ${BLUE}%-18s %-18s %-20s %-6s %-6s %-7s %-5s %-8s %s${NC}\n" "Tool" "Key" "Directory" "Skills" "Agents" "Rules" "Cmds" "Prompts" "Status"
|
|
303
|
+
echo " ---------------------------------------------------------------------------------------------------------"
|
|
319
304
|
|
|
320
305
|
for pattern in "${KNOWN_PATTERNS[@]}"; do
|
|
321
306
|
local p_dir p_name p_instr p_skills p_agents p_rules p_cmds p_prompts
|
|
322
|
-
IFS='|' read -r p_dir p_name p_instr p_skills p_agents p_rules p_cmds p_prompts <<< "$pattern"
|
|
307
|
+
IFS='|' read -r p_dir p_key p_name p_instr p_skills p_agents p_rules p_cmds p_prompts <<< "$pattern"
|
|
323
308
|
local full_path="$HOME/$p_dir"
|
|
324
309
|
|
|
325
310
|
local s_str="." a_str="." r_str="." c_str="." p_str="."
|
|
@@ -345,8 +330,8 @@ list_supported() {
|
|
|
345
330
|
# Use manual padding because printf handles multibyte characters (✓) by byte count in Bash 3.2.
|
|
346
331
|
# Each category block matches the header's "%-10s " (11 characters total).
|
|
347
332
|
# We use indicator + 10 spaces = 11 characters.
|
|
348
|
-
printf " %b%-
|
|
349
|
-
"$tool_color" "$p_name" "$p_dir" "$NC" "$s_str" "$a_str" "$r_str" "$c_str" "$p_str" "$status"
|
|
333
|
+
printf " %b%-18s %-18s %-22s%b %s %s %s %s %s %b\n" \
|
|
334
|
+
"$tool_color" "$p_name" "$p_key" "$p_dir" "$NC" "$s_str" "$a_str" "$r_str" "$c_str" "$p_str" "$status"
|
|
350
335
|
done
|
|
351
336
|
echo ""
|
|
352
337
|
}
|
|
@@ -365,8 +350,8 @@ list_backups() {
|
|
|
365
350
|
return
|
|
366
351
|
fi
|
|
367
352
|
|
|
368
|
-
printf " ${BLUE}%-
|
|
369
|
-
echo "
|
|
353
|
+
printf " ${BLUE}%-14s %-10s %s${NC}\n" "Tool" "Type" "Backup File"
|
|
354
|
+
echo " -----------------------------------------------------------------------------------"
|
|
370
355
|
|
|
371
356
|
while read -r filename; do
|
|
372
357
|
[[ -z "$filename" ]] && continue
|
|
@@ -385,7 +370,7 @@ list_backups() {
|
|
|
385
370
|
local tool_color=$(get_tool_color "${tool_name//_/ }")
|
|
386
371
|
# Print the backup filename as a path prefixed with ~/ using beautify_path
|
|
387
372
|
local backup_path=$(beautify_path "$BACKUP_DIR/$filename")
|
|
388
|
-
printf " %s%-
|
|
373
|
+
printf " %s%-14s %-10s %s%b\n" "$tool_color" "$tool_name" "$type" "$backup_path" "$NC"
|
|
389
374
|
done <<< "$backups_list"
|
|
390
375
|
echo ""
|
|
391
376
|
}
|
|
@@ -396,7 +381,7 @@ collect_instructions() {
|
|
|
396
381
|
local found_count=0
|
|
397
382
|
|
|
398
383
|
for pattern in "${KNOWN_PATTERNS[@]}"; do
|
|
399
|
-
IFS='|' read -r dir_name tool_name instr_file skills agents rules commands prompts <<< "$pattern"
|
|
384
|
+
IFS='|' read -r dir_name key tool_name instr_file skills agents rules commands prompts <<< "$pattern"
|
|
400
385
|
|
|
401
386
|
if [[ "$instr_file" != "." ]] && [[ "$instr_file" != *.json ]] && [[ "$instr_file" != *.yml ]]; then
|
|
402
387
|
local actual_path="$HOME/$dir_name/$instr_file"
|
|
@@ -440,7 +425,7 @@ update_tools() {
|
|
|
440
425
|
local tool_count=0
|
|
441
426
|
|
|
442
427
|
for pattern in "${KNOWN_PATTERNS[@]}"; do
|
|
443
|
-
IFS='|' read -r dir_name tool_name instr_file skills agents rules commands prompts <<< "$pattern"
|
|
428
|
+
IFS='|' read -r dir_name key tool_name instr_file skills agents rules commands prompts <<< "$pattern"
|
|
444
429
|
local full_path="$HOME/$dir_name"
|
|
445
430
|
|
|
446
431
|
if [[ -d "$full_path" ]]; then
|
|
@@ -488,7 +473,7 @@ update_tools() {
|
|
|
488
473
|
log_info "Creating symlinks..."
|
|
489
474
|
|
|
490
475
|
for pattern in "${KNOWN_PATTERNS[@]}"; do
|
|
491
|
-
IFS='|' read -r dir_name tool_name instr_file skills agents rules commands prompts <<< "$pattern"
|
|
476
|
+
IFS='|' read -r dir_name key tool_name instr_file skills agents rules commands prompts <<< "$pattern"
|
|
492
477
|
local full_path="$HOME/$dir_name"
|
|
493
478
|
|
|
494
479
|
if [[ -d "$full_path" ]]; then
|
|
@@ -603,7 +588,7 @@ unlink_all_tools() {
|
|
|
603
588
|
local unlinked_count=0
|
|
604
589
|
# Scan all known patterns to find and remove any symlinks
|
|
605
590
|
for pattern in "${KNOWN_PATTERNS[@]}"; do
|
|
606
|
-
IFS='|' read -r dir_name tool_name instr_file skills agents rules commands prompts <<< "$pattern"
|
|
591
|
+
IFS='|' read -r dir_name key tool_name instr_file skills agents rules commands prompts <<< "$pattern"
|
|
607
592
|
if unlink_single_tool "$tool_name" "$dir_name" "$instr_file" "$skills" "$agents" "$rules" "$commands" "$prompts"; then
|
|
608
593
|
((unlinked_count++))
|
|
609
594
|
fi
|
|
@@ -649,11 +634,11 @@ unlink_tool() {
|
|
|
649
634
|
local found=false
|
|
650
635
|
|
|
651
636
|
for pattern in "${KNOWN_PATTERNS[@]}"; do
|
|
652
|
-
IFS='|' read -r dir_name tool_name instr_file skills agents rules commands prompts <<< "$pattern"
|
|
637
|
+
IFS='|' read -r dir_name key tool_name instr_file skills agents rules commands prompts <<< "$pattern"
|
|
653
638
|
local tool_lower=$(echo "$tool_name" | tr '[:upper:]' '[:lower:]')
|
|
654
639
|
local query_lower=$(echo "$tool_query" | tr '[:upper:]' '[:lower:]')
|
|
655
640
|
|
|
656
|
-
if [[ "$tool_lower" == *"$query_lower"* ]] || [[ "$dir_name" == *"$query_lower"* ]]; then
|
|
641
|
+
if [[ "$tool_lower" == *"$query_lower"* ]] || [[ "$dir_name" == *"$query_lower"* ]] || [[ "$key" == "$query_lower" ]]; then
|
|
657
642
|
if ! unlink_single_tool "$tool_name" "$dir_name" "$instr_file" "$skills" "$agents" "$rules" "$commands" "$prompts"; then
|
|
658
643
|
log_info "$tool_name is not currently linked."
|
|
659
644
|
fi
|