auroq-os 2.8.1 → 2.8.4
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/.auroq-core/como-funciona.md +16 -7
- package/.auroq-core/core-config.yaml +1 -1
- package/.claude/CLAUDE.md +2 -3
- package/.claude/commands/AuroqOS/agents/ops.md +4 -8
- package/.claude/hooks/auroq-ate-o-fim.cjs +102 -0
- package/.claude/rules/agent-authority.md +8 -5
- package/.claude/rules/mcp-usage.md +2 -2
- package/.claude/rules/memoria-inteligente.md +2 -2
- package/.claude/rules/operacao-autonoma.md +11 -2
- package/.claude/rules/project-tracker.md +2 -2
- package/.claude/rules/puxar-e-entregar.md +7 -7
- package/.claude/settings.json +21 -2
- package/.synapse/agent-ops +1 -1
- package/AGENTS.md +42 -14
- package/CHANGELOG.md +100 -0
- package/README.md +89 -54
- package/agents/organizer/agents/organizer.md +4 -4
- package/bin/auroq-os.js +46 -18
- package/installer/install.ps1 +2 -2
- package/installer/install.sh +2 -2
- package/lib/cofre.js +1453 -0
- package/lib/infisical-api.js +670 -0
- package/lib/infisical-cli.js +869 -0
- package/lib/infisical.js +1271 -0
- package/lib/legacy-shims.json +2 -1
- package/lib/onepassword.js +1315 -22
- package/lib/runtime-integrity.json +29 -9
- package/package.json +3 -3
- package/scripts/runtime-integrity.mjs +1 -1
- package/seeds/business/cockpit.md +9 -0
|
@@ -20,11 +20,10 @@ a IA domina o **como**.
|
|
|
20
20
|
|
|
21
21
|
| Tipo | O que é | Exemplo |
|
|
22
22
|
|------|---------|---------|
|
|
23
|
-
| **Companion** | Chefe da equipe e parceiro do aluno. Situa, lembra, pensa junto
|
|
23
|
+
| **Companion** | Chefe da equipe e parceiro do aluno. Situa, lembra, pensa junto, chama quem faz e cuida do técnico (instala, atualiza, conserta, conecta) | `/auroq-companion` |
|
|
24
24
|
| **Mentes** | Pensam e julgam: consultam, mentoram, avaliam | Clone, mente sintética, consultor |
|
|
25
25
|
| **Workers** | Executam uma função (um cargo) | um worker de atendimento |
|
|
26
26
|
| **Squads** | Vários agentes com etapas e conferência de qualidade | Squad de conteúdo, de anúncios |
|
|
27
|
-
| **Ops** | O técnico: instala, atualiza, conserta, conecta | `/AuroqOS:agents:ops` |
|
|
28
27
|
| **Forjas** | Criam agentes novos para o negócio do aluno | Squad Forge, Mind Forge, Worker Forge, Clone Forge, ETLmaker |
|
|
29
28
|
|
|
30
29
|
Subtipos de mente: **Clone** (replica uma pessoa real), **Mente sintética** (junta vários
|
|
@@ -45,13 +44,13 @@ pasta-do-negocio/
|
|
|
45
44
|
├── .claude/
|
|
46
45
|
│ ├── CLAUDE.md # porta de entrada do Claude Code (importa o AGENTS.md)
|
|
47
46
|
│ ├── rules/ # regras do sistema + custom-do-aluno.md (do aluno)
|
|
48
|
-
│ ├── commands/ # atalhos dos agentes (/auroq-companion, /
|
|
47
|
+
│ ├── commands/ # atalhos dos agentes (/auroq-companion, /auroq-consultor...)
|
|
49
48
|
│ ├── output-styles/ # estilo de resposta Direto
|
|
50
49
|
│ └── hooks/ # automações (Synapse, sincronização, histórico)
|
|
51
50
|
├── .auroq-core/ # núcleo do sistema (constitution, configuração) — não mexer
|
|
52
51
|
├── .synapse/ # lembretes curtos que o sistema injeta em cada conversa
|
|
53
52
|
├── agents/companion/data/ # memória: onde paramos, decisões, padrões, pendências
|
|
54
|
-
├── business/ # o negócio: cockpit, campanhas, processos, vault (fora do git)
|
|
53
|
+
├── business/ # o negócio: cockpit, campanhas, processos, vault (só status e referências do cofre de senhas, 1Password ou Infisical, fora do git)
|
|
55
54
|
└── docs/knowledge/ # conhecimento do aluno
|
|
56
55
|
├── mapa-do-negocio.md # resumo de uma página que todo squad lê primeiro (o Companion mantém: *contexto)
|
|
57
56
|
├── expert-mind/ # quem o aluno é: propósito, identidade, valores, tom de voz, história
|
|
@@ -69,7 +68,7 @@ Texto completo em `.auroq-core/constitution.md`.
|
|
|
69
68
|
| Artigo | Princípio |
|
|
70
69
|
|--------|-----------|
|
|
71
70
|
| I | O terminal é o centro de comando: o negócio passa pela pasta, ferramentas externas são braços |
|
|
72
|
-
| II | Cada um faz o seu: o técnico (push forçado, MCP, infraestrutura, atualização) é do
|
|
71
|
+
| II | Cada um faz o seu: o técnico (push forçado, MCP, infraestrutura, atualização) é do Companion, pelas skills técnicas |
|
|
73
72
|
| III | Documentar é investir: o que não está escrito se perde |
|
|
74
73
|
| IV | Não inventar: fato, número e prova precisam de fonte |
|
|
75
74
|
| V | Qualidade com julgamento: o aluno aprova as entregas importantes |
|
|
@@ -93,12 +92,21 @@ agora; a certeza vem do uso; nada volta para o zero.
|
|
|
93
92
|
refinar (melhorar agentes e processos). Cada volta deixa o sistema mais forte.
|
|
94
93
|
|
|
95
94
|
**Conversa:** o Companion carrega onde paramos, mostra o que importa, o aluno escolhe o foco, a
|
|
96
|
-
equipe trabalha, no fim de cada tarefa a memória é salva
|
|
97
|
-
|
|
95
|
+
equipe trabalha e, no fim de cada tarefa, a memória é salva. Com o app Auroq OS aberto, o trabalho é salvo e
|
|
96
|
+
entregue no GitHub sozinho (a cada 15 minutos, ao abrir e ao fechar); sem o app, quando o aluno pede. O aluno
|
|
97
|
+
abre quantas conversas quiser dentro do projeto, uma por assunto, todas com o Companion.
|
|
98
98
|
|
|
99
99
|
**Semana:** sem revisão há 7 dias ou mais, o Companion propõe uma revisão de 20 minutos (cockpit,
|
|
100
100
|
trackers, pendências, padrões).
|
|
101
101
|
|
|
102
|
+
**Mês:** uma vez por mês, o Companion propõe a revisão do mês, também de uns 20 minutos: os números do
|
|
103
|
+
mês, o que funcionou, se os projetos levam à meta dos 90 dias e o foco do mês que vem
|
|
104
|
+
(`business/revisoes-do-mes.md`).
|
|
105
|
+
|
|
106
|
+
**Ano:** o plano da empresa (`business/plano-da-empresa.md`) diz aonde o negócio quer chegar em 12 meses,
|
|
107
|
+
em 4 trimestres. Cada trimestre é uma meta de 90 dias. O Companion propõe montar o plano na primeira
|
|
108
|
+
revisão do mês e o refaz no fim do ano.
|
|
109
|
+
|
|
102
110
|
**Projeto:** nasce no cockpit com tracker e fases → os agentes trabalham e atualizam o tracker →
|
|
103
111
|
termina com uma retrospectiva de 3 perguntas e vai para o arquivo, abrindo vaga para o próximo.
|
|
104
112
|
|
|
@@ -155,6 +163,7 @@ concluída e conversa encerrando. Regra completa: `.claude/rules/memoria-intelig
|
|
|
155
163
|
Commit aqui não é coisa de programador: é o ponto de restauração do negócio. A mensagem conta o que
|
|
156
164
|
aconteceu (`progresso:`, `decisao:`, `processo:`, `agente:`, `conhecimento:`, `campanha:`, `fix:`,
|
|
157
165
|
`setup:`), não o que mudou nos arquivos. Entregar (push) manda a cópia para o GitHub privado do aluno.
|
|
166
|
+
Com o app aberto isso acontece sozinho a cada 15 minutos; o pedido "salva" continua valendo para salvar na hora.
|
|
158
167
|
Ritual em `.claude/rules/puxar-e-entregar.md`.
|
|
159
168
|
|
|
160
169
|
## Volante
|
package/.claude/CLAUDE.md
CHANGED
|
@@ -11,7 +11,6 @@ e o Grok leem. Ele entra aqui pela linha abaixo:
|
|
|
11
11
|
|
|
12
12
|
- As regras de `.claude/rules/` carregam sozinhas. `.claude/rules/custom-do-aluno.md` vale acima de todas.
|
|
13
13
|
- O estilo de resposta é o Direto (`.claude/output-styles/direto.md`).
|
|
14
|
-
- Agentes pelo comando: `/auroq-companion`
|
|
15
|
-
`/atlas-companion`), `/AuroqOS:agents:ops`, `/auroq-consultor` e as forjas `/auroq-squad-forge`,
|
|
14
|
+
- Agentes pelo comando: `/auroq-companion`, `/auroq-consultor` e as forjas `/auroq-squad-forge`,
|
|
16
15
|
`/auroq-mind-forge`, `/auroq-worker-forge`, `/auroq-clone-forge`, `/auroq-etlmaker`. O aluno não
|
|
17
|
-
precisa usar nenhum: falar o que quer basta.
|
|
16
|
+
precisa usar nenhum: falar o que quer basta, e o Companion cuida do resto (inclusive do técnico).
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
# ops
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
O Ops foi aposentado para o aluno (23/10/2026). Quem cuida de tudo, inclusive do técnico, é o Companion.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Ao ser ativado por este atalho (`/AuroqOS:agents:ops` ou `$ops`): diga em UMA linha "Agora quem cuida disso é o Companion." e ative o Companion pelo mesmo caminho do atalho `/auroq-companion` (tool `squad_ativar` do MCP `arcane` com recurso_id `companion`), passando o pedido do aluno inteiro. O Companion resolve pelas skills técnicas dele (`conserto-tecnico`, `salvar-e-sincronizar`, `publicar-site`, `atualizar-sistema`, `configurar-computador`, `conectar-cofre`, `companion-externo`), que chegam ao vivo pelo MCP `arcane` (catálogo `auroq-core`). Nunca mande o aluno trocar de conversa nem digitar comando.
|
|
6
6
|
|
|
7
7
|
O Pack chega ao vivo pelo MCP. NUNCA peça zip nem instalacao do Pack.
|
|
8
8
|
|
|
9
|
-
**Execucao preparada pelo MCP:** Edicao, Carrossel, Trafego, Low Ticket e Bia recebem seus arquivos por `squad_passo` com o recurso_id do squad e passo `preparar-execucao`. O agente executa o script retornado na pasta do negocio e continua o trabalho. Anuncios funciona sem arquivos locais. Nao instalar nem atualizar Pack; nao pedir ZIP. Os arquivos locais servem apenas para executar o passo, nunca como fonte do metodo.
|
|
10
|
-
|
|
11
9
|
Ao ativar, mostre o selo de acesso que a tool devolver (as duas primeiras linhas) antes de qualquer outra coisa — é como o aluno vê que a licença dele foi conferida agora.
|
|
12
10
|
|
|
13
|
-
Se a tool recusar (acesso vencido, cancelado, suspenso ou encerrado) ou falhar: confira se existe `agents/ops/OPS-LOCAL.md` no disco (
|
|
11
|
+
Se a tool recusar (acesso vencido, cancelado, suspenso ou encerrado) ou falhar: confira se existe `agents/ops/OPS-LOCAL.md` no disco (o guia que já está no seu computador desde antes da migração). Se existir, avise em UMA linha — "O servidor não liberou o conteúdo ao vivo; seguindo com o guia que já está no seu computador." — e siga por esse arquivo, mostrando a mensagem do servidor junto. Se não existir, mostre a mensagem exatamente como veio, com o contato do suporte da Arcane, e pare (única exceção abaixo). Nunca improvisar de memória, nunca tentar de novo sozinho. O que já estava no computador do aluno antes da migração continua dele.
|
|
14
12
|
|
|
15
13
|
**Exceção — atualizar ou consertar a conexão sem o MCP:** se a tool falhou ou recusou e o aluno pediu para atualizar o sistema ou consertar a conexão, rode você mesmo na raiz do negócio (Windows: `npx.cmd` no lugar de `npx`), sem mandar o aluno ao terminal:
|
|
16
14
|
- atualizar: `npx -y auroq-os@latest manutencao --agente` (Claude Code: timeout 600000; Codex: espere a linha `AUROQ_RESULTADO`). `status=ok` → "Pronto, atualizei."; `motivo=login` → oriente o login na janela "Login Arcane" que abriu, nunca peça senha no chat, e peça que ele repita o pedido; `motivo=migracao` → peça o SIM e rode de novo com `--migrar-mcp`; outro erro → mostre a `mensagem` e sugira o Arcano;
|
|
17
15
|
- consertar a conexão: `npx -y auroq-os@latest register-mcp`.
|
|
18
16
|
Depois: "Feche e abra o Claude Code (ou o Codex) para terminar." Não rode `doctor` em seguida.
|
|
19
17
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
CRITICAL: Do not treat this file as the Bootstrap. Use the MCP `arcane` tools; fall back to `agents/ops/OPS-LOCAL.md` only after the MCP refused or failed and that file exists. Without the MCP, the only other local action is the update/connection exception above.
|
|
18
|
+
CRITICAL: Do not treat this file as a guide. Hand the request to the Companion through the MCP `arcane` tools; fall back to `agents/ops/OPS-LOCAL.md` only after the MCP refused or failed and that file exists. Without the MCP, the only other local action is the update/connection exception above.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Freio "trabalhar até o fim" (Stop do Claude Code, 2.8.4).
|
|
4
|
+
*
|
|
5
|
+
* Confere a última resposta da IA antes de ela chegar ao aluno. Se a resposta termina pedindo licença
|
|
6
|
+
* para um passo de rotina ("quer que eu...?", "posso seguir?") ou manda o aluno rodar um comando que
|
|
7
|
+
* ele não pediu para rodar sozinho, devolve a vez à IA uma única vez, para ela fazer e responder de novo.
|
|
8
|
+
*
|
|
9
|
+
* Até a 2.8.3 era um gancho de IA (`type: "prompt"`). Quando ele segurava uma resposta, o Claude Code
|
|
10
|
+
* mostrava ao aluno o texto inteiro das instruções ("Stop hook feedback: [Você confere a última
|
|
11
|
+
* resposta...]"), e não há como esconder. Gancho de comando mostra só o comando e o motivo curto abaixo.
|
|
12
|
+
*
|
|
13
|
+
* Libera: o que é do aluno (senha, código, pagamento, apagar, mensagem a outra pessoa, publicar,
|
|
14
|
+
* GitHub), "Decide: A ou B?", passo a passo que o aluno pediu e relatório de IA da equipe.
|
|
15
|
+
* Qualquer falha sai em silêncio com código 0: o freio nunca trava a conversa.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
'use strict';
|
|
19
|
+
|
|
20
|
+
const fs = require('node:fs');
|
|
21
|
+
|
|
22
|
+
const MOTIVO = 'Auroq: faça você mesmo o que a resposta deixava para o aluno e responda de novo, curto. Não comente esta conferência.';
|
|
23
|
+
const LER_DO_FIM = 512 * 1024;
|
|
24
|
+
|
|
25
|
+
const PEDE_LICENCA = [
|
|
26
|
+
/\b(?:quer|queres|deseja|gostaria)\s+que\s+eu\b[^?\n]{0,160}\?/i,
|
|
27
|
+
/\bposso\s+(?:seguir|continuar|prosseguir|come[cç]ar|fazer|rodar|executar|criar|ajustar|aplicar|corrigir|instalar|configurar|montar|gerar|atualizar|salvar)\b[^?\n]{0,160}\?/i,
|
|
28
|
+
/\b(?:sigo|continuo|prossigo|fa[cç]o|aplico|rodo)\s*\?/i,
|
|
29
|
+
/\bse\s+(?:voc[eê]\s+)?quiser,?\s+(?:eu\s+)?(?:posso|fa[cç]o|j[aá]\s+fa[cç]o)\b/i,
|
|
30
|
+
/\bme\s+(?:avise|avisa|diga|diz|fala)\s+(?:se|quando)\s+(?:quiser|puder|posso)\b/i,
|
|
31
|
+
];
|
|
32
|
+
const MANDA_RODAR = /\b(?:rode|roda|execute|executa|cole|cola|digite|digita)\b[^.\n]{0,80}\b(?:comando|terminal|powershell|prompt de comando)\b/i;
|
|
33
|
+
const DO_ALUNO = /\b(?:senha|c[oó]digo|captcha|biometria|2fa|pagamento|pagar|cart[aã]o|compra|comprar|apagar|excluir|deletar|remover|mensagem|enviar\s+para|mandar\s+para|publicar|publica[cç][aã]o|no\s+ar|github|push|entregar|entregue|decide:)/i;
|
|
34
|
+
const ALUNO_PEDIU_PASSO = /\b(?:eu\s+mesm[oa]|sozinh[oa]|me\s+ensin|passo\s+a\s+passo|como\s+(?:eu\s+)?fa[cç]o|me\s+explic|quero\s+aprender)/i;
|
|
35
|
+
|
|
36
|
+
function lerEntrada() {
|
|
37
|
+
try { return JSON.parse(fs.readFileSync(0, 'utf8') || '{}'); } catch { return {}; }
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function textoDe(conteudo) {
|
|
41
|
+
if (typeof conteudo === 'string') return conteudo;
|
|
42
|
+
if (!Array.isArray(conteudo)) return '';
|
|
43
|
+
return conteudo.filter(p => p && p.type === 'text').map(p => p.text || '').join('\n');
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Lê do transcript a última resposta da IA, o último pedido do aluno e se a conversa é de equipe.
|
|
47
|
+
function lerConversa(caminho) {
|
|
48
|
+
const r = { resposta: '', pedido: '', equipe: false };
|
|
49
|
+
if (!caminho) return r;
|
|
50
|
+
let bruto;
|
|
51
|
+
try {
|
|
52
|
+
const fd = fs.openSync(caminho, 'r');
|
|
53
|
+
try {
|
|
54
|
+
const tam = fs.fstatSync(fd).size;
|
|
55
|
+
const inicio = Math.max(0, tam - LER_DO_FIM);
|
|
56
|
+
const buf = Buffer.alloc(tam - inicio);
|
|
57
|
+
fs.readSync(fd, buf, 0, buf.length, inicio);
|
|
58
|
+
bruto = buf.toString('utf8');
|
|
59
|
+
const cabeca = Buffer.alloc(Math.min(tam, 64 * 1024));
|
|
60
|
+
fs.readSync(fd, cabeca, 0, cabeca.length, 0);
|
|
61
|
+
r.equipe = cabeca.toString('utf8').includes('BRIEFING DA EQUIPE');
|
|
62
|
+
} finally { fs.closeSync(fd); }
|
|
63
|
+
} catch { return r; }
|
|
64
|
+
for (const linha of bruto.split('\n')) {
|
|
65
|
+
let ev;
|
|
66
|
+
try { ev = JSON.parse(linha); } catch { continue; }
|
|
67
|
+
const msg = ev && ev.message;
|
|
68
|
+
if (!msg || ev.isMeta) continue;
|
|
69
|
+
const texto = textoDe(msg.content).trim();
|
|
70
|
+
if (!texto) continue;
|
|
71
|
+
if (ev.type === 'assistant') r.resposta = texto;
|
|
72
|
+
else if (ev.type === 'user' && !texto.startsWith('<')) r.pedido = texto;
|
|
73
|
+
}
|
|
74
|
+
return r;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function deveSegurar(resposta, pedido) {
|
|
78
|
+
if (!resposta) return false;
|
|
79
|
+
// Só o fim da resposta importa: a pergunta de licença costuma fechar a mensagem.
|
|
80
|
+
const fim = resposta.split(/\n\s*\n/).slice(-2).join('\n');
|
|
81
|
+
if (DO_ALUNO.test(fim)) return false;
|
|
82
|
+
if (PEDE_LICENCA.some(re => re.test(fim))) return true;
|
|
83
|
+
if (MANDA_RODAR.test(resposta) && /```/.test(resposta) && !ALUNO_PEDIU_PASSO.test(pedido)) return true;
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function main() {
|
|
88
|
+
const entrada = lerEntrada();
|
|
89
|
+
if (entrada.stop_hook_active) return;
|
|
90
|
+
const conversa = lerConversa(entrada.transcript_path);
|
|
91
|
+
if (conversa.equipe) return;
|
|
92
|
+
const resposta = String(entrada.last_assistant_message || conversa.resposta || '');
|
|
93
|
+
if (!deveSegurar(resposta, conversa.pedido)) return;
|
|
94
|
+
process.stdout.write(JSON.stringify({ decision: 'block', reason: MOTIVO }));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (require.main === module) {
|
|
98
|
+
try { main(); } catch { /* nunca trava a conversa */ }
|
|
99
|
+
process.exit(0);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
module.exports = { deveSegurar };
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
# Agent Authority — Auroq OS
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## O tecnico e do Companion (nao existe Ops desde 23/10/2026)
|
|
4
4
|
|
|
5
|
-
`git push --force` · Pull Request (`gh pr create` / `gh pr merge`) ·
|
|
6
|
-
|
|
5
|
+
`git push --force` (so com ordem explicita do aluno) · Pull Request (`gh pr create` / `gh pr merge`) ·
|
|
6
|
+
MCP add/remove/configure · configurar o computador · atualizar o sistema: o Companion faz, pelas skills
|
|
7
|
+
tecnicas dele (`conserto-tecnico`, `salvar-e-sincronizar`, `publicar-site`, `atualizar-sistema`,
|
|
8
|
+
`configurar-computador`). Squad ou worker que esbarrar nisso passa ao Companion; nunca manda o aluno a
|
|
9
|
+
outro agente.
|
|
7
10
|
|
|
8
|
-
**Salvar, entregar e puxar NAO sao exclusivos.**
|
|
9
|
-
|
|
11
|
+
**Salvar, entregar e puxar NAO sao exclusivos.** Qualquer agente ativo executa o ritual da skill
|
|
12
|
+
`salvar-e-sincronizar` quando o aluno pede, sem troca de agente (`rules/puxar-e-entregar.md`).
|
|
10
13
|
|
|
11
14
|
## Quem faz o que
|
|
12
15
|
|
|
@@ -16,9 +16,9 @@ SEMPRE preferir ferramentas nativas do Claude Code sobre MCP, **exceto** conteú
|
|
|
16
16
|
|
|
17
17
|
## MCP Governance
|
|
18
18
|
|
|
19
|
-
Gestao de MCP servers (add/remove/configure) e **
|
|
19
|
+
Gestao de MCP servers (add/remove/configure) e do **Companion**, pelas skills `conserto-tecnico` e `configurar-computador`.
|
|
20
20
|
|
|
21
|
-
Outros agentes sao **consumidores** de MCP, nao administradores. Se precisar de gestao MCP,
|
|
21
|
+
Outros agentes sao **consumidores** de MCP, nao administradores. Se precisar de gestao MCP, deixar com o Companion.
|
|
22
22
|
|
|
23
23
|
## Quando usar MCP
|
|
24
24
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## Regra principal: fim de tarefa, memoria salva
|
|
6
6
|
|
|
7
|
-
No fim de CADA tarefa concluida, o agente ativo (Companion,
|
|
7
|
+
No fim de CADA tarefa concluida, o agente ativo (Companion, qualquer squad, skill ou a equipe que
|
|
8
8
|
o Companion abre, no Claude ou no Codex) salva sem esperar pedido, antes da resposta final. Com o app
|
|
9
9
|
Auroq OS aberto, a memoria tambem e consolidada sozinha a cada ~30 min e logo que um trabalho termina;
|
|
10
10
|
sem o app (so no terminal), esta regra e o que garante a memoria:
|
|
@@ -45,7 +45,7 @@ SE o Companion percebe comportamento recorrente (so Companion faz isso):
|
|
|
45
45
|
|
|
46
46
|
### 5. Sessao Encerrando
|
|
47
47
|
SE o aluno indica que vai fechar ou pede commit final:
|
|
48
|
-
→
|
|
48
|
+
→ No ritual de salvar (skill `salvar-e-sincronizar`), conferir: contexto e trackers atualizados?
|
|
49
49
|
→ Atualizar `agents/companion/data/contexto-dinamico.md` com onde paramos
|
|
50
50
|
|
|
51
51
|
### 6. Tarefa Concluida
|
|
@@ -6,8 +6,17 @@
|
|
|
6
6
|
## Ordem das ferramentas
|
|
7
7
|
|
|
8
8
|
1. Ferramenta nativa, CLI, API, conector ou MCP próprio da tarefa, já configurado.
|
|
9
|
-
2. Se faltar autenticação: o
|
|
10
|
-
|
|
9
|
+
2. Se faltar autenticação: o cofre do aluno (1Password, cofre `Claude`; ou Infisical, se ele escolheu o grátis)
|
|
10
|
+
antes de pedir ao aluno. Leia com `npx -y auroq-os@latest segredo ler <referência>` (Windows: `npx.cmd`, pois no Codex/PowerShell o `npx` sem `.cmd`
|
|
11
|
+
é bloqueado; serve para os dois cofres; com 1Password, `op read "op://Claude/<Item>/<campo>"` direto também vale)
|
|
12
|
+
e guarde com `segredo gravar` (valor por stdin, nunca em argumento). Nunca rode `segredo ler` sozinho (nem `op read`): leia
|
|
13
|
+
dentro do comando que usa o valor, numa variável (`X="$(npx -y auroq-os@latest segredo ler Item/campo)" && comando "$X"`),
|
|
14
|
+
para o valor não voltar na conversa; para guardar, ligue por pipe a saída de quem gerou o valor. Nunca exponha segredo no chat ou em logs; `business/vault/` guarda só
|
|
15
|
+
status e referência `op://...`, nunca o valor. Cofre ainda não conectado, ou `op`/`segredo` com erro de
|
|
16
|
+
autenticação: conecte você mesmo pela skill `conectar-cofre` (`agents/companion/tasks/conectar-cofre.md`) e
|
|
17
|
+
retome a tarefa. Leia cada credencial uma vez por conversa e reaproveite o valor (a chave tem teto de leituras
|
|
18
|
+
por hora, por minuto ou por dia, conforme o cofre); nunca rode `env`/`printenv` nem abra o arquivo de ambiente
|
|
19
|
+
onde a chave fica.
|
|
11
20
|
3. Web: a superfície oficial conectada ao navegador quando existir (Claude in Chrome no Claude Code;
|
|
12
21
|
Browser ou Chrome no app do ChatGPT/Codex).
|
|
13
22
|
4. Playwright para testes repetíveis, página, console e rede, coleta estruturada ou quando o programa
|
|
@@ -26,7 +26,7 @@ Esta regra se aplica sempre que um agente trabalha em algo relacionado a um proj
|
|
|
26
26
|
|
|
27
27
|
### SE nao existe tracker
|
|
28
28
|
|
|
29
|
-
- Se o projeto esta no cockpit mas nao tem tracker:
|
|
29
|
+
- Se o projeto esta no cockpit mas nao tem tracker: criar o tracker pelo modelo (`business/templates/tracker-template.md`) e avisar o aluno em uma linha ("Criei o acompanhamento do projeto X.")
|
|
30
30
|
- Se o trabalho nao esta relacionado a nenhum projeto do cockpit: trabalhar normalmente sem tracker
|
|
31
31
|
|
|
32
32
|
## O que NAO fazer
|
|
@@ -34,7 +34,7 @@ Esta regra se aplica sempre que um agente trabalha em algo relacionado a um proj
|
|
|
34
34
|
- NAO criar tracker sem o projeto estar no cockpit
|
|
35
35
|
- NAO alterar tarefas de outros agentes (so atualizar as suas)
|
|
36
36
|
- NAO remover entradas do log (log e append-only)
|
|
37
|
-
- NAO mudar o objetivo ou fases do projeto (
|
|
37
|
+
- NAO mudar o objetivo ou as fases do projeto sozinho (quem decide e o aluno; o Companion propoe)
|
|
38
38
|
|
|
39
39
|
## Formato do LOG
|
|
40
40
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Salvar, Entregar e Puxar — Qualquer Agente Executa o Ritual
|
|
1
|
+
# Salvar, Entregar e Puxar — Qualquer Agente Executa o Ritual
|
|
2
2
|
|
|
3
3
|
> O aluno NUNCA precisa trocar de agente pra salvar, entregar ou puxar trabalho.
|
|
4
|
-
> Quem estiver ativo (Companion, Organizer, squad, worker ou Claude sem agente) executa o ritual
|
|
5
|
-
> O
|
|
4
|
+
> Quem estiver ativo (Companion, Organizer, squad, worker ou Claude sem agente) executa o ritual por baixo.
|
|
5
|
+
> O ritual mora na skill `salvar-e-sincronizar` do Companion (nao existe Ops desde 23/10/2026).
|
|
6
6
|
|
|
7
7
|
## Intents (linguagem natural → acao)
|
|
8
8
|
|
|
@@ -29,9 +29,9 @@ Exemplo: `progresso: NDF Workshop fase 1 concluida — LP, flows e criativos pro
|
|
|
29
29
|
Momentos naturais de salvar: fim de sessao, troca de assunto, etapa de projeto
|
|
30
30
|
concluida, decisao importante tomada, antes de fechar o computador.
|
|
31
31
|
|
|
32
|
-
## O ritual — fonte da verdade:
|
|
32
|
+
## O ritual — fonte da verdade: skill `salvar-e-sincronizar` (`agents/companion/tasks/salvar-e-sincronizar.md`)
|
|
33
33
|
|
|
34
|
-
Leia as
|
|
34
|
+
Leia as partes `*commit`, `*pre-push` e `*sync` da skill e execute os passos como estao. O minimo inegociavel:
|
|
35
35
|
|
|
36
36
|
- **SALVAR:** revisar o que mudou → conferir tracker/contexto → mensagem em linguagem de negocio → **mostrar a lista do que vai entrar e ter o OK do aluno** (regra 7) → `git add` SO desses arquivos, um a um (NUNCA `git add -A`/`git add .`, NUNCA `business/vault/`, `.env`, chaves) → commit → confirmar ao aluno em 1 linha.
|
|
37
37
|
- **ENTREGAR:** pre-push OBRIGATORIO (vault/.env fora do staging, `.gitignore` protege, nenhum arquivo gigante, branch certa) → `git push` → confirmar.
|
|
@@ -39,10 +39,10 @@ Leia as secoes `*commit`, `*pre-push` e `*sync` do ops.md e execute os passos co
|
|
|
39
39
|
|
|
40
40
|
## Regras
|
|
41
41
|
|
|
42
|
-
1. Nao pedir troca de agente. Nao dizer "chama o
|
|
42
|
+
1. Nao pedir troca de agente. Nao dizer "chama o tecnico". Faca.
|
|
43
43
|
2. **Nunca entregar (push) sem o aluno pedir.** O sistema so PUXA sozinho (hook de abertura) — entregar e decisao dele.
|
|
44
44
|
3. As travas do pre-push valem pra TODO agente — sao o que impede senha de subir pro GitHub.
|
|
45
|
-
4.
|
|
45
|
+
4. Fica com o Companion (skills tecnicas): `git push --force` (so com ordem explicita do aluno), Pull Request (`gh pr`), MCP/infra, configurar o computador, atualizar o sistema.
|
|
46
46
|
5. O hook de abertura (`.claude/hooks/auroq-sync.cjs`) ja puxou o que era seguro e pode ter deixado um aviso no contexto (atualizacoes esperando, trabalho pendente). Repasse ao aluno em 1-2 linhas, sem drama, e siga.
|
|
47
47
|
6. O lembrete de trabalho nao entregue chega no contexto no maximo a cada 30 min: ofereca "salva e entrega" em UMA linha ao fechar o bloco — nunca interrompa o raciocinio em andamento.
|
|
48
48
|
7. **A pasta e compartilhada; a conversa nao.** Outras janelas, agentes e squads escrevem
|
package/.claude/settings.json
CHANGED
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
{
|
|
7
7
|
"matcher": "startup|resume|clear",
|
|
8
8
|
"hooks": [
|
|
9
|
-
{
|
|
9
|
+
{
|
|
10
|
+
"type": "command",
|
|
11
|
+
"command": "node .claude/hooks/auroq-sync.cjs --session-start",
|
|
12
|
+
"timeout": 25000
|
|
13
|
+
}
|
|
10
14
|
]
|
|
11
15
|
}
|
|
12
16
|
],
|
|
@@ -14,7 +18,22 @@
|
|
|
14
18
|
{
|
|
15
19
|
"matcher": "",
|
|
16
20
|
"hooks": [
|
|
17
|
-
{
|
|
21
|
+
{
|
|
22
|
+
"type": "command",
|
|
23
|
+
"command": "node .claude/hooks/auroq-sync.cjs --remind",
|
|
24
|
+
"timeout": 5000
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"Stop": [
|
|
30
|
+
{
|
|
31
|
+
"hooks": [
|
|
32
|
+
{
|
|
33
|
+
"type": "command",
|
|
34
|
+
"command": "node .claude/hooks/auroq-ate-o-fim.cjs",
|
|
35
|
+
"timeout": 10
|
|
36
|
+
}
|
|
18
37
|
]
|
|
19
38
|
}
|
|
20
39
|
]
|
package/.synapse/agent-ops
CHANGED
|
@@ -6,5 +6,5 @@ OPS_RULE_2=O aluno e leigo em tecnologia — nunca assumir que ele sabe o que e
|
|
|
6
6
|
OPS_RULE_3=Quando o aluno precisar agir, dar receita de bolo: o que fazer, o que colar, o que vai aparecer, como saber que deu certo
|
|
7
7
|
OPS_RULE_4=Uma fase por vez; so avancar quando os checks da fase atual passarem de verdade
|
|
8
8
|
OPS_RULE_5=Detectar o sistema operacional antes de instalar e nunca misturar comandos de Mac e Windows
|
|
9
|
-
OPS_RULE_6=Nunca pedir segredo colado no chat; credencial vai para o 1Password ou
|
|
9
|
+
OPS_RULE_6=Nunca pedir segredo colado no chat; credencial vai para o cofre do aluno (1Password, cofre Claude; ou Infisical se ele escolheu o gratis); nao existe vault local de valores
|
|
10
10
|
OPS_RULE_7=O corpo do Bootstrap vem do MCP arcane — se a tool falhar, mostrar a mensagem e parar, nunca improvisar de memoria
|
package/AGENTS.md
CHANGED
|
@@ -19,12 +19,14 @@ Se alguma instrução antiga desta pasta contradisser estas regras, valem estas.
|
|
|
19
19
|
2. O **Companion** é o chefe da equipe. O aluno fala com ele; ele entende o pedido, escolhe quem faz e entrega.
|
|
20
20
|
3. A equipe (squads, skills, Consultor, forjas e o próprio Companion) chega ao vivo pelo MCP `arcane`,
|
|
21
21
|
catálogos `auroq-core` e `arcane-pack`. Nunca procurar esse conteúdo em `agents/`.
|
|
22
|
-
4.
|
|
22
|
+
4. Não existe técnico à parte: o Companion também instala, atualiza, conserta e conecta ferramentas, pelas
|
|
23
|
+
skills técnicas dele (`conserto-tecnico`, `salvar-e-sincronizar`, `publicar-site`, `atualizar-sistema`,
|
|
24
|
+
`configurar-computador`, `conectar-cofre`, `companion-externo`). O antigo Ops foi aposentado para o aluno.
|
|
23
25
|
5. Memória: `agents/companion/data/` (onde paramos, decisões, pendências), conhecimento em
|
|
24
26
|
`docs/knowledge/`, projetos em `business/cockpit.md` e nos trackers de cada projeto.
|
|
25
27
|
6. Salvar é commit; entregar é mandar para o GitHub privado do aluno.
|
|
26
28
|
7. Não precisa decorar comando: o aluno fala do jeito dele. Atalhos existem (Claude: `/auroq-companion`,
|
|
27
|
-
`/
|
|
29
|
+
`/auroq-consultor`; Codex: `$companion`, `$consultor`).
|
|
28
30
|
8. Como o sistema funciona por dentro (tipos de agente, ciclos, conhecimento, projetos):
|
|
29
31
|
`.auroq-core/como-funciona.md`. Leia só quando o aluno perguntar ou a tarefa precisar.
|
|
30
32
|
|
|
@@ -38,7 +40,7 @@ Se alguma instrução antiga desta pasta contradisser estas regras, valem estas.
|
|
|
38
40
|
(`*contexto`), com a fonte. Dedução nunca vira fato sem o aluno confirmar.
|
|
39
41
|
|
|
40
42
|
Se a ferramenta do MCP `arcane` falhar, mostre a mensagem como veio e pare. Exceções: pedido de
|
|
41
|
-
atualizar o sistema ou consertar a conexão (o
|
|
43
|
+
atualizar o sistema ou consertar a conexão (o Companion roda a manutenção local, skill `atualizar-sistema`) e servidor que recusou o
|
|
42
44
|
acesso quando a pasta do agente existe em `agents/` (aí vale a versão local, avisando em uma linha).
|
|
43
45
|
|
|
44
46
|
**Execução preparada pelo MCP:** Apps, Edição, Edição Euriliana, Carrossel, Tráfego, Low Ticket e Bia
|
|
@@ -49,14 +51,25 @@ nunca como fonte do método.
|
|
|
49
51
|
|
|
50
52
|
## O Companion orquestra sozinho
|
|
51
53
|
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
- **Toda conversa nesta pasta é com o Companion**, o braço direito do aluno (que é o dono da empresa): ele
|
|
55
|
+
entende o pedido, passa para quem faz, acompanha, revisa, manda refazer quando precisa e entrega pronto. O
|
|
56
|
+
aluno nunca precisa chamar squad, skill ou agente. Numa conversa nova, responda ao pedido; o briefing
|
|
57
|
+
completo do Companion só quando o aluno pedir ("onde estamos?").
|
|
58
|
+
- **Pedido de fazer algo de tamanho real** (texto de venda, página, site, anúncios, conteúdo, vídeo, oferta,
|
|
59
|
+
pesquisa), mesmo que seja uma entrega só: antes de começar, carregue a skill `orquestrar` do Companion (MCP
|
|
60
|
+
`arcane`, `squad_passo` com recurso_id `companion` e passo `orquestrar`) e siga. Ela diz como escolher quem
|
|
61
|
+
faz e com qual IA, escrever o briefing, soltar as partes (as independentes ao mesmo tempo, sem teto fixo de
|
|
62
|
+
quantas), acompanhar, revisar e mandar refazer.
|
|
63
|
+
- Conversa, dúvida, decisão junto e ajuste pequeno: o Companion faz direto, sem acionar ninguém.
|
|
64
|
+
- **A dica do aluno manda:** "usa o squad de anúncios", "faz com a skill de carrossel" → siga. Se ele chamou um
|
|
65
|
+
squad ou agente direto, siga o que ele chamou.
|
|
56
66
|
- Para saber quem faz o quê: `catalogo_listar` e `busca` do MCP `arcane`, mais os comandos em
|
|
57
67
|
`.claude/commands/` e o que o aluno criou em `agents/` ou `squads/`.
|
|
68
|
+
- Toda entrega é aberta e conferida antes de ir ao aluno; o que vai a público (página, anúncio, oferta, e-mail
|
|
69
|
+
para lista) passa também pela revisão de outra IA. Diga em uma linha quem trabalhou.
|
|
58
70
|
- O aluno só escolhe quando falta uma decisão de negócio que ninguém consegue tomar por ele.
|
|
59
|
-
-
|
|
71
|
+
- **IA da equipe:** se a conversa começou com "BRIEFING DA EQUIPE", você não é o Companion: faça só a sua
|
|
72
|
+
parte, não monte equipe e devolva o relatório pedido no briefing.
|
|
60
73
|
|
|
61
74
|
## Escopo e autonomia
|
|
62
75
|
|
|
@@ -66,7 +79,12 @@ nunca como fonte do método.
|
|
|
66
79
|
- Antes de perguntar, procure no arquivo, na memória, no histórico ou na ferramenta. Decidiu sozinho:
|
|
67
80
|
diga a suposição em uma linha.
|
|
68
81
|
- Resolva antes de devolver: ferramentas, CLIs, MCPs e logins já configurados primeiro. Credencial vem
|
|
69
|
-
do
|
|
82
|
+
do cofre do aluno, nunca do chat: 1Password (recomendado, cofre `Claude`) ou Infisical (grátis, para
|
|
83
|
+
quem escolheu não pagar). Leitura e gravação por `npx -y auroq-os@latest segredo ler|gravar <referência>`
|
|
84
|
+
(com 1Password, `op read` direto também vale; no Windows use `npx.cmd`, porque no Codex/PowerShell o `npx`
|
|
85
|
+
sem `.cmd` é bloqueado). Nunca rode `segredo ler` sozinho (nem `op read`): leia dentro do comando que usa o
|
|
86
|
+
valor, numa variável (`X="$(npx -y auroq-os@latest segredo ler Item/campo)" && comando "$X"`), para o valor
|
|
87
|
+
não voltar na conversa. Em `business/vault/` fica só status e referência `op://...`, nunca o valor.
|
|
70
88
|
- O que a ferramenta consegue fazer (abrir, clicar, configurar, conferir) é trabalho seu. Para o aluno
|
|
71
89
|
fica só o que é dele: senha pessoal, código do celular, CAPTCHA, pagamento ou decisão de negócio.
|
|
72
90
|
Nesse caso, peça uma ação mínima, como receita de bolo: o que fazer, o que vai aparecer, como saber
|
|
@@ -79,6 +97,10 @@ nunca como fonte do método.
|
|
|
79
97
|
conectado; depois Playwright; Computer Use por último (detalhe em `.claude/rules/operacao-autonoma.md`).
|
|
80
98
|
- Trabalho longo: checklist em arquivo (o tracker do projeto ou o documento de trabalho), marcado item
|
|
81
99
|
a item; retome por ele, não pela memória da conversa.
|
|
100
|
+
- **Trabalhe até o fim.** Antes de terminar cada resposta, duas conferências (no Claude Code o sistema também
|
|
101
|
+
confere sozinho): o que vou dizer que está pronto, eu conferi de verdade? Estou devolvendo ao aluno algo
|
|
102
|
+
que eu mesmo consigo fazer (comando para ele rodar, clique, "próximos passos", "quer que eu siga?")? Se sim,
|
|
103
|
+
faça antes de responder.
|
|
82
104
|
|
|
83
105
|
## Travas
|
|
84
106
|
|
|
@@ -87,7 +109,7 @@ Sem ordem explícita do aluno para aquela ação, nunca:
|
|
|
87
109
|
- gastar dinheiro, comprar ou assinar serviço;
|
|
88
110
|
- mandar mensagem, e-mail, post ou qualquer envio para cliente, lead ou outra pessoa;
|
|
89
111
|
- apagar dado ou arquivo do aluno;
|
|
90
|
-
- reescrever o histórico do git (`git push --force`
|
|
112
|
+
- reescrever o histórico do git (`git push --force`);
|
|
91
113
|
- mostrar, copiar ou trocar senha, token ou chave.
|
|
92
114
|
|
|
93
115
|
A ordem vale para aquela ação, não para as próximas. Se uma parte do pedido cair numa trava, diga na
|
|
@@ -106,6 +128,8 @@ mesma resposta que essa parte não foi feita e por quê; nunca pule em silêncio
|
|
|
106
128
|
|
|
107
129
|
## Salvar e entregar
|
|
108
130
|
|
|
131
|
+
- Com o app Auroq OS aberto, o próprio app salva e entrega no GitHub privado sozinho, a cada 15 minutos, ao
|
|
132
|
+
abrir e ao fechar. As regras abaixo valem quando o aluno pede para salvar na hora e sem o app.
|
|
109
133
|
- Qualquer agente salva, entrega e puxa quando o aluno pede ("salva", "entrega", "puxa"), sem mandar
|
|
110
134
|
trocar de agente. O ritual completo está em `.claude/rules/puxar-e-entregar.md`.
|
|
111
135
|
- Antes de salvar: `git status --short`, separe o que esta conversa mexeu, mostre a lista em linguagem
|
|
@@ -141,13 +165,17 @@ mesma resposta que essa parte não foi feita e por quê; nunca pule em silêncio
|
|
|
141
165
|
- Decisão só quando nenhuma ferramenta resolve, assim: **Decide: A ou B?** A → o que acontece.
|
|
142
166
|
B → o que acontece.
|
|
143
167
|
- Sem preâmbulo, bajulação, emoji ou tabela quando uma frase resolve. Não termine oferecendo mais.
|
|
168
|
+
- Fale pouco: o aluno é leigo e ocupado. Nada de bastidor (comando, caminho técnico, nome de ferramenta) que
|
|
169
|
+
ele não pediu, nem as palavras worker, terminal, token, subagente, orquestração, briefing ou MCP.
|
|
170
|
+
- Durante um trabalho que demora, no máximo uma linha de vez em quando: o que está acontecendo e o que você
|
|
171
|
+
está fazendo ("Página pronta e revisada; os anúncios estão na segunda volta").
|
|
144
172
|
- Resposta que fez trabalho termina com duas linhas curtas: **Resumo:** do que se trata a conversa e o
|
|
145
|
-
que já ficou feito; **Onde parou:** o que
|
|
146
|
-
(ou "fechado, nada pendente"). Pergunta simples respondida em uma frase dispensa.
|
|
173
|
+
que já ficou feito; **Onde parou:** o que está pronto, o que segue rodando, o que ainda não (e por quê) e o
|
|
174
|
+
que espera pelo aluno (ou "fechado, nada pendente"). Pergunta simples respondida em uma frase dispensa.
|
|
147
175
|
|
|
148
176
|
## Privacidade
|
|
149
177
|
|
|
150
|
-
Sua memória e seus documentos ficam na sua máquina e no seu GitHub privado (senhas e `business/vault/`
|
|
178
|
+
Sua memória e seus documentos ficam na sua máquina e no seu GitHub privado (senhas e chaves ficam só no seu cofre, o 1Password ou, se você escolheu o grátis, o Infisical; `business/vault/` guarda apenas status e referências, nunca o valor). O histórico das sessões com os squads está previsto nos Termos de Uso: vem ligado para quem aceita os termos na plataforma (quem já tinha dito "não" continua sem gravar) e você desliga quando quiser em Minha Conta, "Guardar minhas conversas". Se a pasta do seu negócio tem dados de clientes, desligue. Além disso, a Arka registra qual conteúdo licenciado foi entregue, quando e pra qual conta — igual a uma nota de entrega.
|
|
151
179
|
|
|
152
180
|
## Onde o aluno customiza
|
|
153
181
|
|
|
@@ -161,7 +189,7 @@ Sua memória e seus documentos ficam na sua máquina e no seu GitHub privado (se
|
|
|
161
189
|
- O Codex não carrega `.claude/rules/` sozinho. Quando o assunto aparecer, leia a regra: salvar e
|
|
162
190
|
entregar em `puxar-e-entregar.md`, memória em `memoria-inteligente.md`, projetos em
|
|
163
191
|
`project-tracker.md`, ferramentas em `operacao-autonoma.md` e `mcp-usage.md`. As skills do Codex
|
|
164
|
-
ficam em `.agents/skills/` (
|
|
192
|
+
ficam em `.agents/skills/` (refaz com `node scripts/sync-codex-skills.mjs --clean`).
|
|
165
193
|
- O Grok lê `.claude/rules/` e `.claude/commands/`, mas o conteúdo ao vivo do MCP `arcane` não está
|
|
166
194
|
garantido nele.
|
|
167
195
|
- Use um programa por conversa. Antes de trocar entre Claude Code, Codex e Grok, salve onde parou.
|