auroq-os 2.2.1 → 2.2.3
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/.claude/commands/AuroqOS/agents/ops.md +11 -7
- package/.claude/hooks/auroq-sync.cjs +127 -0
- package/.claude/rules/agent-authority.md +8 -6
- package/.claude/rules/puxar-e-entregar.md +31 -0
- package/.claude/settings.json +21 -1
- package/AGENTS.md +45 -26
- package/README.md +17 -7
- package/agents/companion/agents/companion.md +4 -3
- package/bin/auroq-os.js +7 -3
- package/package.json +1 -1
|
@@ -94,13 +94,16 @@ commands:
|
|
|
94
94
|
## AUTORIDADE EXCLUSIVA
|
|
95
95
|
|
|
96
96
|
Ops e o UNICO agente autorizado a executar:
|
|
97
|
-
- `git push
|
|
97
|
+
- `git push --force`
|
|
98
98
|
- `gh pr create` / `gh pr merge`
|
|
99
99
|
- MCP add/remove/configure
|
|
100
100
|
- Environment bootstrap
|
|
101
|
+
- `*update-auroq` / `*update-packarcane`
|
|
101
102
|
|
|
102
103
|
Qualquer outro agente que precise dessas operacoes DEVE delegar pro Ops.
|
|
103
104
|
|
|
105
|
+
**Salvar, entregar e puxar NAO sao exclusivos.** O Ops e o DONO do ritual (`*commit`, `*pre-push`, `*sync`), mas QUALQUER agente ativo executa esse ritual quando o expert pede em linguagem natural ("salva", "entrega", "puxa") — ver `.claude/rules/puxar-e-entregar.md`. O expert nunca precisa trocar de agente pra isso. O hook `.claude/hooks/auroq-sync.cjs` puxa sozinho ao abrir a sessao quando e seguro e lembra de trabalho nao entregue; nunca entrega sozinho.
|
|
106
|
+
|
|
104
107
|
## OPERACOES
|
|
105
108
|
|
|
106
109
|
### *commit (Ritual de Incrementacao)
|
|
@@ -171,7 +174,7 @@ Se expert pedir `*push` junto ou se faz sentido:
|
|
|
171
174
|
5. Verificar sucesso
|
|
172
175
|
|
|
173
176
|
### *sync
|
|
174
|
-
Puxar as atualizacoes do GitHub — inicio de sessao, especialmente quando o expert trabalha em mais de uma maquina ou com colaborador.
|
|
177
|
+
Puxar as atualizacoes do GitHub — inicio de sessao, especialmente quando o expert trabalha em mais de uma maquina ou com colaborador. Ao abrir a sessao o hook `auroq-sync` ja puxa sozinho quando e seguro; `*sync` e o caminho explicito — e o que QUALQUER agente executa quando o expert diz "puxa" (rule puxar-e-entregar).
|
|
175
178
|
|
|
176
179
|
**Passo 1 — Proteger trabalho local (commit antes de pull, SEMPRE)**
|
|
177
180
|
1. `git status` — tem mudancas locais nao commitadas?
|
|
@@ -210,13 +213,13 @@ O Auroq nao mora no computador — mora no GitHub. Cada maquina e so uma cadeira
|
|
|
210
213
|
- Prova de que deu certo: ativar o Companion e perguntar algo que so a outra maquina sabia
|
|
211
214
|
|
|
212
215
|
**Ritual diario (toda maquina, toda sessao):**
|
|
213
|
-
-
|
|
214
|
-
- A
|
|
216
|
+
- Abriu o claude na pasta → o hook `auroq-sync` PUXA sozinho o que chegou (so se nao ha trabalho local em risco) e deixa o resumo no contexto — repasse ao expert em 1-2 linhas. Levantou → o expert diz "salva e entrega" pra QUALQUER agente ativo (rule puxar-e-entregar); `*sync`/`*commit`/`*push` seguem como atalhos
|
|
217
|
+
- A unica coisa que continua na mao do expert e ENTREGAR — o sistema nunca entrega sozinho, mas lembra (no maximo a cada 30 min) quando ha trabalho nao entregue
|
|
215
218
|
- Nunca sincronizar por WhatsApp, Drive ou pendrive — cria copia paralela sem dono
|
|
216
219
|
|
|
217
220
|
**Colaborador (pessoa diferente):**
|
|
218
221
|
- Colaborador NAO precisa ser aluno da mentoria (politica oficial, 05/08/2026). O acesso dele e o convite do GitHub; o `npx auroq-os clone` nao pede login de aluno
|
|
219
|
-
- Quem atualiza o SISTEMA e o dono (o *update-auroq exige aluno ativo) — o colaborador recebe as atualizacoes automaticamente
|
|
222
|
+
- Quem atualiza o SISTEMA e o dono (o *update-auroq exige aluno ativo) — o colaborador recebe as atualizacoes automaticamente ao abrir o claude (o hook puxa), porque o update vira commit no repo
|
|
220
223
|
- Regra: CONVITE, NUNCA SENHA. GitHub: Settings > Collaborators (repo continua privado). Claude Code: assinatura PROPRIA dele. Vercel/Supabase: convite pro time SO se mexe em infra
|
|
221
224
|
- Credenciais de squad: cofre separado no 1Password (ex: "Equipe") com SO o que ele precisa — nunca o cofre pessoal do expert
|
|
222
225
|
- Avisar o expert ANTES de convidar: quem entra no repo le TUDO, inclusive a memoria do Companion — e o Companion da maquina do colaborador ESCREVE na mesma memoria. Regua: convida pro repo quem pode ler o diario do negocio. Freelancer pontual entrega por Drive, nao entra no repo
|
|
@@ -269,7 +272,8 @@ A validacao e ONLINE e obrigatoria, sem fallback offline — e a mesma trava do
|
|
|
269
272
|
- `.claude/commands/AuroqOS/` — agentes core (ops.md)
|
|
270
273
|
- `.claude/commands/` — meta squads (squad-forge.md, mind-forge.md, worker-forge.md, clone-forge.md, etlmaker.md)
|
|
271
274
|
- `.claude/rules/` — todas as rules
|
|
272
|
-
- `.claude/hooks/` — synapse-engine.cjs, precompact
|
|
275
|
+
- `.claude/hooks/` — synapse-engine.cjs, precompact, auroq-sync.cjs (sync automatico ao abrir)
|
|
276
|
+
- `.claude/settings.json` — hooks do framework (SessionStart/UserPromptSubmit do auroq-sync) — sobrescrever
|
|
273
277
|
- `.claude/settings.local.json` — hooks registrados
|
|
274
278
|
- `AGENTS.md` — regras e contexto do Codex
|
|
275
279
|
- `scripts/sync-codex-skills.mjs` e `scripts/validate-hybrid.mjs` — ponte Codex
|
|
@@ -1735,7 +1739,7 @@ GITHUB:
|
|
|
1735
1739
|
DICA: *commit e o comando mais importante. Use no final de cada sessao.
|
|
1736
1740
|
"Commit e o botao salvar do sistema."
|
|
1737
1741
|
|
|
1738
|
-
RITUAL MULTI-MAQUINA:
|
|
1742
|
+
RITUAL MULTI-MAQUINA: Abriu → puxa sozinho · Levantou → "salva e entrega" (qualquer agente)
|
|
1739
1743
|
Segunda maquina ou colaborador? O caminho e "npx auroq-os clone" (nunca init).
|
|
1740
1744
|
```
|
|
1741
1745
|
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
3
|
+
/**
|
|
4
|
+
* Auroq OS — Sync Hook
|
|
5
|
+
*
|
|
6
|
+
* --session-start (SessionStart) checa o GitHub ao abrir; PUXA se for seguro; relata o que chegou
|
|
7
|
+
* --remind (UserPromptSubmit) lembra, com moderacao, de trabalho nao entregue
|
|
8
|
+
*
|
|
9
|
+
* Regras de ouro:
|
|
10
|
+
* - Nunca bloqueia a sessao (sempre exit 0) e fica em silencio quando nao ha o que dizer.
|
|
11
|
+
* - So PUXA quando nao ha trabalho local em risco (working tree limpo, nada por enviar).
|
|
12
|
+
* - NUNCA entrega (commit/push) sozinho — entregar e decisao do expert.
|
|
13
|
+
* - Estado fica fora do repositorio (tmpdir) — nunca suja o git do aluno.
|
|
14
|
+
* - Cross-platform (Mac/Windows/Linux): git via execFileSync, sem shell.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
const path = require('path');
|
|
18
|
+
const fs = require('fs');
|
|
19
|
+
const os = require('os');
|
|
20
|
+
const crypto = require('crypto');
|
|
21
|
+
const { execFileSync } = require('child_process');
|
|
22
|
+
|
|
23
|
+
const MODE = process.argv[2] || '--session-start';
|
|
24
|
+
const CWD = process.cwd();
|
|
25
|
+
const STATE_FILE = path.join(os.tmpdir(), 'auroq-sync', crypto.createHash('md5').update(CWD).digest('hex') + '.json');
|
|
26
|
+
const REMIND_AFTER_MS = 30 * 60 * 1000; // lembra quando ha trabalho nao entregue ha 30 min
|
|
27
|
+
const REMIND_EVERY_MS = 30 * 60 * 1000; // e no maximo 1 vez a cada 30 min
|
|
28
|
+
|
|
29
|
+
function git(args, timeout) {
|
|
30
|
+
return execFileSync('git', args, { cwd: CWD, encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'], timeout: timeout || 5000 }).trim();
|
|
31
|
+
}
|
|
32
|
+
function tryGit(args, timeout) { try { return git(args, timeout); } catch { return null; } }
|
|
33
|
+
|
|
34
|
+
function emit(eventName, text) {
|
|
35
|
+
if (!text) return;
|
|
36
|
+
process.stdout.write(JSON.stringify({ hookSpecificOutput: { hookEventName: eventName, additionalContext: text } }));
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function readState() { try { return JSON.parse(fs.readFileSync(STATE_FILE, 'utf8')); } catch { return {}; } }
|
|
40
|
+
function writeState(s) { try { fs.mkdirSync(path.dirname(STATE_FILE), { recursive: true }); fs.writeFileSync(STATE_FILE, JSON.stringify(s)); } catch { /* silencioso */ } }
|
|
41
|
+
|
|
42
|
+
function isRepo() { return fs.existsSync(path.join(CWD, '.git')) && tryGit(['rev-parse', '--is-inside-work-tree']) === 'true'; }
|
|
43
|
+
function hasRemote() { const r = tryGit(['remote']); return !!(r && r.length); }
|
|
44
|
+
function dirtyFiles() { const out = tryGit(['status', '--porcelain']); return out ? out.split('\n').filter(Boolean) : []; }
|
|
45
|
+
function upstream() { return tryGit(['rev-parse', '--abbrev-ref', '--symbolic-full-name', '@{u}']); }
|
|
46
|
+
function countRange(range) { const n = tryGit(['rev-list', '--count', range]); return n === null ? 0 : (parseInt(n, 10) || 0); }
|
|
47
|
+
function describeCommits(range, limit) {
|
|
48
|
+
const out = tryGit(['log', '--no-merges', '--format=%an|%s', range, `-${limit || 8}`]) || '';
|
|
49
|
+
return out.split('\n').filter(Boolean).map(l => { const i = l.indexOf('|'); return `- ${l.slice(0, i)}: ${l.slice(i + 1)}`; });
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function sessionStart() {
|
|
53
|
+
if (!isRepo() || !hasRemote()) return;
|
|
54
|
+
const up = upstream();
|
|
55
|
+
if (!up) return;
|
|
56
|
+
const dirty = dirtyFiles();
|
|
57
|
+
if (tryGit(['fetch', '--quiet'], 8000) === null) {
|
|
58
|
+
emit('SessionStart', '[Auroq sync] Nao consegui checar o GitHub agora (sem conexao?). O trabalho local esta intacto. So mencione se o expert perguntar de sincronizacao.');
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const behind = countRange(`HEAD..${up}`);
|
|
62
|
+
const ahead = countRange(`${up}..HEAD`);
|
|
63
|
+
const lines = [];
|
|
64
|
+
|
|
65
|
+
if (behind > 0 && dirty.length === 0 && ahead === 0) {
|
|
66
|
+
const before = tryGit(['rev-parse', 'HEAD']);
|
|
67
|
+
if (tryGit(['pull', '--ff-only', '--quiet'], 10000) !== null) {
|
|
68
|
+
lines.push(`[Auroq sync] Puxei ${behind} atualizacao(oes) do GitHub automaticamente ao abrir a sessao. O que chegou:`);
|
|
69
|
+
lines.push(...describeCommits(`${before}..HEAD`));
|
|
70
|
+
lines.push('Informe o expert em 1-3 linhas, em portugues de negocio (traduza as mensagens de commit; cite o autor quando houver colaborador). Se algo tocar no que ele vai fazer agora, aponte.');
|
|
71
|
+
} else {
|
|
72
|
+
lines.push(`[Auroq sync] Ha ${behind} atualizacao(oes) no GitHub que nao consegui puxar sozinho (historico divergiu). Sugira ao expert: "puxa as atualizacoes" — o ritual de sync (rule puxar-e-entregar) resolve com ele.`);
|
|
73
|
+
}
|
|
74
|
+
} else if (behind > 0) {
|
|
75
|
+
lines.push(`[Auroq sync] Ha ${behind} atualizacao(oes) no GitHub, mas NAO puxei: existe trabalho local nao entregue (${dirty.length} arquivo(s) alterado(s)${ahead ? `, ${ahead} commit(s) nao enviado(s)` : ''}). Puxar agora poderia misturar coisa pela metade.`);
|
|
76
|
+
lines.push('Diga ao expert em 1-2 linhas: ha atualizacoes esperando; primeiro "salva e entrega" o que ficou pendente, depois "puxa". Se ele pedir, execute o ritual (rule puxar-e-entregar) sem trocar de agente.');
|
|
77
|
+
} else if (ahead > 0 && dirty.length === 0) {
|
|
78
|
+
lines.push(`[Auroq sync] Em dia com o GitHub, mas ha ${ahead} commit(s) salvo(s) e NAO entregue(s) (push pendente). Ofereca em 1 linha: "quer que eu entregue pro GitHub agora?"`);
|
|
79
|
+
} else if (dirty.length > 0) {
|
|
80
|
+
lines.push(`[Auroq sync] Sem novidades no GitHub, mas ha trabalho local nao entregue de uma sessao anterior (${dirty.length} arquivo(s)). Mencione em 1 linha e siga; quando ele fechar um bloco, ofereca "salva e entrega".`);
|
|
81
|
+
} else {
|
|
82
|
+
lines.push('[Auroq sync] Tudo em dia com o GitHub. Nao precisa mencionar, a menos que o expert pergunte.');
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const st = readState();
|
|
86
|
+
st.dirtySince = dirty.length ? (st.dirtySince || Date.now()) : 0;
|
|
87
|
+
st.lastRemind = 0;
|
|
88
|
+
writeState(st);
|
|
89
|
+
emit('SessionStart', lines.join('\n'));
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function remind() {
|
|
93
|
+
if (!isRepo()) return;
|
|
94
|
+
const dirty = dirtyFiles();
|
|
95
|
+
const up = upstream();
|
|
96
|
+
const ahead = up ? countRange(`${up}..HEAD`) : 0;
|
|
97
|
+
const st = readState();
|
|
98
|
+
const now = Date.now();
|
|
99
|
+
if (dirty.length === 0 && ahead === 0) {
|
|
100
|
+
if (st.dirtySince) { st.dirtySince = 0; writeState(st); }
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (!st.dirtySince) { st.dirtySince = now; writeState(st); return; }
|
|
104
|
+
if (now - st.dirtySince < REMIND_AFTER_MS) return;
|
|
105
|
+
if (st.lastRemind && now - st.lastRemind < REMIND_EVERY_MS) return;
|
|
106
|
+
st.lastRemind = now;
|
|
107
|
+
writeState(st);
|
|
108
|
+
const mins = Math.round((now - st.dirtySince) / 60000);
|
|
109
|
+
emit('UserPromptSubmit', `[Auroq lembrete] Ha trabalho nao entregue ha ~${mins} min (${dirty.length} arquivo(s) alterado(s)${ahead ? `, ${ahead} commit(s) sem push` : ''}). NAO interrompa o raciocinio atual. Ao fechar o bloco em andamento, ofereca em UMA linha: "quer que eu salve e entregue pro GitHub?". Nunca entregue sem o expert pedir.`);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
let ran = false;
|
|
113
|
+
function main() {
|
|
114
|
+
if (ran) return;
|
|
115
|
+
ran = true;
|
|
116
|
+
try { if (MODE === '--remind') remind(); else sessionStart(); }
|
|
117
|
+
catch (e) { console.error(`[auroq-sync] ${e.message}`); }
|
|
118
|
+
process.exit(0);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// Consome o JSON que o Claude Code envia no stdin (nao depende dele) e roda no fim;
|
|
122
|
+
// fallback por timer garante execucao mesmo se o stdin nao fechar.
|
|
123
|
+
process.stdin.resume();
|
|
124
|
+
process.stdin.on('data', () => {});
|
|
125
|
+
process.stdin.on('end', main);
|
|
126
|
+
process.stdin.on('error', main);
|
|
127
|
+
setTimeout(main, 400).unref();
|
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
|
|
7
7
|
| Operacao | Exclusivo? | Outros Agentes |
|
|
8
8
|
|----------|-----------|--------------|
|
|
9
|
-
| `git push
|
|
9
|
+
| `git push --force` | SIM | BLOQUEADO |
|
|
10
|
+
| `git commit` / `git push` / `git pull` (salvar, entregar, puxar) | NAO — Ops e o DONO do ritual | QUALQUER agente executa o ritual do Ops (`rules/puxar-e-entregar.md`), sem pedir troca de agente |
|
|
10
11
|
| `gh pr create` / `gh pr merge` | SIM | BLOQUEADO |
|
|
11
12
|
| MCP add/remove/configure | SIM | BLOQUEADO |
|
|
12
13
|
| Environment bootstrap | SIM | BLOQUEADO |
|
|
13
|
-
| Commit inteligente (ritual
|
|
14
|
+
| Commit inteligente (definicao do ritual) | SIM (dono) | Outros agentes EXECUTAM o ritual quando o expert pede |
|
|
14
15
|
|
|
15
16
|
### Companion — Cerebro do Sistema
|
|
16
17
|
|
|
@@ -47,7 +48,7 @@
|
|
|
47
48
|
|
|
48
49
|
| Permitido | Bloqueado |
|
|
49
50
|
|---------|---------|
|
|
50
|
-
| `git add`, `git commit`, `git status` | `git push` (
|
|
51
|
+
| `git add`, `git commit`, `git status`, `git push`/`pull` (pelo ritual do Ops, com pre-push) | `git push --force` (so Ops) |
|
|
51
52
|
| `git branch`, `git checkout` (local) | `gh pr create/merge` (delegar pra Ops) |
|
|
52
53
|
| Execucao de tasks operacionais | Criar novos agentes (delegar pro Meta Squad adequado) |
|
|
53
54
|
| Atualizacao de documentos de trabalho | Decisoes estrategicas (delegar pro Expert) |
|
|
@@ -56,15 +57,16 @@
|
|
|
56
57
|
|
|
57
58
|
| Permitido | Bloqueado |
|
|
58
59
|
|---------|---------|
|
|
59
|
-
| Executar pipeline completo com quality gates | `git push` (
|
|
60
|
+
| Executar pipeline completo com quality gates | `git push --force` / PR (so Ops) |
|
|
60
61
|
| Criar documentos de output | Criar novos agentes (delegar pro Meta Squad adequado) |
|
|
61
62
|
| Atualizar KBs e skills | Decisoes fora do escopo do squad |
|
|
62
63
|
|
|
63
64
|
## Cross-Agent Delegation
|
|
64
65
|
|
|
65
|
-
###
|
|
66
|
+
### Salvar / Entregar / Puxar Flow
|
|
66
67
|
```
|
|
67
|
-
|
|
68
|
+
Expert pede ("salva", "entrega", "puxa") → o agente ATIVO executa o ritual do Ops (rules/puxar-e-entregar.md)
|
|
69
|
+
Abertura de sessao → hook auroq-sync puxa sozinho se for seguro (nunca entrega sozinho)
|
|
68
70
|
```
|
|
69
71
|
|
|
70
72
|
### Novo Agente Flow
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Puxar e Entregar — Qualquer Agente Executa o Ritual do Ops
|
|
2
|
+
|
|
3
|
+
> O expert 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 do Ops por baixo.
|
|
5
|
+
> O Ops continua sendo o DONO do ritual; os outros agentes o executam.
|
|
6
|
+
|
|
7
|
+
## Intents (linguagem natural → acao)
|
|
8
|
+
|
|
9
|
+
| O expert diz (exemplos) | Acao |
|
|
10
|
+
|-------------------------|------|
|
|
11
|
+
| "salva", "guarda isso", "faz checkpoint", "commita" | SALVAR (commit inteligente) |
|
|
12
|
+
| "entrega", "manda pro GitHub", "sobe", "faz push" | ENTREGAR (push com pre-push) |
|
|
13
|
+
| "salva e entrega", "fecha o dia", "acabei por hoje" | SALVAR + ENTREGAR |
|
|
14
|
+
| "puxa", "atualiza do GitHub", "traz o que mudou", "sync" | PUXAR (sync) |
|
|
15
|
+
|
|
16
|
+
## O ritual — fonte da verdade: `.claude/commands/AuroqOS/agents/ops.md`
|
|
17
|
+
|
|
18
|
+
Leia as secoes `*commit`, `*pre-push` e `*sync` do ops.md e execute os passos como estao. O minimo inegociavel:
|
|
19
|
+
|
|
20
|
+
- **SALVAR:** revisar o que mudou → conferir tracker/contexto → mensagem em linguagem de negocio (`progresso:`, `decisao:`, `campanha:`...) → `git add` dos arquivos relevantes (NUNCA `business/vault/`, `.env`, chaves) → commit → confirmar ao expert em 1 linha.
|
|
21
|
+
- **ENTREGAR:** pre-push OBRIGATORIO (vault/.env fora do staging, `.gitignore` protege, nenhum arquivo gigante, branch certa) → `git push` → confirmar.
|
|
22
|
+
- **PUXAR:** se ha trabalho local, SALVAR primeiro (commit antes de pull, sempre) → `git fetch` → `git pull` (merge — nunca rebase com o expert) → relatar em portugues o que chegou (autor + o que fez) → conflito: conduzir com o expert, mostrando as duas versoes; em `agents/companion/data/` a resposta quase sempre e juntar as duas.
|
|
23
|
+
|
|
24
|
+
## Regras
|
|
25
|
+
|
|
26
|
+
1. Nao pedir troca de agente. Nao dizer "chama o Ops". Faca.
|
|
27
|
+
2. **Nunca entregar (push) sem o expert pedir.** O sistema so PUXA sozinho (hook de abertura) — entregar e decisao dele.
|
|
28
|
+
3. As travas do pre-push valem pra TODO agente — sao o que impede senha de subir pro GitHub.
|
|
29
|
+
4. Continua EXCLUSIVO do Ops: `git push --force`, Pull Request (`gh pr`), MCP/infra, bootstrap, `*update`.
|
|
30
|
+
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 expert em 1-2 linhas, sem drama, e siga.
|
|
31
|
+
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.
|
package/.claude/settings.json
CHANGED
|
@@ -1 +1,21 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"language": "portuguese",
|
|
3
|
+
"hooks": {
|
|
4
|
+
"SessionStart": [
|
|
5
|
+
{
|
|
6
|
+
"matcher": "startup|resume|clear",
|
|
7
|
+
"hooks": [
|
|
8
|
+
{ "type": "command", "command": "node .claude/hooks/auroq-sync.cjs --session-start", "timeout": 25000 }
|
|
9
|
+
]
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"UserPromptSubmit": [
|
|
13
|
+
{
|
|
14
|
+
"matcher": "",
|
|
15
|
+
"hooks": [
|
|
16
|
+
{ "type": "command", "command": "node .claude/hooks/auroq-sync.cjs --remind", "timeout": 5000 }
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
}
|
package/AGENTS.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
# AGENTS.md — Auroq OS (Codex
|
|
1
|
+
# AGENTS.md — Auroq OS (Claude / Codex / Grok)
|
|
2
2
|
|
|
3
|
-
Este arquivo define as instrucoes do projeto para
|
|
3
|
+
Este arquivo define as instrucoes do projeto para qualquer harness CLI
|
|
4
|
+
suportado: **Claude Code**, **Codex CLI** e **Grok Build**.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
- **Claude Code** e **Grok** carregam `.claude/CLAUDE.md`, `.claude/rules/`,
|
|
7
|
+
`.claude/commands/` e este `AGENTS.md` de forma nativa (Grok via compat Claude).
|
|
8
|
+
- **Codex** nao carrega `.claude/*` sozinho — entao este arquivo replica o
|
|
9
|
+
essencial e as skills em `.agents/skills/` (via sync) completam a descoberta.
|
|
8
10
|
|
|
9
11
|
---
|
|
10
12
|
|
|
@@ -26,7 +28,9 @@ terminal, com agentes especializados pra cada coisa. Constitution formal em
|
|
|
26
28
|
|
|
27
29
|
---
|
|
28
30
|
|
|
29
|
-
## Como ativar os agentes
|
|
31
|
+
## Como ativar os agentes por harness
|
|
32
|
+
|
|
33
|
+
### Codex CLI (`$nome`)
|
|
30
34
|
|
|
31
35
|
As skills ativaveis vivem em `.agents/skills/`, local oficial de skills de
|
|
32
36
|
repositorio do Codex, e sao geradas por
|
|
@@ -35,21 +39,36 @@ negocio e evita colisao entre projetos. A instalacao global existe apenas como
|
|
|
35
39
|
opcao explicita em `~/.agents/skills/` via `npm run sync:codex:global`. Digite `$nome` pra ativar. Depois de
|
|
36
40
|
criar ou atualizar um agente, rode o sync de novo pra a skill aparecer.
|
|
37
41
|
|
|
42
|
+
### Claude Code e Grok Build
|
|
43
|
+
|
|
44
|
+
Nao dependem do sync Codex. Use os comandos em `.claude/commands/`
|
|
45
|
+
(`/auroq-companion`, `/auroq-squad-forge`, etc.) ou peca pra ativar pelo nome
|
|
46
|
+
(`@companion`, "ativa o ops"). Fonte de verdade continua o arquivo do comando e
|
|
47
|
+
a persona em `agents/<nome>/` (Ops: `.claude/commands/AuroqOS/agents/ops.md`).
|
|
48
|
+
|
|
49
|
+
**Grok em especial:** le a camada Claude por padrao e **nao** descobre
|
|
50
|
+
`~/.codex/skills` nem exige `sync:codex`. Se algo so existir como skill Codex e
|
|
51
|
+
nao em `.claude/commands/`, rode o sync Codex no projeto (nao muda o Grok) ou
|
|
52
|
+
ative lendo a persona em `agents/<nome>/` direto.
|
|
53
|
+
|
|
54
|
+
### Tabela de agentes
|
|
55
|
+
|
|
38
56
|
| Agente | Ativacao | O que faz |
|
|
39
57
|
|--------|----------|-----------|
|
|
40
|
-
| Companion | `$companion` | parceiro cognitivo — situa, lembra, pensa junto, roteia |
|
|
41
|
-
| Ops | `$ops` | git, commit, push, deploy, ambiente, `*update` do framework |
|
|
42
|
-
| Organizer | `$organizer` | organizacao e backup do sistema |
|
|
43
|
-
| Consultor | `$consultor` | guia do sistema — "como opero?", "como faço X?", duvidas |
|
|
44
|
-
| Squad Forge | `$squad-forge` | cria squads multi-agente |
|
|
45
|
-
| Mind Forge | `$mind-forge` | cria mentes sinteticas |
|
|
46
|
-
| Worker Forge | `$worker-forge` | cria workers |
|
|
47
|
-
| Clone Forge | `$clone-forge` | clona mentes reais |
|
|
48
|
-
| ETLmaker | `$etlmaker` | extrai e estrutura conhecimento |
|
|
49
|
-
|
|
50
|
-
Qualquer squad/agente que voce criar tambem vira skill no proximo sync
|
|
51
|
-
|
|
52
|
-
|
|
58
|
+
| Companion | `$companion` / `/auroq-companion` | parceiro cognitivo — situa, lembra, pensa junto, roteia |
|
|
59
|
+
| Ops | `$ops` / `@ops` | git, commit, push, deploy, ambiente, `*update` do framework |
|
|
60
|
+
| Organizer | `$organizer` / `/auroq-organizer` | organizacao e backup do sistema |
|
|
61
|
+
| Consultor | `$consultor` / `/auroq-consultor` | guia do sistema — "como opero?", "como faço X?", duvidas |
|
|
62
|
+
| Squad Forge | `$squad-forge` / `/auroq-squad-forge` | cria squads multi-agente |
|
|
63
|
+
| Mind Forge | `$mind-forge` / `/auroq-mind-forge` | cria mentes sinteticas |
|
|
64
|
+
| Worker Forge | `$worker-forge` / `/auroq-worker-forge` | cria workers |
|
|
65
|
+
| Clone Forge | `$clone-forge` / `/auroq-clone-forge` | clona mentes reais |
|
|
66
|
+
| ETLmaker | `$etlmaker` / `/auroq-etlmaker` | extrai e estrutura conhecimento |
|
|
67
|
+
|
|
68
|
+
Qualquer squad/agente que voce criar tambem vira skill no proximo sync Codex;
|
|
69
|
+
no Claude/Grok, garanta o comando correspondente em `.claude/commands/`.
|
|
70
|
+
|
|
71
|
+
**Aceite** `$nome`, `/nome`, `/auroq-nome` e `@nome` como ativacao equivalente:
|
|
53
72
|
leia o arquivo em `.claude/commands/auroq-<nome>.md` (ou
|
|
54
73
|
`.claude/commands/AuroqOS/agents/ops.md` pro Ops), adote a persona e siga as
|
|
55
74
|
instrucoes do arquivo ate `*exit`.
|
|
@@ -58,8 +77,8 @@ instrucoes do arquivo ate `*exit`.
|
|
|
58
77
|
|
|
59
78
|
## Constitution — principios inegociaveis (replica de `.auroq-core/constitution.md`)
|
|
60
79
|
|
|
61
|
-
1. **Centro de comando** — toda operacao passa pelo projeto Auroq no terminal, via Claude Code ou
|
|
62
|
-
2. **Cada um faz o seu** — `git
|
|
80
|
+
1. **Centro de comando** — toda operacao passa pelo projeto Auroq no terminal, via Claude Code, Codex ou Grok. Ferramentas externas (Meta Ads, Hotmart, n8n) sao bracos, nao centros. *(NON-NEGOTIABLE)*
|
|
81
|
+
2. **Cada um faz o seu** — `deploy`, `git push --force`, PR, MCP/infra, bootstrap e o `*update` do framework sao **EXCLUSIVOS do Ops**. Salvar/entregar/puxar (`commit`, `push`, `pull`) QUALQUER agente executa seguindo o ritual do Ops (`.claude/rules/puxar-e-entregar.md`) — o expert nunca troca de agente pra isso. *(NON-NEGOTIABLE)*
|
|
63
82
|
3. **Documentar = investir** — todo trabalho significativo vira `.md`. O que nao e documentado, morre. *(MUST)*
|
|
64
83
|
4. **Nao inventar** — fundamenta em KB, instrucao ou plano. Nao gera dado/numero/fato sem fonte. Se precisa mudar o plano, PARA e pergunta. *(MUST)*
|
|
65
84
|
5. **Qualidade com julgamento** — o expert julga; a IA nao se auto-aprova em entregas importantes. *(MUST)*
|
|
@@ -75,17 +94,17 @@ instrucoes do arquivo ate `*exit`.
|
|
|
75
94
|
|
|
76
95
|
## Autoridade de agentes (de `.claude/rules/agent-authority`)
|
|
77
96
|
|
|
78
|
-
- **Ops** detem exclusivamente `git push
|
|
97
|
+
- **Ops** e o dono do ritual de git e detem exclusivamente `deploy`, `git push --force`, PR, gestao de MCP/infra, bootstrap e `*update`. Salvar, entregar e puxar (`commit`/`push`/`pull`) qualquer agente executa pelo ritual do Ops (rule `puxar-e-entregar`), com as mesmas travas de seguranca (pre-push).
|
|
79
98
|
- Os **Forges** criam agentes/squads/workers/clones; o **Companion** situa e roteia; o **Consultor** ensina o sistema.
|
|
80
99
|
- Um agente nao invade o dominio de outro — **delega**. Em conflito de fronteira, escala pro Companion/expert.
|
|
81
100
|
|
|
82
101
|
## Comportamento com ferramentas
|
|
83
102
|
|
|
84
|
-
- Prefira as ferramentas nativas do Codex pra arquivo, shell e busca local.
|
|
103
|
+
- Prefira as ferramentas nativas do harness em uso (Claude, Codex ou Grok) pra arquivo, shell e busca local.
|
|
85
104
|
- MCP e infra sao responsabilidade do **Ops**.
|
|
86
|
-
- Nunca use API paga no Claude/Codex onde o plano ja resolve — e dinheiro jogado fora.
|
|
105
|
+
- Nunca use API paga no Claude/Codex/Grok onde o plano ja resolve — e dinheiro jogado fora.
|
|
87
106
|
- Em respostas grandes de ferramenta, filtre ruido e preserve so o relevante.
|
|
88
|
-
- Use um runtime por sessao. Antes de trocar entre Claude Code e
|
|
107
|
+
- Use um runtime por sessao. Antes de trocar entre Claude Code, Codex e Grok, finalize ou documente o estado do trabalho.
|
|
89
108
|
|
|
90
109
|
## Gates da camada hibrida
|
|
91
110
|
|
|
@@ -103,6 +122,6 @@ Quando o pedido depender de contexto/memoria ja definidos, leia:
|
|
|
103
122
|
|
|
104
123
|
## Higiene de uso (do Consultor)
|
|
105
124
|
|
|
106
|
-
- **Um chat por objetivo**: abre, resolve,
|
|
125
|
+
- **Um chat por objetivo**: abre, resolve, pede "salva e entrega" pra quem estiver ativo, fecha. Chat-balaio engorda o contexto e a qualidade cai.
|
|
107
126
|
- **O agente certo pra cada tarefa** — nao deixa o modelo cru fazer trabalho de especialista.
|
|
108
127
|
- **Nao caia na labia da IA** — ela as vezes inventa, alucina ou te limita sem motivo. Questione, confirme, e pergunte no grupo da mentoria quando ela parecer viajando.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Auroq OS — Sistema Operacional de IA para Experts
|
|
2
2
|
|
|
3
|
-
Transforma Claude Code
|
|
3
|
+
Transforma Claude Code, Codex CLI ou Grok Build num centro de comando inteligente para operar seu negocio digital.
|
|
4
4
|
|
|
5
5
|
**Pensar. Fazer. Lembrar.** Tudo com IA.
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ Transforma Claude Code ou Codex CLI num centro de comando inteligente para opera
|
|
|
10
10
|
- Mac com Apple Silicon (recomendado)
|
|
11
11
|
- Node.js 22+
|
|
12
12
|
- Git
|
|
13
|
-
- Claude Code ou
|
|
13
|
+
- Claude Code, Codex CLI ou Grok Build (um deles basta)
|
|
14
14
|
|
|
15
15
|
### Setup
|
|
16
16
|
|
|
@@ -32,8 +32,18 @@ codex
|
|
|
32
32
|
|
|
33
33
|
# 4B. Ative o Companion
|
|
34
34
|
$companion
|
|
35
|
+
|
|
36
|
+
# OU 3C. Abra o Grok Build (no diretorio do negocio)
|
|
37
|
+
grok
|
|
38
|
+
|
|
39
|
+
# 4C. Ative o Companion (Grok le .claude/commands nativo — mesmo fluxo do Claude)
|
|
40
|
+
/auroq-companion
|
|
35
41
|
```
|
|
36
42
|
|
|
43
|
+
> **Grok:** nao precisa de `sync:codex`. Ele descobre `.claude/commands/`,
|
|
44
|
+
> `.claude/rules/` e `AGENTS.md` sozinho. Use Claude/Grok com slash commands;
|
|
45
|
+
> use Codex com `$nome` apos o sync de skills.
|
|
46
|
+
|
|
37
47
|
> **Acesso exclusivo para alunos da Mentoria Arcane.** O `init` pede o mesmo email + senha
|
|
38
48
|
> que voce usa em [mentoria-arcane.vercel.app](https://mentoria-arcane.vercel.app).
|
|
39
49
|
> A sessao fica salva em `~/.arcane/credentials.json` e renova automaticamente.
|
|
@@ -70,11 +80,11 @@ claude
|
|
|
70
80
|
*conectar-1password # reconectar o cofre (uma vez so nesta maquina)
|
|
71
81
|
```
|
|
72
82
|
|
|
73
|
-
Ritual diario em toda maquina: **
|
|
83
|
+
Ritual diario em toda maquina: **abriu o `claude` → o sistema puxa sozinho o que mudou · terminou → diga "salva e entrega"** (qualquer agente executa o ritual do Ops; `*sync`/`*commit`/`*push` seguem como atalhos).
|
|
74
84
|
Colaborador usa conta propria de tudo (GitHub via convite, assinatura Claude propria,
|
|
75
85
|
cofre 1Password com escopo) — nunca a senha do dono. **Colaborador nao precisa ser
|
|
76
86
|
aluno**: o acesso dele e o convite do GitHub (o `clone` nao pede login); quem atualiza
|
|
77
|
-
o sistema e o dono, e o colaborador recebe as atualizacoes
|
|
87
|
+
o sistema e o dono, e o colaborador recebe as atualizacoes automaticamente ao abrir o `claude`.
|
|
78
88
|
|
|
79
89
|
## Estrutura
|
|
80
90
|
|
|
@@ -82,7 +92,7 @@ o sistema e o dono, e o colaborador recebe as atualizacoes via `*sync`.
|
|
|
82
92
|
business/ → Sua empresa (campanhas, processos, agentes)
|
|
83
93
|
docs/knowledge/ → Biblioteca ETL (sua mente, seu negocio, conhecimento)
|
|
84
94
|
agents/ → Seu exercito (companion, workers, minds, squads)
|
|
85
|
-
.claude/ → Ponte Claude Code (agentes, rules, hooks)
|
|
95
|
+
.claude/ → Ponte Claude Code + Grok (agentes, rules, hooks, commands)
|
|
86
96
|
.agents/skills/ → Ponte Codex local (skills geradas por projeto)
|
|
87
97
|
.auroq-core/ → Framework (nao modificar)
|
|
88
98
|
```
|
|
@@ -107,7 +117,7 @@ agents/ → Seu exercito (companion, workers, minds, squads)
|
|
|
107
117
|
|
|
108
118
|
## Primeiro uso
|
|
109
119
|
|
|
110
|
-
1. Ative o Companion (`/auroq-companion` no Claude ou `$companion` no Codex)
|
|
120
|
+
1. Ative o Companion (`/auroq-companion` no Claude/Grok ou `$companion` no Codex)
|
|
111
121
|
2. Preencha os templates em `docs/knowledge/expert-mind/` (quem voce e)
|
|
112
122
|
3. Preencha `docs/knowledge/expert-business/` (o que voce faz)
|
|
113
123
|
4. Pronto — o sistema ja te conhece
|
|
@@ -122,4 +132,4 @@ agents/ → Seu exercito (companion, workers, minds, squads)
|
|
|
122
132
|
|
|
123
133
|
---
|
|
124
134
|
|
|
125
|
-
*Auroq OS v2.
|
|
135
|
+
*Auroq OS v2.2.3 — by Euriler Jube / Arka*
|
|
@@ -97,7 +97,8 @@ Quando o expert precisa de algo que nao e dominio do Companion:
|
|
|
97
97
|
|
|
98
98
|
| Precisa de... | Rotear para... |
|
|
99
99
|
|--------------|---------------|
|
|
100
|
-
|
|
|
100
|
+
| Salvar, entregar, puxar ("salva", "entrega", "puxa") | O PROPRIO Companion executa o ritual do Ops (`rules/puxar-e-entregar.md`) — sem trocar de agente |
|
|
101
|
+
| Deploy, push --force, PR, MCP/infra, bootstrap, update | Ops (`/AuroqOS:agents:ops`) |
|
|
101
102
|
| Organizar, guardar documento, limpar, backup | Organizer (`/organizer`) |
|
|
102
103
|
| Criar squad multi-agente a partir de processo | Squad Forge (`/squad-forge`) |
|
|
103
104
|
| Criar mente sintetica ou consultor | Mind Forge (`/mind-forge`) |
|
|
@@ -200,8 +201,8 @@ O Companion protege o expert de si mesmo:
|
|
|
200
201
|
1. BOOT → Carregar estado (contexto, cockpit, trackers, decisoes)
|
|
201
202
|
2. BRIEFING → "Aqui e onde estamos. Isso e o que importa. Sugestao de foco."
|
|
202
203
|
3. TRABALHO → Expert escolhe. Companion acompanha ou expert troca de agente.
|
|
203
|
-
4. CHECKPOINT → Expert
|
|
204
|
-
5. ENCERRAMENTO →
|
|
204
|
+
4. CHECKPOINT → Expert diz "salva" → Companion executa o ritual de commit. Estado salvo.
|
|
205
|
+
5. ENCERRAMENTO → Expert diz "salva e entrega" → commit final + push. Contexto atualizado.
|
|
205
206
|
```
|
|
206
207
|
|
|
207
208
|
### Ciclo Semanal
|
package/bin/auroq-os.js
CHANGED
|
@@ -147,6 +147,8 @@ const HEALTH_CHECKS = [
|
|
|
147
147
|
['.auroq-core/constitution.md', 'Constitution'],
|
|
148
148
|
['.claude/CLAUDE.md', 'CLAUDE.md'],
|
|
149
149
|
['.claude/hooks/synapse-engine.cjs', 'Synapse Hook'],
|
|
150
|
+
['.claude/hooks/auroq-sync.cjs', 'Sync Hook'],
|
|
151
|
+
['.claude/rules/puxar-e-entregar.md', 'Rule puxar-e-entregar'],
|
|
150
152
|
['agents/companion/agents/companion.md', 'Companion'],
|
|
151
153
|
['agents/organizer/agents/organizer.md', 'Organizer'],
|
|
152
154
|
['.claude/commands/AuroqOS/agents/ops.md', 'Ops'],
|
|
@@ -343,10 +345,12 @@ async function init() {
|
|
|
343
345
|
'.claude/rules/tool-response-filtering.md',
|
|
344
346
|
'.claude/rules/natural-language-first.md',
|
|
345
347
|
'.claude/rules/custom-do-aluno.md',
|
|
348
|
+
'.claude/rules/puxar-e-entregar.md',
|
|
346
349
|
|
|
347
350
|
// Hooks
|
|
348
351
|
'.claude/hooks/synapse-engine.cjs',
|
|
349
352
|
'.claude/hooks/precompact-session-digest.cjs',
|
|
353
|
+
'.claude/hooks/auroq-sync.cjs',
|
|
350
354
|
|
|
351
355
|
// Synapse domain files
|
|
352
356
|
'.synapse/manifest',
|
|
@@ -805,10 +809,10 @@ ${DIM} Uma vez so, nesta maquina:${RESET}
|
|
|
805
809
|
|
|
806
810
|
${DIM} Ritual de todo dia, em toda maquina:${RESET}
|
|
807
811
|
|
|
808
|
-
${GOLD}
|
|
809
|
-
${GOLD}Levantou${RESET} → ${CYAN}
|
|
812
|
+
${GOLD}Abriu${RESET} → ${DIM}o sistema puxa sozinho o que mudou nas outras maquinas (e te conta)${RESET}
|
|
813
|
+
${GOLD}Levantou${RESET} → diga ${CYAN}"salva e entrega"${RESET} ${DIM}pra quem estiver na tela — vai pro GitHub${RESET}
|
|
810
814
|
|
|
811
|
-
${DIM} Nunca levante da maquina com trabalho nao entregue.${RESET}
|
|
815
|
+
${DIM} Nunca levante da maquina com trabalho nao entregue — o sistema lembra, mas so voce entrega.${RESET}
|
|
812
816
|
|
|
813
817
|
${PURPLE}${BOLD} ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${RESET}
|
|
814
818
|
${DIM} Auroq OS v${PKG_VERSION} — Sistema Operacional de IA para Experts${RESET}
|