auroq-os 1.5.0 → 1.6.1

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.
@@ -35,11 +35,12 @@ persona:
35
35
 
36
36
  1. Salvar progresso — commit inteligente com mensagem de negocio
37
37
  2. Enviar pro remote — push com checagem pre-push
38
- 3. Instalar agente — squad, mind ou worker a partir de zip
39
- 4. Instalar packmultiplos agentes de uma vez (pack da mentoria)
40
- 5. Atualizar sistemabaixar e aplicar nova versao do Auroq OS
41
- 6. Checar saudediagnostico completo do ambiente
42
- 7. Setup completobootstrap do zero (ambiente, MCPs, GitHub, Supabase)
38
+ 3. Instalar agente — squad, mind ou worker NOVO a partir de zip
39
+ 4. Atualizar squadsubstituir squad existente por versao nova (preserva teus dados)
40
+ 5. Instalar packmultiplos agentes de uma vez (pack da mentoria)
41
+ 6. Atualizar sistemabaixar e aplicar nova versao do Auroq OS
42
+ 7. Checar saudediagnostico completo do ambiente
43
+ 8. Setup completo — bootstrap do zero (ambiente, MCPs, GitHub, Supabase)
43
44
 
44
45
  O que precisa?
45
46
 
@@ -59,7 +60,9 @@ commands:
59
60
  - name: yolo
60
61
  description: "Trocar modo de permissao do Claude Code (auto/acceptEdits/default)"
61
62
  - name: install
62
- description: "Instalar squad/worker/mind a partir de zip ou pasta"
63
+ description: "Instalar squad/worker/mind NOVO a partir de zip ou pasta (se ja existe, reroteira pra *update-squad)"
64
+ - name: update-squad
65
+ description: "Atualizar squad existente com versao nova (preserva minds/, .state.json, e backup do squad antigo)"
63
66
  - name: install-pack
64
67
  description: "Instalar pack com multiplos squads/agents de uma vez"
65
68
  - name: cleanup
@@ -928,10 +931,12 @@ Trocar modo de permissao do Claude Code.
928
931
  4. Sempre informar: "Reinicia o Claude Code pra aplicar o novo modo."
929
932
 
930
933
  ### *install
931
- Instalar squad, worker, mind ou agente a partir de arquivo zip ou pasta.
934
+ Instalar squad, worker, mind ou agente NOVO a partir de arquivo zip ou pasta.
932
935
 
933
936
  O expert arrasta o zip pro chat ou informa o path. Ops faz o resto.
934
937
 
938
+ > **Importante:** se o squad/agente JA existe instalado, este comando NAO atualiza — reroteia pro `*update-squad` (que preserva dados do expert). `*install` e exclusivo pra instalacao limpa de algo novo.
939
+
935
940
  **Passo 1 — Receber e identificar**
936
941
  1. Expert arrasta zip pro chat OU informa path do arquivo/pasta
937
942
  2. SE zip: extrair pra pasta temporaria
@@ -940,62 +945,391 @@ O expert arrasta o zip pro chat ou informa o path. Ops faz o resto.
940
945
  - Tem `agents/{nome}.md` + `tasks/`? → Worker ou Mind
941
946
  - Tem `agents/` com multiplos .md + `workflows/`? → Squad multi-agente
942
947
  4. Detectar nome (slug) do squad/agent
943
- 5. Mostrar: "Detectei: {tipo} chamado {nome}. {N} arquivos. Instalo?"
948
+ 5. Detectar versao (do `squad.yaml`/`config.yaml` campo `version:`)
949
+ 6. Mostrar: "Detectei: {tipo} chamado {nome} v{versao}. {N} arquivos. Instalo?"
950
+
951
+ **Passo 2 — Detectar conflito com squad existente (NOVO — Smart Detection)**
952
+
953
+ Antes de tentar instalar, checar se ja existe:
954
+
955
+ ```bash
956
+ # Squad ja instalado?
957
+ ls agents/{slug}/squad.yaml 2>/dev/null || ls agents/{slug}/config.yaml 2>/dev/null
958
+ ```
959
+
960
+ **SE squad ja existe (conflito):**
961
+
962
+ Ler versao atual do squad instalado e comparar com a versao do zip:
963
+
964
+ ```
965
+ === CONFLITO DETECTADO ===
966
+
967
+ Voce ja tem {nome} instalado:
968
+ Versao atual: v{old_version}
969
+ Versao do zip: v{new_version}
970
+
971
+ Tres opcoes:
972
+
973
+ 1. **Atualizar** (recomendado) — usa `*update-squad`
974
+ - Substitui arquivos framework pela versao nova
975
+ - PRESERVA teus dados: minds/, .state.json, outputs do expert
976
+ - Cria backup do squad antigo em agents/_archive/
977
+ - Se voce modificou arquivos do framework, faz backup das tuas
978
+ modificacoes em _backup-tuas-mods/ antes de sobrescrever
979
+
980
+ 2. **Reinstalar do zero** — apaga TUDO e instala do zip
981
+ - Apaga agents/{slug}/ inteiro (incluindo minds/, .state.json)
982
+ - Instala como se fosse novo
983
+ - Use SO se quiser comecar do zero (raro)
984
+
985
+ 3. **Cancelar**
944
986
 
945
- **Passo 2 Verificar integridade**
987
+ Qual? (1 / 2 / 3)
988
+ ```
989
+
990
+ - **Resposta 1:** "Beleza, vou rerotear pra `*update-squad`." → executar `*update-squad` com mesmo zip
991
+ - **Resposta 2:** continuar com `*install` original (Passo 3 em diante), mas confirmar AGAIN: "Tem certeza que quer apagar minds/ e tudo mais? (sim/nao)"
992
+ - **Resposta 3:** abortar, limpar temp
993
+
994
+ **SE squad NAO existe (sem conflito):** continuar normalmente com Passo 3.
995
+
996
+ **Passo 3 — Verificar integridade**
946
997
  1. Arquivo principal do agente existe? (agents/{nome}.md)
947
998
  2. Task start.md existe?
948
999
  3. SE squad: workflow existe? Quality gates existem?
949
1000
  4. Nao tem arquivos suspeitos? (executaveis, scripts desconhecidos)
950
- 5. Nao conflita com agente existente? (mesmo nome ja instalado)
951
- → SE conflita: "Ja existe {nome} instalado. Quer sobrescrever?"
952
1001
 
953
- **Passo 3 — Instalar**
954
- 1. Copiar pra `agents/{slug}/`
955
- 2. Criar slash command em `.claude/commands/{slug}.md`:
1002
+ **Passo 4 — Instalar**
1003
+
1004
+ 1. Copiar pra `agents/{slug}/` (slug = nome da pasta, derivado de `name:` do `squad.yaml` em kebab-case ou nome da pasta no zip)
1005
+
1006
+ 2. **Determinar nome da slash command (CRITICO):**
1007
+
1008
+ Ler do `squad.yaml` ou `config.yaml`:
1009
+ - SE existe campo `slash_prefix:` → usar esse valor (ex: `slideForgeV2`)
1010
+ - SE NAO existe `slash_prefix:` → usar `{slug}` como fallback (kebab-case)
1011
+
1012
+ ```bash
1013
+ # Pseudo-codigo
1014
+ slash_command=$(yaml_read agents/{slug}/squad.yaml slash_prefix)
1015
+ if [ -z "$slash_command" ]; then
1016
+ slash_command="{slug}" # fallback
1017
+ fi
1018
+ ```
1019
+
1020
+ **Exemplo concreto:**
1021
+ - Slide Forge v2: pasta `slide-forge`, mas `slash_prefix: "slideForgeV2"` → command file = `.claude/commands/slideForgeV2.md` → ativa com `/slideForgeV2`
1022
+ - Squad Forge: pasta `squad-forge`, `slash_prefix: "squadForge"` → `.claude/commands/squadForge.md` → ativa com `/squadForge`
1023
+ - Squad sem slash_prefix definido: pasta `meu-squad` → `.claude/commands/meu-squad.md` → ativa com `/meu-squad`
1024
+
1025
+ 3. **SE existe `slash_prefix_legacy:` no squad.yaml:** criar TAMBEM o alias (backward-compat). Ex: Slide Forge v2 tem `slash_prefix_legacy: "slideForge"` → criar `.claude/commands/slideForge.md` apontando pro mesmo squad.
1026
+
1027
+ 4. **Conteudo do slash command:**
1028
+
956
1029
  ```markdown
957
- # {slug}
1030
+ # {slash_command}
958
1031
 
959
- {descricao do agente}
1032
+ {descricao do squad — pegar de `description:` ou `title:` do squad.yaml}
960
1033
 
961
- CRITICAL: First, read and adopt the persona defined in `agents/{slug}/agents/{nome}.md`.
1034
+ CRITICAL: First, read and adopt the persona defined in `agents/{slug}/agents/{nome-do-chief}.md`.
962
1035
  Then, read and execute the task defined in `agents/{slug}/tasks/start.md`.
963
1036
  Follow ALL instructions exactly as written. Those files are your single source of truth.
964
1037
  ```
965
- 3. SE tem skill.md: registrar skill tambem
966
- 4. SE tem dependencias (package.json dentro do squad): `npm install`
967
1038
 
968
- **Passo 4 Testar**
969
- 1. Verificar que slash command aparece: "/{slug} esta disponivel"
970
- 2. Verificar que agente carrega (ler persona, confirmar greeting)
971
- 3. SE squad com workflow: verificar que fases referenciam tasks existentes
972
- 4. Mostrar resultado:
1039
+ `{nome-do-chief}` vem do `tiers.orchestrator[0]` do squad.yaml (o agente principal). Se squad tem 1 só agente, usa esse.
1040
+
1041
+ 5. SE tem `skill.md` na raiz do squad: registrar skill tambem
1042
+ 6. SE tem `dependencies` no squad.yaml com pacotes externos: avisar expert + perguntar antes de qualquer install
1043
+
1044
+ **Passo 5 — Testar**
1045
+ 1. Verificar que slash command aparece: "/{slash_command} esta disponivel"
1046
+ 2. Verificar que `.claude/commands/{slash_command}.md` foi criado
1047
+ 3. Verificar que agente carrega (ler persona, confirmar greeting)
1048
+ 4. SE squad com workflow: verificar que fases referenciam tasks existentes
1049
+ 5. Mostrar resultado:
973
1050
 
974
1051
  ```
975
1052
  === INSTALACAO COMPLETA ===
976
1053
 
977
1054
  Tipo: {Worker/Mind/Squad}
978
- Nome: {nome}
979
- Ativacao: /{slug}
980
- Arquivos: {N} instalados em agents/{slug}/
981
- Command: .claude/commands/{slug}.md criado
1055
+ Nome: {title ou name} v{versao}
1056
+ Pasta: agents/{slug}/
1057
+ Ativacao: /{slash_command}
1058
+ {SE houver slash_prefix_legacy:} Alias: /{slash_prefix_legacy} (backward-compat)
1059
+ Arquivos: {N} instalados
1060
+ Command file: .claude/commands/{slash_command}.md criado
982
1061
 
983
1062
  {SE squad: Agentes: {lista}}
984
1063
  {SE squad: Workflow: {fases}}
985
1064
 
986
- Pronto pra usar. Ative com /{slug}
1065
+ Pronto pra usar. Ative com /{slash_command}
987
1066
  ```
988
1067
 
989
- **Passo 5 — Limpar**
1068
+ **Passo 6 — Limpar**
990
1069
  1. Remover arquivos temporarios (zip extraido)
991
1070
  2. SE expert quer: commitar instalacao
992
1071
  → `setup: instalou {tipo} {nome}`
993
1072
 
994
1073
  **Protecoes:**
995
1074
  - NUNCA instalar sem mostrar o que vai ser instalado primeiro
996
- - NUNCA sobrescrever agente existente sem confirmar
1075
+ - NUNCA sobrescrever agente existente sem oferecer roteamento pro `*update-squad`
997
1076
  - NUNCA executar scripts do zip automaticamente (verificar antes)
998
1077
  - SE arquivo parecer suspeito: ALERTAR e pedir confirmacao
1078
+ - SE squad ja existe: ALWAYS oferecer `*update-squad` antes de sobrescrever (Passo 2)
1079
+
1080
+ ---
1081
+
1082
+ ### *update-squad
1083
+ Atualizar squad existente com versao nova a partir de zip ou pasta. **Preserva dados do expert** (minds/, .state.json) e cria backup do squad antigo.
1084
+
1085
+ **Quando usar:** voce ja tem um squad instalado e baixou da plataforma a versao nova (zip nomeado tipo `slide-forge-v2.0.0.zip`). Use `*update-squad` pra atualizar sem perder seu trabalho.
1086
+
1087
+ **Diferenca pra `*install`:**
1088
+
1089
+ | Operacao | `*install` | `*update-squad` |
1090
+ |----------|-----------|-----------------|
1091
+ | Squad ja existe? | Reroteia pra `*update-squad` (ou apaga tudo se confirmar) | Espera que ja exista |
1092
+ | Squad nao existe? | Instala normal | Reroteia pra `*install` |
1093
+ | `agents/{slug}/minds/` (outputs do expert) | Apaga (instalacao limpa) | **Preserva sempre** |
1094
+ | `agents/{slug}/.state.json` (estado) | Apaga | **Preserva sempre** |
1095
+ | Arquivos framework | Cria do zip | Substitui pelos do zip |
1096
+ | Modificacoes locais do expert no framework | N/A | **Backup em `_backup-tuas-mods/`** + sobrescreve |
1097
+ | Backup do squad antigo | N/A | **Sempre** em `agents/_archive/{slug}-v{old}-{timestamp}/` |
1098
+
1099
+ **Passo 1 — Receber zip e identificar**
1100
+
1101
+ 1. Expert arrasta zip pro chat OU informa path do arquivo/pasta
1102
+ 2. SE zip: extrair pra pasta temporaria (`/tmp/squad-update-{slug}-{timestamp}/`)
1103
+ 3. Identificar tipo (squad/worker/mind) — mesma logica do `*install`
1104
+ 4. Detectar nome (slug) e versao (campo `version:` do `squad.yaml`/`config.yaml`)
1105
+ 5. Confirmar: "Detectei: {tipo} {nome} v{new_version} no zip. {N} arquivos."
1106
+
1107
+ **Passo 2 — Verificar squad atual**
1108
+
1109
+ 1. Squad existe em `agents/{slug}/`?
1110
+ - **NAO existe:** "Voce ainda nao tem `{slug}` instalado. Vou pra `*install` instalar como novo. OK?" → reroteia
1111
+ - **EXISTE:** continuar
1112
+ 2. Ler `version:` do squad atual (`agents/{slug}/squad.yaml` ou `config.yaml`)
1113
+ 3. Comparar:
1114
+
1115
+ ```
1116
+ === UPDATE DETECTADO ===
1117
+
1118
+ Squad: {slug}
1119
+ Versao instalada: v{old_version}
1120
+ Versao do zip: v{new_version}
1121
+
1122
+ {Se old < new:} Update normal: v{old} -> v{new}
1123
+ {Se old == new:} Mesma versao. Reinstalacao limpa do framework (preserva teus dados).
1124
+ {Se old > new:} ATENCAO: voce tem versao mais nova ({old}) que o zip ({new}). Downgrade?
1125
+
1126
+ Continuar?
1127
+ ```
1128
+
1129
+ **Passo 3 — Detectar modificacoes locais do expert (NOVO)**
1130
+
1131
+ A principio o expert NAO deve modificar arquivos do framework. Mas se modificou, precisa backupar antes de sobrescrever.
1132
+
1133
+ Comparar conteudo de cada arquivo do squad atual com o do zip:
1134
+
1135
+ ```bash
1136
+ # Para cada arquivo do framework no squad atual (excluindo runtime preservado)
1137
+ for file in agents/{slug}/agents/* agents/{slug}/tasks/* agents/{slug}/data/* agents/{slug}/workflows/* agents/{slug}/checklists/* agents/{slug}/templates/* agents/{slug}/squad.yaml agents/{slug}/config.yaml agents/{slug}/README.md; do
1138
+ # Comparar com correspondente no zip
1139
+ zip_file="/tmp/squad-update-{slug}-{timestamp}/{equivalente}"
1140
+ if [ -f "$file" ] && [ -f "$zip_file" ]; then
1141
+ if ! diff -q "$file" "$zip_file" >/dev/null; then
1142
+ # Arquivo modificado localmente — pode ser:
1143
+ # a) Nova versao traz arquivo diferente (esperado)
1144
+ # b) Expert modificou localmente (NAO esperado)
1145
+
1146
+ # Heuristica: se versao do squad mudou, assume que e (a)
1147
+ # Senao, e (b) — modificacao local
1148
+ echo "POSSIVEL MOD LOCAL: $file"
1149
+ fi
1150
+ fi
1151
+ done
1152
+ ```
1153
+
1154
+ **Heuristica refinada (precisa de signal):**
1155
+ Se o squad guardar um manifesto com hashes dos arquivos originais (`.manifest.json` por exemplo), comparar com isso. Senao, qualquer arquivo modificado E que tambem mudou na versao nova fica ambiguo.
1156
+
1157
+ **Comportamento conservador (sem manifesto):** mostrar TODOS os arquivos cujo conteudo difere entre squad atual e zip, classificar:
1158
+
1159
+ ```
1160
+ === ANALISE DE MODIFICACOES ===
1161
+
1162
+ Comparei o squad atual com o zip. Os arquivos abaixo divergem:
1163
+
1164
+ Arquivos do framework (esperado mudarem com update v{old} -> v{new}):
1165
+ - agents/{slug}/agents/chief.md
1166
+ - agents/{slug}/tasks/start.md
1167
+ - agents/{slug}/data/cardinal-rules.md
1168
+ - ... ({N} arquivos)
1169
+
1170
+ Arquivos suspeitos (parecem modificacao local — mtime > {data do install antigo}):
1171
+ - agents/{slug}/agents/foo.md (modificado em DD/MM HH:MM)
1172
+ - agents/{slug}/data/custom-bar.md (NAO existe no zip — adicionado pelo expert?)
1173
+
1174
+ A principio voce nao deveria ter modificado arquivos do framework.
1175
+ Mas se modificou, vou criar backup das tuas modificacoes em:
1176
+ _backup-tuas-mods/{slug}-v{old}-{timestamp}/
1177
+
1178
+ Confirma o backup das modificacoes locais antes de eu sobrescrever?
1179
+ (sim / nao / mostrar diff de cada arquivo)
1180
+ ```
1181
+
1182
+ Se expert confirmar: criar `_backup-tuas-mods/{slug}-v{old}-{timestamp}/` copiando arquivos suspeitos.
1183
+ Se expert pedir diff: mostrar `diff` arquivo por arquivo, expert decide caso a caso.
1184
+ Se expert disser que nao modificou nada (e mtimes dao falso positivo): proceder sem backup-tuas-mods.
1185
+
1186
+ **Passo 4 — Backup completo do squad atual (sempre)**
1187
+
1188
+ ```bash
1189
+ TIMESTAMP=$(date +%Y%m%d-%H%M%S)
1190
+ mkdir -p agents/_archive
1191
+ cp -r agents/{slug} agents/_archive/{slug}-v{old_version}-$TIMESTAMP
1192
+ echo "Backup do squad antigo em: agents/_archive/{slug}-v{old_version}-$TIMESTAMP/"
1193
+ ```
1194
+
1195
+ **Retencao:** 30 dias. Apos isso, expert pode deletar manualmente.
1196
+
1197
+ **Passo 5 — Identificar runtime a preservar (whitelist)**
1198
+
1199
+ Antes de sobrescrever, listar tudo que deve ser preservado do squad atual:
1200
+
1201
+ ```bash
1202
+ PRESERVE=(
1203
+ "agents/{slug}/minds/" # outputs do expert (clones, mind-forge runs, etc)
1204
+ "agents/{slug}/.state.json" # estado de pipeline em andamento
1205
+ "agents/{slug}/*-state.json" # outros state files
1206
+ "agents/{slug}/.local/" # configs locais (se padrao se estabelecer)
1207
+ )
1208
+
1209
+ # Criar staging area pro runtime
1210
+ mkdir -p /tmp/squad-update-staging-{slug}/
1211
+ for path in "${PRESERVE[@]}"; do
1212
+ if [ -e "$path" ]; then
1213
+ cp -r "$path" /tmp/squad-update-staging-{slug}/
1214
+ fi
1215
+ done
1216
+ ```
1217
+
1218
+ **Passo 6 — Aplicar update**
1219
+
1220
+ 1. Apagar conteudo atual de `agents/{slug}/` (exceto runtime que ja foi preservado em staging):
1221
+ ```bash
1222
+ rm -rf agents/{slug}/*
1223
+ rm -rf agents/{slug}/.[!.]* # arquivos hidden tambem
1224
+ ```
1225
+ 2. Copiar conteudo do zip pra `agents/{slug}/`:
1226
+ ```bash
1227
+ cp -r /tmp/squad-update-{slug}-{timestamp}/* agents/{slug}/
1228
+ ```
1229
+ 3. Restaurar runtime preservado:
1230
+ ```bash
1231
+ for item in /tmp/squad-update-staging-{slug}/*; do
1232
+ cp -r "$item" agents/{slug}/
1233
+ done
1234
+ ```
1235
+
1236
+ **Passo 7 — Atualizar slash command(s)**
1237
+
1238
+ 1. **Ler `slash_prefix:` (e `slash_prefix_legacy:` se houver) do squad.yaml NOVO** (do zip):
1239
+ - Pode ter mudado entre versoes (ex: v1 era `slash_prefix: "slideForge"`, v2 e `slash_prefix: "slideForgeV2"` + `slash_prefix_legacy: "slideForge"`)
1240
+
1241
+ 2. **Comparar com slash command atual** em `.claude/commands/`:
1242
+ - Se `slash_prefix` da v_new e DIFERENTE do nome de arquivo atual → criar o novo command file (mantem o antigo se for declarado como `slash_prefix_legacy`)
1243
+ - Se o conteudo mudou (descricao, agente chief renomeado, etc) → atualizar conteudo
1244
+
1245
+ 3. **Atualizar conteudo do command file** com novo formato:
1246
+
1247
+ ```markdown
1248
+ # {slash_prefix novo}
1249
+
1250
+ {description ou title novo do squad}
1251
+
1252
+ CRITICAL: First, read and adopt the persona defined in `agents/{slug}/agents/{novo-nome-do-chief}.md`.
1253
+ Then, read and execute the task defined in `agents/{slug}/tasks/start.md`.
1254
+ Follow ALL instructions exactly as written. Those files are your single source of truth.
1255
+ ```
1256
+
1257
+ 4. **SE slash_prefix mudou de v_old pra v_new (ex: slideForge → slideForgeV2):**
1258
+ - Criar command file novo
1259
+ - SE v_new declara `slash_prefix_legacy` apontando pro nome antigo: deixar antigo como alias com aviso de versao
1260
+ - SE v_new NAO declara legacy: opcional remover command antigo (perguntar pro expert: "v_new mudou ativacao de /slideForge pra /slideForgeV2. Remover o comando /slideForge antigo? Senao fica como alias.")
1261
+
1262
+ 5. **SE squad-forge ou Slide Forge ou outro squad com greeting versionado:** lembrar expert que ao ativar, greeting deve mostrar a versao nova como confirmacao visual de que update funcionou.
1263
+
1264
+ **Passo 8 — Validar pos-update**
1265
+
1266
+ 1. `agents/{slug}/squad.yaml` (ou `config.yaml`) parsea sem erro?
1267
+ 2. `agents/{slug}/tasks/start.md` existe?
1268
+ 3. **`.claude/commands/{slash_prefix_novo}.md` existe e aponta pra arquivos existentes?**
1269
+ 4. **SE houver `slash_prefix_legacy`:** alias correspondente existe e aponta pro mesmo squad?
1270
+ 5. Versao no `squad.yaml` agora bate com a do zip?
1271
+ 6. Runtime preservado intacto? (`agents/{slug}/minds/` se existia, `.state.json` se existia)
1272
+
1273
+ **SE algum check falhar:** rollback completo:
1274
+ ```bash
1275
+ rm -rf agents/{slug}/
1276
+ cp -r agents/_archive/{slug}-v{old_version}-{timestamp}/ agents/{slug}/
1277
+ ```
1278
+ Reportar erro ao expert.
1279
+
1280
+ **Passo 9 — Reportar**
1281
+
1282
+ ```
1283
+ === UPDATE COMPLETO ===
1284
+
1285
+ Squad: {title ou name}
1286
+ Pasta: agents/{slug}/
1287
+ Versao: v{old} -> v{new}
1288
+
1289
+ Ativacao:
1290
+ - /{slash_prefix novo}
1291
+ {SE houver slash_prefix_legacy:} - /{slash_prefix_legacy} (alias backward-compat)
1292
+
1293
+ Arquivos:
1294
+ - {N} arquivos framework substituidos
1295
+ - {M} arquivos preservados (minds/, .state.json, runtime do expert)
1296
+
1297
+ Backups criados:
1298
+ - agents/_archive/{slug}-v{old}-{timestamp}/ (squad antigo completo, 30 dias retencao)
1299
+ {SE houve modificacoes locais do expert:}
1300
+ - _backup-tuas-mods/{slug}-v{old}-{timestamp}/ (tuas modificacoes preservadas)
1301
+
1302
+ Pra confirmar que esta v{new}: ative com /{slash_prefix novo} e olhe o greeting.
1303
+
1304
+ Tudo certo. Pode usar normalmente.
1305
+ ```
1306
+
1307
+ **Passo 10 — Limpar**
1308
+ 1. Remover `/tmp/squad-update-{slug}-{timestamp}/`
1309
+ 2. Remover `/tmp/squad-update-staging-{slug}/`
1310
+ 3. SE expert quer: commitar update
1311
+ → `setup: atualizou {slug} v{old} -> v{new}`
1312
+
1313
+ **Protecoes:**
1314
+ - NUNCA aplicar update sem mostrar diff de versao primeiro
1315
+ - NUNCA sobrescrever `minds/` (outputs do expert)
1316
+ - NUNCA sobrescrever `.state.json` (estado em andamento)
1317
+ - NUNCA aplicar update sem backup completo do squad atual
1318
+ - SE detectar modificacoes locais do expert: ALWAYS oferecer backup-tuas-mods antes de sobrescrever
1319
+ - SE qualquer validacao pos-update falhar: ROLLBACK automatico do backup
1320
+
1321
+ **Cenarios de erro:**
1322
+
1323
+ | Cenario | Acao |
1324
+ |---------|------|
1325
+ | Zip corrompido / nao parseavel | Abortar antes de tocar squad atual. Reportar erro. |
1326
+ | Squad atual sem `version:` no squad.yaml | Tratar como v0.0.0. Continuar update. |
1327
+ | Expert tem versao MAIS NOVA que o zip | Confirmar duas vezes ("downgrade?"). Permitir se ele insistir. |
1328
+ | Mesma versao (v{old} == v{new}) | Tratar como reinstalacao limpa do framework, preservando dados. Util pra recuperar de modificacao acidental. |
1329
+ | Diff de modificacoes locais com 50+ arquivos | Provavelmente nao e modificacao real — e normal apos updates intermediarios. Sugerir "skip backup-tuas-mods". |
1330
+ | Rollback automatico ativado por validacao falha | Reportar exatamente qual check falhou. Squad volta intacto pro estado anterior. |
1331
+
1332
+ ---
999
1333
 
1000
1334
  ### *install-pack
1001
1335
  Instalar um pack contendo multiplos squads, minds, workers e/ou agents de uma vez.
@@ -1041,9 +1375,13 @@ SE problemas: listar e perguntar se continua sem eles
1041
1375
  **Passo 3 — Instalar (batch)**
1042
1376
  Pra cada agente aprovado:
1043
1377
  1. Copiar pra `agents/{slug}/`
1044
- 2. Criar slash command em `.claude/commands/{slug}.md`:
1378
+ 2. **Determinar slash command (mesma logica do `*install` Passo 4):**
1379
+ - Ler `slash_prefix:` do squad.yaml/config.yaml
1380
+ - Fallback: usar `{slug}` (nome da pasta) se nao houver `slash_prefix`
1381
+ - SE houver `slash_prefix_legacy:` declarado: criar tambem o alias
1382
+ 3. Criar slash command em `.claude/commands/{slash_command}.md`:
1045
1383
  ```markdown
1046
- # {slug}
1384
+ # {slash_command}
1047
1385
 
1048
1386
  {descricao extraida do squad.yaml, config.yaml ou README}
1049
1387
 
@@ -1051,16 +1389,16 @@ Pra cada agente aprovado:
1051
1389
  Then, read and execute the task defined in `agents/{slug}/tasks/start.md`.
1052
1390
  Follow ALL instructions exactly as written. Those files are your single source of truth.
1053
1391
  ```
1054
- 3. Detectar o chief agent automaticamente:
1055
- - Ler squad.yaml/config.yaml pra achar o agent principal
1392
+ 4. Detectar o chief agent automaticamente:
1393
+ - Ler `tiers.orchestrator[0]` do squad.yaml/config.yaml
1056
1394
  - SE nao tem yaml: usar primeiro .md em agents/ que contenha "chief" ou "forge-chief"
1057
1395
  - SE ambiguo: perguntar ao expert
1058
- 4. SE tem skill.md: registrar skill
1059
- 5. SE tem dependencias: `npm install`
1396
+ 5. SE tem skill.md: registrar skill
1397
+ 6. SE tem dependencias: avisar expert antes de instalar
1060
1398
 
1061
1399
  **Passo 4 — Validar (batch)**
1062
1400
  Pra cada agente instalado:
1063
- 1. Verificar slash command existe
1401
+ 1. Verificar `.claude/commands/{slash_command}.md` existe (e o alias legacy se houver)
1064
1402
  2. Verificar agent file carrega (ler persona, confirmar existe)
1065
1403
  3. SE squad com workflow: verificar tasks referenciadas existem
1066
1404
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auroq-os",
3
- "version": "1.5.0",
3
+ "version": "1.6.1",
4
4
  "description": "Auroq OS — Sistema Operacional de IA para Experts",
5
5
  "bin": {
6
6
  "auroq-os": "bin/auroq-os.js"