auroq-os 2.2.2 → 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 +3 -3
- package/README.md +3 -3
- 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
|
@@ -78,7 +78,7 @@ instrucoes do arquivo ate `*exit`.
|
|
|
78
78
|
## Constitution — principios inegociaveis (replica de `.auroq-core/constitution.md`)
|
|
79
79
|
|
|
80
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** — `git
|
|
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)*
|
|
82
82
|
3. **Documentar = investir** — todo trabalho significativo vira `.md`. O que nao e documentado, morre. *(MUST)*
|
|
83
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)*
|
|
84
84
|
5. **Qualidade com julgamento** — o expert julga; a IA nao se auto-aprova em entregas importantes. *(MUST)*
|
|
@@ -94,7 +94,7 @@ instrucoes do arquivo ate `*exit`.
|
|
|
94
94
|
|
|
95
95
|
## Autoridade de agentes (de `.claude/rules/agent-authority`)
|
|
96
96
|
|
|
97
|
-
- **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).
|
|
98
98
|
- Os **Forges** criam agentes/squads/workers/clones; o **Companion** situa e roteia; o **Consultor** ensina o sistema.
|
|
99
99
|
- Um agente nao invade o dominio de outro — **delega**. Em conflito de fronteira, escala pro Companion/expert.
|
|
100
100
|
|
|
@@ -122,6 +122,6 @@ Quando o pedido depender de contexto/memoria ja definidos, leia:
|
|
|
122
122
|
|
|
123
123
|
## Higiene de uso (do Consultor)
|
|
124
124
|
|
|
125
|
-
- **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.
|
|
126
126
|
- **O agente certo pra cada tarefa** — nao deixa o modelo cru fazer trabalho de especialista.
|
|
127
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
|
@@ -80,11 +80,11 @@ claude
|
|
|
80
80
|
*conectar-1password # reconectar o cofre (uma vez so nesta maquina)
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
-
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).
|
|
84
84
|
Colaborador usa conta propria de tudo (GitHub via convite, assinatura Claude propria,
|
|
85
85
|
cofre 1Password com escopo) — nunca a senha do dono. **Colaborador nao precisa ser
|
|
86
86
|
aluno**: o acesso dele e o convite do GitHub (o `clone` nao pede login); quem atualiza
|
|
87
|
-
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`.
|
|
88
88
|
|
|
89
89
|
## Estrutura
|
|
90
90
|
|
|
@@ -132,4 +132,4 @@ agents/ → Seu exercito (companion, workers, minds, squads)
|
|
|
132
132
|
|
|
133
133
|
---
|
|
134
134
|
|
|
135
|
-
*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}
|