auroq-os 2.1.3 → 2.1.5

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/CLAUDE.md CHANGED
@@ -258,6 +258,19 @@ O Auroq OS carrega regras de `.claude/rules/` automaticamente.
258
258
  | `commit-inteligente.md` | Ritual de checkpoint do negocio |
259
259
  | `tool-response-filtering.md` | Reducao de tokens em respostas MCP |
260
260
  | `natural-language-first.md` | Linguagem natural como interface primaria — nunca exigir comandos |
261
+ | `custom-do-aluno.md` | **Suas regras** — sobrevive a updates, nunca e sobrescrito |
262
+
263
+ ### Onde customizar (sobrevive a updates)
264
+
265
+ O update do Auroq OS atualiza o framework — `CLAUDE.md`, as rules acima, o companion.
266
+ Se voce editar esses arquivos direto, sua mudanca e perdida no proximo update.
267
+
268
+ Os UNICOS lugares de config que o update **preserva** sao:
269
+
270
+ - **`.claude/rules/custom-do-aluno.md`** — regras de comportamento e overrides seus
271
+ - **`.claude/settings.local.json`** — suas configuracoes locais
272
+
273
+ Coloque suas customizacoes la. O Auroq carrega tudo de `.claude/rules/` automaticamente.
261
274
 
262
275
  ## Niveis de Sofisticacao (N0-N3)
263
276
 
@@ -63,6 +63,8 @@ commands:
63
63
  description: "Setup do nucleo (Bootstrap 1) — ambiente, MCPs, GitHub, Vercel, Supabase, Companion"
64
64
  - name: bootstrap-2
65
65
  description: "Conexoes extras (Bootstrap 2, opcional recomendado) — valida o cofre e conecta Cloudflare, Drive, Gmail, Calendar, Notion e Canva"
66
+ - name: conectar-1password
67
+ description: "Conectar o cofre 1Password ao Auroq — o expert so copia o token (Ctrl+C), o Ops roda o resto"
66
68
  - name: yolo
67
69
  description: "Trocar modo de permissao do Claude Code (auto/acceptEdits/default)"
68
70
  - name: install
@@ -855,8 +857,9 @@ Conexoes extras — OPCIONAL, RECOMENDADO. Roda depois do bootstrap principal, q
855
857
  - `OP_SERVICE_ACCOUNT_TOKEN` esta definido, mostrando somente `configurado` ou `ausente` — NUNCA imprimir o valor
856
858
  - uma leitura de item de teste no vault funciona, quando existir
857
859
  3. SE a verificacao passar: definir o modo desta execucao como **`1password`**. Toda nova credencial sensivel deve ser salva no vault `Claude`; em `business/vault/`, guardar apenas metadados/status e referencias `op://...`, nunca o valor.
858
- 4. SE nao configurou ou a verificacao falhar, explicar as duas opcoes e pedir uma escolha explicita:
859
- - **Voltar ao Step anterior e configurar o 1Password (RECOMENDADO):** parar o Bootstrap 2 sem marcar conexoes como concluidas. Quando o aluno voltar, repetir este pre-gate.
860
+ 4. SE nao configurou ou a verificacao falhar, explicar as opcoes e pedir uma escolha explicita:
861
+ - **Conectar agora pelo Ops (RECOMENDADO se ele ja tem o token):** rodar `*conectar-1password` — o expert so copia o token e o Ops faz o resto. Ao terminar, repetir este pre-gate.
862
+ - **Voltar ao Step anterior da plataforma:** se ele ainda nao criou a conta/token do 1Password. Parar o Bootstrap 2 sem marcar conexoes como concluidas. Quando o aluno voltar, repetir este pre-gate.
860
863
  - **Seguir com vault local (MENOS SEGURO):** continuar usando `business/vault/`, que fica fora do git, deixando claro que as credenciais permanecem em texto local e devem ser migradas depois.
861
864
  5. Registrar somente a escolha e o estado em `business/vault/credential-storage.md`: `mode: 1password` ou `mode: local`, data e verificacoes realizadas. NUNCA registrar token, senha ou chave nesse arquivo quando o modo for 1Password.
862
865
 
@@ -989,6 +992,44 @@ O fluxo e sempre o mesmo:
989
992
  Se o expert quiser conectar outros servicos que aparecem nas Integrations do claude.ai no futuro, o fluxo e esse mesmo.
990
993
 
991
994
 
995
+ ### *conectar-1password
996
+
997
+ Conecta o cofre 1Password ao Auroq. O expert NAO abre terminal e NAO digita comando — ele so copia o token e o Ops roda tudo. Aciona por linguagem natural ("conecta meu 1Password", "configura o cofre") ou pelo comando.
998
+
999
+ **REGRA DE OURO — o token NUNCA passa pelo chat:**
1000
+ - NUNCA pedir pro expert colar o token na conversa. Se ele colar por conta propria, avisar que aquele token foi exposto e deve ser revogado e gerado de novo no painel do 1Password.
1001
+ - NUNCA imprimir, ecoar ou ler o valor do token em nenhum comando (`echo`, `cat`, `pbpaste` solto, etc.). O comando `conectar-1password` do CLI ja le a area de transferencia internamente sem expor nada.
1002
+
1003
+ **Fluxo:**
1004
+
1005
+ 1. **Checar se ja esta conectado** (sem expor segredos):
1006
+ ```bash
1007
+ op whoami
1008
+ ```
1009
+ - SE funciona → ja conectado. Informar e encerrar (rodar de novo so se o expert quiser trocar o token).
1010
+ - SE `op` nem existe ou falha → seguir.
1011
+
1012
+ 2. **Confirmar que o expert tem o token em maos.** Perguntar: "Voce ja gerou o seu token de Service Account no 1Password (aquele codigo grandao que comeca com `ops_`)?"
1013
+ - SE nao → orientar a voltar no Step Sistema de Senhas e Credenciais da plataforma e gerar. Parar aqui ate ele ter o token.
1014
+ - ATENCAO: o 1Password mostra o token UMA vez, na criacao. Se o expert fechou a tela sem salvar, precisa gerar um novo.
1015
+
1016
+ 3. **Pedir a UNICA acao dele:** "Copia o token agora (Cmd+C no Mac / Ctrl+C no Windows) e me avisa quando copiar. NAO cola ele aqui no chat — so copia."
1017
+
1018
+ 4. **Quando ele confirmar, rodar:**
1019
+ ```bash
1020
+ npx auroq-os conectar-1password
1021
+ ```
1022
+ O comando le o token direto da area de transferencia, instala o 1Password CLI se faltar, valida a conexao online e salva permanente. O output NUNCA contem o token — e seguro.
1023
+
1024
+ 5. **Interpretar o resultado pro expert:**
1025
+ - `✅ 1Password conectado com sucesso` → confirmar com gate real: rodar `op vault list` e mostrar que o cofre apareceu. Dai em diante toda credencial nova vai pro vault via `op`, nunca em texto plano.
1026
+ - `nao contem um token valido` → ele copiou outra coisa por cima (o clipboard guarda so a ULTIMA copia). Pedir pra copiar o token de novo e repetir o passo 4. Sem stress, acontece.
1027
+ - `token foi lido mas a conexao falhou` → token revogado/expirado ou sem internet. Orientar a gerar token novo no painel se a internet estiver ok.
1028
+
1029
+ 6. **Pos-conexao por sistema:**
1030
+ - **Mac:** os proximos comandos ja enxergam a conexao nesta mesma sessao. Nada a fazer.
1031
+ - **Windows:** a sessao atual NAO enxerga a conexao nova. Orientar: fechar TODAS as janelas do terminal (ou o VS Code inteiro), abrir de novo e voltar pro Claude. Verificar com `op whoami` quando ele voltar.
1032
+
992
1033
  ### *pr
993
1034
  1. Verificar branch atual
994
1035
  2. `git log` — resumir commits desde main
@@ -0,0 +1,27 @@
1
+ # Suas Customizações — Sobrevivem a Updates
2
+
3
+ > Este arquivo é SEU. O update do Auroq OS (e do Pack Arcane) **nunca** sobrescreve ele.
4
+ > Tudo que você quer que valha pra sempre — regras de comportamento, preferências,
5
+ > overrides — escreve AQUI, não no CLAUDE.md nem nas outras rules.
6
+
7
+ ## Por que aqui e não no CLAUDE.md?
8
+
9
+ O `CLAUDE.md` e as outras rules (`agent-authority.md`, `natural-language-first.md`, etc.)
10
+ são **framework** — toda atualização do Auroq atualiza elas pra trazer melhorias. Se você
11
+ editar uma delas direto, sua mudança é perdida no próximo update.
12
+
13
+ Este arquivo (`custom-do-aluno.md`) e o `settings.local.json` são os únicos lugares de
14
+ config que o update **preserva**. Coloque suas regras aqui.
15
+
16
+ ## Como escrever uma regra
17
+
18
+ Linguagem natural, direto. O Auroq carrega este arquivo automaticamente junto com as
19
+ outras rules. Exemplos:
20
+
21
+ - "Quando eu pedir pra rodar algo, executa direto sem ficar pedindo confirmação a cada passo."
22
+ - "Nunca commita sem eu mandar."
23
+ - "Responde sempre em português, casual."
24
+
25
+ ## Suas regras
26
+
27
+ <!-- Escreva abaixo. Apague estes exemplos quando colocar as suas. -->
package/bin/auroq-os.js CHANGED
@@ -194,6 +194,7 @@ async function init() {
194
194
  '.claude/rules/project-tracker.md',
195
195
  '.claude/rules/tool-response-filtering.md',
196
196
  '.claude/rules/natural-language-first.md',
197
+ '.claude/rules/custom-do-aluno.md',
197
198
 
198
199
  // Hooks
199
200
  '.claude/hooks/synapse-engine.cjs',
@@ -267,6 +268,10 @@ async function init() {
267
268
 
268
269
  // Arquivos do ALUNO — nunca sobrescrever se ja existem
269
270
  const studentFiles = [
271
+ // Config/customizacao pessoal — o lugar oficial pra regras e overrides do aluno.
272
+ // O update do framework cria a semente na 1a vez e NUNCA mais toca.
273
+ '.claude/rules/custom-do-aluno.md',
274
+ '.claude/settings.local.json',
270
275
  'agents/companion/data/contexto-dinamico.md',
271
276
  'agents/companion/data/log-decisoes.md',
272
277
  'agents/companion/data/padroes-observados.md',
@@ -503,6 +508,10 @@ ${DIM} Proximo passo:${RESET}
503
508
 
504
509
  ${DIM} O Companion vai te receber e guiar a partir daqui.${RESET}
505
510
 
511
+ ${DIM} Suas customizacoes (sobrevivem a todo update):${RESET}
512
+ ${CYAN}.claude/rules/custom-do-aluno.md${RESET} ${DIM}— suas regras e overrides${RESET}
513
+ ${CYAN}.claude/settings.local.json${RESET} ${DIM}— suas configuracoes locais${RESET}
514
+
506
515
  ${DIM} Agentes core disponiveis:${RESET}
507
516
  ${PURPLE}/companion${RESET} ${DIM}— Parceiro cognitivo${RESET}
508
517
  ${PURPLE}/AuroqOS:agents:ops${RESET} ${DIM}— Git, deploy, ambiente${RESET}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auroq-os",
3
- "version": "2.1.3",
3
+ "version": "2.1.5",
4
4
  "description": "Auroq OS — Sistema Operacional de IA para Experts",
5
5
  "bin": {
6
6
  "auroq-os": "bin/auroq-os.js"
@@ -33,8 +33,10 @@ test('installer entrega projeto hibrido funcional sem sobrescrever package scrip
33
33
 
34
34
  const installedOps = fs.readFileSync(path.join(target, '.claude', 'commands', 'AuroqOS', 'agents', 'ops.md'), 'utf8');
35
35
  assert.match(installedOps, /PRE-GATE OBRIGATORIO — sistema de senhas e credenciais/);
36
- assert.match(installedOps, /Voltar ao Step anterior e configurar o 1Password/);
36
+ assert.match(installedOps, /Conectar agora pelo Ops \(RECOMENDADO se ele ja tem o token\)/);
37
+ assert.match(installedOps, /Voltar ao Step anterior da plataforma/);
37
38
  assert.match(installedOps, /Seguir com vault local \(MENOS SEGURO\)/);
39
+ assert.match(installedOps, /\*conectar-1password/);
38
40
  assert.doesNotMatch(installedOps, /#### 1\. 1Password — cofre cifrado/);
39
41
 
40
42
  const check = execFileSync(process.execPath, [path.join(target, 'scripts', 'sync-codex-skills.mjs'), '--check'], {