sinapse-ai 9.1.0 → 9.2.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/.sinapse-ai/install-manifest.yaml +2 -2
- package/CHROME-BRAIN-INSTALL.md +2 -2
- package/bin/cli.js +2 -2
- package/bin/sinapse-cli +283 -283
- package/package.json +2 -5
- /package/{install-chrome-brain.sh → scripts/install-chrome-brain.sh} +0 -0
- /package/{install-squads.sh → scripts/install-squads.sh} +0 -0
- /package/{update-squads.sh → scripts/update-squads.sh} +0 -0
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
# - SHA256 hashes for change detection
|
|
8
8
|
# - File types for categorization
|
|
9
9
|
#
|
|
10
|
-
version: 9.
|
|
11
|
-
generated_at: "2026-04-
|
|
10
|
+
version: 9.2.0
|
|
11
|
+
generated_at: "2026-04-03T19:23:29.442Z"
|
|
12
12
|
generator: scripts/generate-install-manifest.js
|
|
13
13
|
file_count: 1120
|
|
14
14
|
files:
|
package/CHROME-BRAIN-INSTALL.md
CHANGED
|
@@ -12,8 +12,8 @@ sinapse chrome-brain install
|
|
|
12
12
|
npx sinapse-ai chrome-brain install
|
|
13
13
|
|
|
14
14
|
# Option 3: Standalone script (macOS/Linux)
|
|
15
|
-
chmod +x install-chrome-brain.sh
|
|
16
|
-
./install-chrome-brain.sh
|
|
15
|
+
chmod +x scripts/install-chrome-brain.sh
|
|
16
|
+
./scripts/install-chrome-brain.sh
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
## What Gets Installed
|
package/bin/cli.js
CHANGED
|
@@ -942,13 +942,13 @@ function runBash(script) {
|
|
|
942
942
|
function cmdInstallLocal() {
|
|
943
943
|
header();
|
|
944
944
|
console.log(`${CYAN}▸ Installing squads in current project...${NC}\n`);
|
|
945
|
-
runBash('install-squads.sh');
|
|
945
|
+
runBash('scripts/install-squads.sh');
|
|
946
946
|
}
|
|
947
947
|
|
|
948
948
|
function cmdUpdateLocal() {
|
|
949
949
|
header();
|
|
950
950
|
console.log(`${CYAN}▸ Updating squads in current project...${NC}\n`);
|
|
951
|
-
runBash('update-squads.sh');
|
|
951
|
+
runBash('scripts/update-squads.sh');
|
|
952
952
|
}
|
|
953
953
|
|
|
954
954
|
// ── List / Status / Help ─────────────────────────────────────────────────────
|
package/bin/sinapse-cli
CHANGED
|
@@ -1,283 +1,283 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
3
|
-
# sinapse — CLI unificado do Sinapse
|
|
4
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
5
|
-
#
|
|
6
|
-
# Comandos:
|
|
7
|
-
# sinapse install Instala squads em um projeto (primeira vez)
|
|
8
|
-
# sinapse update Atualiza squads em projeto existente
|
|
9
|
-
# sinapse list Lista todas as squads e agentes disponíveis
|
|
10
|
-
# sinapse status Mostra status das squads no projeto atual
|
|
11
|
-
# sinapse pull Puxa atualizações do repo e atualiza projeto atual
|
|
12
|
-
# sinapse help Mostra esta ajuda
|
|
13
|
-
#
|
|
14
|
-
# Setup (rodar uma vez):
|
|
15
|
-
# echo 'export PATH="$HOME/Workspace/caio-imori/sinapse:$PATH"' >> ~/.bashrc
|
|
16
|
-
# source ~/.bashrc
|
|
17
|
-
#
|
|
18
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
19
|
-
|
|
20
|
-
set -e
|
|
21
|
-
|
|
22
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
23
|
-
|
|
24
|
-
# Cores
|
|
25
|
-
GREEN='\033[0;32m'
|
|
26
|
-
YELLOW='\033[1;33m'
|
|
27
|
-
BLUE='\033[0;34m'
|
|
28
|
-
RED='\033[0;31m'
|
|
29
|
-
CYAN='\033[0;36m'
|
|
30
|
-
BOLD='\033[1m'
|
|
31
|
-
NC='\033[0m'
|
|
32
|
-
|
|
33
|
-
VERSION="1.0.0"
|
|
34
|
-
|
|
35
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
36
|
-
# Helpers
|
|
37
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
38
|
-
|
|
39
|
-
header() {
|
|
40
|
-
echo ""
|
|
41
|
-
echo -e "${CYAN}${BOLD} ╔═╗╦╔╗╔╔═╗╔═╗╔═╗╔═╗${NC}"
|
|
42
|
-
echo -e "${CYAN}${BOLD} ╚═╗║║║║╠═╣╠═╝╚═╗║╣ ${NC}"
|
|
43
|
-
echo -e "${CYAN}${BOLD} ╚═╝╩╝╚╝╩ ╩╩ ╚═╝╚═╝${NC}"
|
|
44
|
-
echo -e " ${BOLD}v${VERSION}${NC} — 17 squads | 149 agents | 1196 tasks"
|
|
45
|
-
echo ""
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
49
|
-
# sinapse install
|
|
50
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
51
|
-
|
|
52
|
-
cmd_install() {
|
|
53
|
-
header
|
|
54
|
-
echo -e "${BLUE}▸ Instalando squads no projeto...${NC}"
|
|
55
|
-
echo ""
|
|
56
|
-
bash "$SCRIPT_DIR/install-squads.sh"
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
60
|
-
# sinapse update
|
|
61
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
62
|
-
|
|
63
|
-
cmd_update() {
|
|
64
|
-
header
|
|
65
|
-
echo -e "${BLUE}▸ Atualizando squads no projeto...${NC}"
|
|
66
|
-
echo ""
|
|
67
|
-
bash "$SCRIPT_DIR/update-squads.sh"
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
71
|
-
# sinapse list
|
|
72
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
73
|
-
|
|
74
|
-
cmd_list() {
|
|
75
|
-
header
|
|
76
|
-
echo -e "${BOLD}Squads disponíveis:${NC}"
|
|
77
|
-
echo ""
|
|
78
|
-
|
|
79
|
-
total_agents=0
|
|
80
|
-
total_tasks=0
|
|
81
|
-
|
|
82
|
-
for squad_dir in "$SCRIPT_DIR"/squad-*/; do
|
|
83
|
-
[ ! -d "$squad_dir" ] && continue
|
|
84
|
-
squad_name=$(basename "$squad_dir")
|
|
85
|
-
manifest="$squad_dir/squad.yaml"
|
|
86
|
-
[ ! -f "$manifest" ] && continue
|
|
87
|
-
|
|
88
|
-
# Skip deprecated
|
|
89
|
-
[[ "$squad_name" == *".deprecated"* ]] && continue
|
|
90
|
-
|
|
91
|
-
sp=$(grep "^slashPrefix:" "$manifest" | head -1 | sed 's/^slashPrefix: *//' | tr -d '"' | tr -d "'" | tr -d ' ')
|
|
92
|
-
[ -z "$sp" ] && sp="--"
|
|
93
|
-
|
|
94
|
-
agent_count=$(ls "$squad_dir/agents/"*.md 2>/dev/null | wc -l | tr -d ' ')
|
|
95
|
-
task_count=$(ls "$squad_dir/tasks/"*.md 2>/dev/null | wc -l | tr -d ' ')
|
|
96
|
-
total_agents=$((total_agents + agent_count))
|
|
97
|
-
total_tasks=$((total_tasks + task_count))
|
|
98
|
-
|
|
99
|
-
# Short description
|
|
100
|
-
desc=$(grep "^description:" "$manifest" | head -1 | sed 's/^description: *//' | tr -d '"' | cut -c1-60)
|
|
101
|
-
|
|
102
|
-
printf " ${CYAN}%-12s${NC} ${GREEN}%3s agents${NC} ${YELLOW}%3s tasks${NC} %s\n" "/$sp" "$agent_count" "$task_count" "$desc"
|
|
103
|
-
done
|
|
104
|
-
|
|
105
|
-
echo ""
|
|
106
|
-
echo -e " ${BOLD}Total: ${GREEN}${total_agents} agents${NC} | ${YELLOW}${total_tasks} tasks${NC}"
|
|
107
|
-
echo ""
|
|
108
|
-
echo -e " ${YELLOW}Uso:${NC} sinapse list agents ${CYAN}<squad>${NC} — ver agentes de uma squad"
|
|
109
|
-
echo ""
|
|
110
|
-
|
|
111
|
-
# If second arg is "agents" and third is a squad prefix
|
|
112
|
-
if [ "$1" = "agents" ] && [ -n "$2" ]; then
|
|
113
|
-
cmd_list_agents "$2"
|
|
114
|
-
fi
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
cmd_list_agents() {
|
|
118
|
-
local prefix="$1"
|
|
119
|
-
echo -e "${BOLD}Agentes da squad /$prefix:${NC}"
|
|
120
|
-
echo ""
|
|
121
|
-
|
|
122
|
-
for squad_dir in "$SCRIPT_DIR"/squad-*/; do
|
|
123
|
-
[ ! -d "$squad_dir" ] && continue
|
|
124
|
-
manifest="$squad_dir/squad.yaml"
|
|
125
|
-
[ ! -f "$manifest" ] && continue
|
|
126
|
-
|
|
127
|
-
sp=$(grep "^slashPrefix:" "$manifest" | head -1 | sed 's/^slashPrefix: *//' | tr -d '"' | tr -d "'" | tr -d ' ')
|
|
128
|
-
[ "$sp" != "$prefix" ] && continue
|
|
129
|
-
|
|
130
|
-
for agent_file in "$squad_dir/agents/"*.md; do
|
|
131
|
-
[ ! -f "$agent_file" ] && continue
|
|
132
|
-
agent_id=$(basename "$agent_file" .md)
|
|
133
|
-
# Try to get agent title from first # heading
|
|
134
|
-
title=$(head -5 "$agent_file" | grep "^# " | head -1 | sed 's/^# //')
|
|
135
|
-
printf " ${CYAN}/%s:agents:%-30s${NC} %s\n" "$sp" "$agent_id" "$title"
|
|
136
|
-
done
|
|
137
|
-
break
|
|
138
|
-
done
|
|
139
|
-
echo ""
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
143
|
-
# sinapse status
|
|
144
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
145
|
-
|
|
146
|
-
cmd_status() {
|
|
147
|
-
header
|
|
148
|
-
|
|
149
|
-
if [ ! -d "./squads" ]; then
|
|
150
|
-
echo -e " ${RED}✗${NC} Squads não instaladas neste projeto"
|
|
151
|
-
echo -e " ${YELLOW}Rode:${NC} sinapse install"
|
|
152
|
-
echo ""
|
|
153
|
-
return
|
|
154
|
-
fi
|
|
155
|
-
|
|
156
|
-
echo -e "${BOLD}Status das squads neste projeto:${NC}"
|
|
157
|
-
echo ""
|
|
158
|
-
|
|
159
|
-
installed=0
|
|
160
|
-
missing=0
|
|
161
|
-
|
|
162
|
-
for squad_dir in "$SCRIPT_DIR"/squad-*/; do
|
|
163
|
-
[ ! -d "$squad_dir" ] && continue
|
|
164
|
-
squad_name=$(basename "$squad_dir")
|
|
165
|
-
[[ "$squad_name" == *".deprecated"* ]] && continue
|
|
166
|
-
manifest="$squad_dir/squad.yaml"
|
|
167
|
-
[ ! -f "$manifest" ] && continue
|
|
168
|
-
|
|
169
|
-
target="./squads/$squad_name"
|
|
170
|
-
if [ -L "$target" ] || [ -d "$target" ]; then
|
|
171
|
-
echo -e " ${GREEN}✓${NC} $squad_name"
|
|
172
|
-
installed=$((installed + 1))
|
|
173
|
-
else
|
|
174
|
-
echo -e " ${RED}✗${NC} $squad_name ${YELLOW}(não instalada)${NC}"
|
|
175
|
-
missing=$((missing + 1))
|
|
176
|
-
fi
|
|
177
|
-
done
|
|
178
|
-
|
|
179
|
-
echo ""
|
|
180
|
-
echo -e " ${GREEN}${installed} instaladas${NC} | ${RED}${missing} faltando${NC}"
|
|
181
|
-
|
|
182
|
-
if [ $missing -gt 0 ]; then
|
|
183
|
-
echo -e " ${YELLOW}Rode:${NC} sinapse update"
|
|
184
|
-
fi
|
|
185
|
-
|
|
186
|
-
# Check awareness
|
|
187
|
-
if [ -f ".claude/rules/squad-awareness.md" ]; then
|
|
188
|
-
echo -e " ${GREEN}✓${NC} squad-awareness.md presente"
|
|
189
|
-
else
|
|
190
|
-
echo -e " ${RED}✗${NC} squad-awareness.md ausente"
|
|
191
|
-
fi
|
|
192
|
-
|
|
193
|
-
# Check commands
|
|
194
|
-
cmd_count=$(find .claude/commands/ -name "*.md" 2>/dev/null | wc -l | tr -d ' ')
|
|
195
|
-
if [ "$cmd_count" -gt 0 ]; then
|
|
196
|
-
echo -e " ${GREEN}✓${NC} $cmd_count command files"
|
|
197
|
-
else
|
|
198
|
-
echo -e " ${RED}✗${NC} Nenhum command file"
|
|
199
|
-
fi
|
|
200
|
-
|
|
201
|
-
echo ""
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
205
|
-
# sinapse pull
|
|
206
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
207
|
-
|
|
208
|
-
cmd_pull() {
|
|
209
|
-
header
|
|
210
|
-
echo -e "${BLUE}▸ Puxando atualizações do sinapse...${NC}"
|
|
211
|
-
echo ""
|
|
212
|
-
|
|
213
|
-
cd "$SCRIPT_DIR"
|
|
214
|
-
git pull
|
|
215
|
-
echo ""
|
|
216
|
-
|
|
217
|
-
# Se estamos num projeto com squads, atualizar
|
|
218
|
-
cd - > /dev/null
|
|
219
|
-
if [ -d "./squads" ]; then
|
|
220
|
-
echo -e "${BLUE}▸ Atualizando projeto atual...${NC}"
|
|
221
|
-
echo ""
|
|
222
|
-
bash "$SCRIPT_DIR/update-squads.sh"
|
|
223
|
-
else
|
|
224
|
-
echo -e "${YELLOW}Não estamos em um projeto com squads. Só o repo foi atualizado.${NC}"
|
|
225
|
-
echo ""
|
|
226
|
-
fi
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
230
|
-
# sinapse help
|
|
231
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
232
|
-
|
|
233
|
-
cmd_help() {
|
|
234
|
-
header
|
|
235
|
-
echo -e "${BOLD}Comandos:${NC}"
|
|
236
|
-
echo ""
|
|
237
|
-
echo -e " ${CYAN}sinapse install${NC} Instala squads em projeto (primeira vez)"
|
|
238
|
-
echo -e " ${CYAN}sinapse update${NC} Atualiza squads (novas squads + awareness + commands)"
|
|
239
|
-
echo -e " ${CYAN}sinapse list${NC} Lista todas as squads disponíveis"
|
|
240
|
-
echo -e " ${CYAN}sinapse list agents <prefix>${NC} Lista agentes de uma squad (ex: sinapse list agents brand)"
|
|
241
|
-
echo -e " ${CYAN}sinapse status${NC} Status das squads no projeto atual"
|
|
242
|
-
echo -e " ${CYAN}sinapse pull${NC} Git pull + atualiza projeto atual"
|
|
243
|
-
echo -e " ${CYAN}sinapse help${NC} Mostra esta ajuda"
|
|
244
|
-
echo ""
|
|
245
|
-
echo -e "${BOLD}Setup (rodar uma vez):${NC}"
|
|
246
|
-
echo ""
|
|
247
|
-
echo -e " ${YELLOW}# Adicionar ao PATH:${NC}"
|
|
248
|
-
echo -e " echo 'export PATH=\"\$HOME/Workspace/caio-imori/sinapse:\$PATH\"' >> ~/.bashrc"
|
|
249
|
-
echo -e " source ~/.bashrc"
|
|
250
|
-
echo ""
|
|
251
|
-
echo -e "${BOLD}Uso típico:${NC}"
|
|
252
|
-
echo ""
|
|
253
|
-
echo -e " ${GREEN}# Projeto novo:${NC}"
|
|
254
|
-
echo -e " cd meu-projeto"
|
|
255
|
-
echo -e " sinapse install"
|
|
256
|
-
echo ""
|
|
257
|
-
echo -e " ${GREEN}# Projeto existente (após git pull no sinapse):${NC}"
|
|
258
|
-
echo -e " cd meu-projeto"
|
|
259
|
-
echo -e " sinapse update"
|
|
260
|
-
echo ""
|
|
261
|
-
echo -e " ${GREEN}# Tudo de uma vez (pull + update):${NC}"
|
|
262
|
-
echo -e " cd meu-projeto"
|
|
263
|
-
echo -e " sinapse pull"
|
|
264
|
-
echo ""
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
268
|
-
# Router
|
|
269
|
-
# ══════════════════════════════════════════════════════════════════════════════
|
|
270
|
-
|
|
271
|
-
case "${1:-help}" in
|
|
272
|
-
install) cmd_install ;;
|
|
273
|
-
update) cmd_update ;;
|
|
274
|
-
list) shift; cmd_list "$@" ;;
|
|
275
|
-
status) cmd_status ;;
|
|
276
|
-
pull) cmd_pull ;;
|
|
277
|
-
help|--help|-h) cmd_help ;;
|
|
278
|
-
*)
|
|
279
|
-
echo -e "${RED}Comando desconhecido:${NC} $1"
|
|
280
|
-
echo -e "Rode ${CYAN}sinapse help${NC} para ver comandos disponíveis"
|
|
281
|
-
exit 1
|
|
282
|
-
;;
|
|
283
|
-
esac
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
3
|
+
# sinapse — CLI unificado do Sinapse
|
|
4
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
5
|
+
#
|
|
6
|
+
# Comandos:
|
|
7
|
+
# sinapse install Instala squads em um projeto (primeira vez)
|
|
8
|
+
# sinapse update Atualiza squads em projeto existente
|
|
9
|
+
# sinapse list Lista todas as squads e agentes disponíveis
|
|
10
|
+
# sinapse status Mostra status das squads no projeto atual
|
|
11
|
+
# sinapse pull Puxa atualizações do repo e atualiza projeto atual
|
|
12
|
+
# sinapse help Mostra esta ajuda
|
|
13
|
+
#
|
|
14
|
+
# Setup (rodar uma vez):
|
|
15
|
+
# echo 'export PATH="$HOME/Workspace/caio-imori/sinapse:$PATH"' >> ~/.bashrc
|
|
16
|
+
# source ~/.bashrc
|
|
17
|
+
#
|
|
18
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
19
|
+
|
|
20
|
+
set -e
|
|
21
|
+
|
|
22
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
23
|
+
|
|
24
|
+
# Cores
|
|
25
|
+
GREEN='\033[0;32m'
|
|
26
|
+
YELLOW='\033[1;33m'
|
|
27
|
+
BLUE='\033[0;34m'
|
|
28
|
+
RED='\033[0;31m'
|
|
29
|
+
CYAN='\033[0;36m'
|
|
30
|
+
BOLD='\033[1m'
|
|
31
|
+
NC='\033[0m'
|
|
32
|
+
|
|
33
|
+
VERSION="1.0.0"
|
|
34
|
+
|
|
35
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
36
|
+
# Helpers
|
|
37
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
38
|
+
|
|
39
|
+
header() {
|
|
40
|
+
echo ""
|
|
41
|
+
echo -e "${CYAN}${BOLD} ╔═╗╦╔╗╔╔═╗╔═╗╔═╗╔═╗${NC}"
|
|
42
|
+
echo -e "${CYAN}${BOLD} ╚═╗║║║║╠═╣╠═╝╚═╗║╣ ${NC}"
|
|
43
|
+
echo -e "${CYAN}${BOLD} ╚═╝╩╝╚╝╩ ╩╩ ╚═╝╚═╝${NC}"
|
|
44
|
+
echo -e " ${BOLD}v${VERSION}${NC} — 17 squads | 149 agents | 1196 tasks"
|
|
45
|
+
echo ""
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
49
|
+
# sinapse install
|
|
50
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
51
|
+
|
|
52
|
+
cmd_install() {
|
|
53
|
+
header
|
|
54
|
+
echo -e "${BLUE}▸ Instalando squads no projeto...${NC}"
|
|
55
|
+
echo ""
|
|
56
|
+
bash "$SCRIPT_DIR/../scripts/install-squads.sh"
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
60
|
+
# sinapse update
|
|
61
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
62
|
+
|
|
63
|
+
cmd_update() {
|
|
64
|
+
header
|
|
65
|
+
echo -e "${BLUE}▸ Atualizando squads no projeto...${NC}"
|
|
66
|
+
echo ""
|
|
67
|
+
bash "$SCRIPT_DIR/../scripts/update-squads.sh"
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
71
|
+
# sinapse list
|
|
72
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
73
|
+
|
|
74
|
+
cmd_list() {
|
|
75
|
+
header
|
|
76
|
+
echo -e "${BOLD}Squads disponíveis:${NC}"
|
|
77
|
+
echo ""
|
|
78
|
+
|
|
79
|
+
total_agents=0
|
|
80
|
+
total_tasks=0
|
|
81
|
+
|
|
82
|
+
for squad_dir in "$SCRIPT_DIR"/squad-*/; do
|
|
83
|
+
[ ! -d "$squad_dir" ] && continue
|
|
84
|
+
squad_name=$(basename "$squad_dir")
|
|
85
|
+
manifest="$squad_dir/squad.yaml"
|
|
86
|
+
[ ! -f "$manifest" ] && continue
|
|
87
|
+
|
|
88
|
+
# Skip deprecated
|
|
89
|
+
[[ "$squad_name" == *".deprecated"* ]] && continue
|
|
90
|
+
|
|
91
|
+
sp=$(grep "^slashPrefix:" "$manifest" | head -1 | sed 's/^slashPrefix: *//' | tr -d '"' | tr -d "'" | tr -d ' ')
|
|
92
|
+
[ -z "$sp" ] && sp="--"
|
|
93
|
+
|
|
94
|
+
agent_count=$(ls "$squad_dir/agents/"*.md 2>/dev/null | wc -l | tr -d ' ')
|
|
95
|
+
task_count=$(ls "$squad_dir/tasks/"*.md 2>/dev/null | wc -l | tr -d ' ')
|
|
96
|
+
total_agents=$((total_agents + agent_count))
|
|
97
|
+
total_tasks=$((total_tasks + task_count))
|
|
98
|
+
|
|
99
|
+
# Short description
|
|
100
|
+
desc=$(grep "^description:" "$manifest" | head -1 | sed 's/^description: *//' | tr -d '"' | cut -c1-60)
|
|
101
|
+
|
|
102
|
+
printf " ${CYAN}%-12s${NC} ${GREEN}%3s agents${NC} ${YELLOW}%3s tasks${NC} %s\n" "/$sp" "$agent_count" "$task_count" "$desc"
|
|
103
|
+
done
|
|
104
|
+
|
|
105
|
+
echo ""
|
|
106
|
+
echo -e " ${BOLD}Total: ${GREEN}${total_agents} agents${NC} | ${YELLOW}${total_tasks} tasks${NC}"
|
|
107
|
+
echo ""
|
|
108
|
+
echo -e " ${YELLOW}Uso:${NC} sinapse list agents ${CYAN}<squad>${NC} — ver agentes de uma squad"
|
|
109
|
+
echo ""
|
|
110
|
+
|
|
111
|
+
# If second arg is "agents" and third is a squad prefix
|
|
112
|
+
if [ "$1" = "agents" ] && [ -n "$2" ]; then
|
|
113
|
+
cmd_list_agents "$2"
|
|
114
|
+
fi
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
cmd_list_agents() {
|
|
118
|
+
local prefix="$1"
|
|
119
|
+
echo -e "${BOLD}Agentes da squad /$prefix:${NC}"
|
|
120
|
+
echo ""
|
|
121
|
+
|
|
122
|
+
for squad_dir in "$SCRIPT_DIR"/squad-*/; do
|
|
123
|
+
[ ! -d "$squad_dir" ] && continue
|
|
124
|
+
manifest="$squad_dir/squad.yaml"
|
|
125
|
+
[ ! -f "$manifest" ] && continue
|
|
126
|
+
|
|
127
|
+
sp=$(grep "^slashPrefix:" "$manifest" | head -1 | sed 's/^slashPrefix: *//' | tr -d '"' | tr -d "'" | tr -d ' ')
|
|
128
|
+
[ "$sp" != "$prefix" ] && continue
|
|
129
|
+
|
|
130
|
+
for agent_file in "$squad_dir/agents/"*.md; do
|
|
131
|
+
[ ! -f "$agent_file" ] && continue
|
|
132
|
+
agent_id=$(basename "$agent_file" .md)
|
|
133
|
+
# Try to get agent title from first # heading
|
|
134
|
+
title=$(head -5 "$agent_file" | grep "^# " | head -1 | sed 's/^# //')
|
|
135
|
+
printf " ${CYAN}/%s:agents:%-30s${NC} %s\n" "$sp" "$agent_id" "$title"
|
|
136
|
+
done
|
|
137
|
+
break
|
|
138
|
+
done
|
|
139
|
+
echo ""
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
143
|
+
# sinapse status
|
|
144
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
145
|
+
|
|
146
|
+
cmd_status() {
|
|
147
|
+
header
|
|
148
|
+
|
|
149
|
+
if [ ! -d "./squads" ]; then
|
|
150
|
+
echo -e " ${RED}✗${NC} Squads não instaladas neste projeto"
|
|
151
|
+
echo -e " ${YELLOW}Rode:${NC} sinapse install"
|
|
152
|
+
echo ""
|
|
153
|
+
return
|
|
154
|
+
fi
|
|
155
|
+
|
|
156
|
+
echo -e "${BOLD}Status das squads neste projeto:${NC}"
|
|
157
|
+
echo ""
|
|
158
|
+
|
|
159
|
+
installed=0
|
|
160
|
+
missing=0
|
|
161
|
+
|
|
162
|
+
for squad_dir in "$SCRIPT_DIR"/squad-*/; do
|
|
163
|
+
[ ! -d "$squad_dir" ] && continue
|
|
164
|
+
squad_name=$(basename "$squad_dir")
|
|
165
|
+
[[ "$squad_name" == *".deprecated"* ]] && continue
|
|
166
|
+
manifest="$squad_dir/squad.yaml"
|
|
167
|
+
[ ! -f "$manifest" ] && continue
|
|
168
|
+
|
|
169
|
+
target="./squads/$squad_name"
|
|
170
|
+
if [ -L "$target" ] || [ -d "$target" ]; then
|
|
171
|
+
echo -e " ${GREEN}✓${NC} $squad_name"
|
|
172
|
+
installed=$((installed + 1))
|
|
173
|
+
else
|
|
174
|
+
echo -e " ${RED}✗${NC} $squad_name ${YELLOW}(não instalada)${NC}"
|
|
175
|
+
missing=$((missing + 1))
|
|
176
|
+
fi
|
|
177
|
+
done
|
|
178
|
+
|
|
179
|
+
echo ""
|
|
180
|
+
echo -e " ${GREEN}${installed} instaladas${NC} | ${RED}${missing} faltando${NC}"
|
|
181
|
+
|
|
182
|
+
if [ $missing -gt 0 ]; then
|
|
183
|
+
echo -e " ${YELLOW}Rode:${NC} sinapse update"
|
|
184
|
+
fi
|
|
185
|
+
|
|
186
|
+
# Check awareness
|
|
187
|
+
if [ -f ".claude/rules/squad-awareness.md" ]; then
|
|
188
|
+
echo -e " ${GREEN}✓${NC} squad-awareness.md presente"
|
|
189
|
+
else
|
|
190
|
+
echo -e " ${RED}✗${NC} squad-awareness.md ausente"
|
|
191
|
+
fi
|
|
192
|
+
|
|
193
|
+
# Check commands
|
|
194
|
+
cmd_count=$(find .claude/commands/ -name "*.md" 2>/dev/null | wc -l | tr -d ' ')
|
|
195
|
+
if [ "$cmd_count" -gt 0 ]; then
|
|
196
|
+
echo -e " ${GREEN}✓${NC} $cmd_count command files"
|
|
197
|
+
else
|
|
198
|
+
echo -e " ${RED}✗${NC} Nenhum command file"
|
|
199
|
+
fi
|
|
200
|
+
|
|
201
|
+
echo ""
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
205
|
+
# sinapse pull
|
|
206
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
207
|
+
|
|
208
|
+
cmd_pull() {
|
|
209
|
+
header
|
|
210
|
+
echo -e "${BLUE}▸ Puxando atualizações do sinapse...${NC}"
|
|
211
|
+
echo ""
|
|
212
|
+
|
|
213
|
+
cd "$SCRIPT_DIR"
|
|
214
|
+
git pull
|
|
215
|
+
echo ""
|
|
216
|
+
|
|
217
|
+
# Se estamos num projeto com squads, atualizar
|
|
218
|
+
cd - > /dev/null
|
|
219
|
+
if [ -d "./squads" ]; then
|
|
220
|
+
echo -e "${BLUE}▸ Atualizando projeto atual...${NC}"
|
|
221
|
+
echo ""
|
|
222
|
+
bash "$SCRIPT_DIR/../scripts/update-squads.sh"
|
|
223
|
+
else
|
|
224
|
+
echo -e "${YELLOW}Não estamos em um projeto com squads. Só o repo foi atualizado.${NC}"
|
|
225
|
+
echo ""
|
|
226
|
+
fi
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
230
|
+
# sinapse help
|
|
231
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
232
|
+
|
|
233
|
+
cmd_help() {
|
|
234
|
+
header
|
|
235
|
+
echo -e "${BOLD}Comandos:${NC}"
|
|
236
|
+
echo ""
|
|
237
|
+
echo -e " ${CYAN}sinapse install${NC} Instala squads em projeto (primeira vez)"
|
|
238
|
+
echo -e " ${CYAN}sinapse update${NC} Atualiza squads (novas squads + awareness + commands)"
|
|
239
|
+
echo -e " ${CYAN}sinapse list${NC} Lista todas as squads disponíveis"
|
|
240
|
+
echo -e " ${CYAN}sinapse list agents <prefix>${NC} Lista agentes de uma squad (ex: sinapse list agents brand)"
|
|
241
|
+
echo -e " ${CYAN}sinapse status${NC} Status das squads no projeto atual"
|
|
242
|
+
echo -e " ${CYAN}sinapse pull${NC} Git pull + atualiza projeto atual"
|
|
243
|
+
echo -e " ${CYAN}sinapse help${NC} Mostra esta ajuda"
|
|
244
|
+
echo ""
|
|
245
|
+
echo -e "${BOLD}Setup (rodar uma vez):${NC}"
|
|
246
|
+
echo ""
|
|
247
|
+
echo -e " ${YELLOW}# Adicionar ao PATH:${NC}"
|
|
248
|
+
echo -e " echo 'export PATH=\"\$HOME/Workspace/caio-imori/sinapse:\$PATH\"' >> ~/.bashrc"
|
|
249
|
+
echo -e " source ~/.bashrc"
|
|
250
|
+
echo ""
|
|
251
|
+
echo -e "${BOLD}Uso típico:${NC}"
|
|
252
|
+
echo ""
|
|
253
|
+
echo -e " ${GREEN}# Projeto novo:${NC}"
|
|
254
|
+
echo -e " cd meu-projeto"
|
|
255
|
+
echo -e " sinapse install"
|
|
256
|
+
echo ""
|
|
257
|
+
echo -e " ${GREEN}# Projeto existente (após git pull no sinapse):${NC}"
|
|
258
|
+
echo -e " cd meu-projeto"
|
|
259
|
+
echo -e " sinapse update"
|
|
260
|
+
echo ""
|
|
261
|
+
echo -e " ${GREEN}# Tudo de uma vez (pull + update):${NC}"
|
|
262
|
+
echo -e " cd meu-projeto"
|
|
263
|
+
echo -e " sinapse pull"
|
|
264
|
+
echo ""
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
268
|
+
# Router
|
|
269
|
+
# ══════════════════════════════════════════════════════════════════════════════
|
|
270
|
+
|
|
271
|
+
case "${1:-help}" in
|
|
272
|
+
install) cmd_install ;;
|
|
273
|
+
update) cmd_update ;;
|
|
274
|
+
list) shift; cmd_list "$@" ;;
|
|
275
|
+
status) cmd_status ;;
|
|
276
|
+
pull) cmd_pull ;;
|
|
277
|
+
help|--help|-h) cmd_help ;;
|
|
278
|
+
*)
|
|
279
|
+
echo -e "${RED}Comando desconhecido:${NC} $1"
|
|
280
|
+
echo -e "Rode ${CYAN}sinapse help${NC} para ver comandos disponíveis"
|
|
281
|
+
exit 1
|
|
282
|
+
;;
|
|
283
|
+
esac
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sinapse-ai",
|
|
3
|
-
"version": "9.
|
|
4
|
-
"description": "SINAPSE AI: Framework de orquestracao de IA — 18 squads,
|
|
3
|
+
"version": "9.2.0",
|
|
4
|
+
"description": "SINAPSE AI: Framework de orquestracao de IA — 18 squads, 186 agentes especializados",
|
|
5
5
|
"bin": {
|
|
6
6
|
"sinapse": "bin/sinapse.js",
|
|
7
7
|
"sinapse-ai": "bin/cli.js",
|
|
@@ -33,9 +33,6 @@
|
|
|
33
33
|
"squads/claude-code-mastery/**",
|
|
34
34
|
"squads/sinapse/**",
|
|
35
35
|
"sinapse/**",
|
|
36
|
-
"install-squads.sh",
|
|
37
|
-
"install-chrome-brain.sh",
|
|
38
|
-
"update-squads.sh",
|
|
39
36
|
"pro/license/",
|
|
40
37
|
"pro/squads/",
|
|
41
38
|
"pro/pro-config.yaml",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|