--- title: Fluxo de branches kind: regra --- - Toda branch sai de `{{BRANCH_PRODUCAO}}`. - Um MR para cada ambiente: {{BRANCHES_AMBIENTE}}. - O título do MR é o nome da branch.
A memória do projeto,
do lado de quem programa.
Regras, procedimentos e credenciais por projeto para o Claude Code, guardados fora do repositório e entregues ao agente assim que a sessão começa.
SessionStart → arcan context◆ Projeto detectado: portal · Portal de serviços Regrasregra Padrões de código projeto Laravel 11, PHP 8.3 · regra de negócio em app/Services · testes com Pestregra Fluxo de branches global Toda branch sai de master, no padrão fix/OS1234_descricao Um MR para cada ambiente: dev, homologacao e masterProcedimentosproc Revisão de MR quando revisar um merge request → arcan mem show revisao-mrproc Merge de demanda quando subir uma demanda → arcan mem show merge-de-demandaFerramentasarcan run gitlab GitLab do portal: MRs e pipelinesarcan run jenkins builds e deploys
SessionStart → arcan context◆ Projeto detectado: api-financeiro · API do financeiro Regrasregra Padrões de código projeto NestJS · TypeORM com migrations reversíveis · DTOs validados com class-validatorregra Fluxo de branches global Toda branch sai de main, no padrão feat/JIRA-123-descricao Um MR para cada ambiente: staging e mainProcedimentosproc Revisão de MR quando revisar um merge request → arcan mem show revisao-mrproc Acesso a homologação quando consultar logs ou o banco → arcan mem show acesso-hmlFerramentasarcan run ssh-hml servidor de homologação via SSH
SessionStart → arcan context◆ Nenhum projeto detectado · só o contexto global Regrasregra Commits e MRs global Nunca citar IA em commits, merge requests ou chamadosregra Idioma global Responder sempre em portuguêsSalvando memórias Aprendeu algo durável? arcan mem add -g --title "..." "..."
Troque a pasta da sessão: o projeto detectado e as regras mudam junto.
Entenda em um minuto e meio.
Da sessão que começa do zero ao agente que já sabe trabalhar no projeto, com as credenciais protegidas.
Narrado e legendado em português. Exemplos com dados fictícios.
Toda sessão começa do zero. Esta não.
Qual é a branch de produção, quem aprova o merge, como acessar o servidor de homologação: você escreve uma vez e o agente recebe em toda sessão, só no projeto em que isso vale.
- $ cd ~/projetos/portal
Você abre a sessão numa pasta
O projeto é reconhecido pelo diretório ou por um trecho do git remote.
- SessionStart → arcan context
O hook entrega o contexto
No início da sessão, o Claude Code roda arcan context e recebe a memória do projeto.
- ◆ Projeto detectado: portal
O agente já sabe trabalhar ali
Regras valendo, procedimentos à mão e as ferramentas com credencial prontas para usar.
Regras sempre. Procedimentos quando a tarefa pede.
Cada linha de regra ocupa espaço em todas as sessões. Um checklist de revisão de MR só serve quando alguém pede uma revisão, então ele custa uma linha até ser usado.
---
title: Revisão de MR
kind: procedimento
when: revisar um merge request
---
1. Segurança: injeção, autorização, segredos.
2. Problemas de código e padrões do projeto.
3. Achados por severidade, com arquivo:linha.O agente vê Revisão de MR: quando revisar um merge request → arcan mem show revisao-mr e carrega o resto quando a tarefa se encaixa.
Escreva uma vez. Cada projeto preenche o resto.
Regras globais usam variáveis. Cada projeto define os próprios valores e pode sobrescrever qualquer memória global com o mesmo id.
Toda branch sai de {{BRANCH_PRODUCAO}}, MR para {{BRANCHES_AMBIENTE}}Toda branch sai de master, MR para dev, homologacao e masterToda branch sai de main, MR para staging e mainO agente usa a credencial. Nunca vê o valor.
Jenkins, GitLab, SSH: cada acesso vira um script. O agente roda arcan run gitlab; o token entra como variável de ambiente só na execução.
- Guardado no seu usuário. Arquivo com permissão 600, fora de qualquer repositório.
- Mascarado na saída. Se o valor aparecer, vira
********antes de chegar ao agente. - Bloqueado para leitura. A instalação impede o Claude de abrir o arquivo de segredos.
Limites, sem letra miúda: o mascaramento cobre o valor literal; um script que imprima o token codificado o vaza. O bloqueio vale para a ferramenta de leitura do agente, não para um cat no terminal; por isso, mantenha comandos sob confirmação.
$ arcan run gitlab GET '/projects/:id/merge_requests?state=opened' [{"iid": 123, "title": "fix/OS0412_relatorio", "state": "opened"}] debug: Authorization: Bearer ******** $
arcan run troca o valor por******** antes de a saída chegar ao agente.Gerencie pelo navegador ou pela linha de comando.
arcan ui abre um painel local, protegido por token: projetos, memórias, scripts, variáveis e o que ainda falta configurar. Tudo também funciona pela CLI.


Capturas com dados de exemplo.
Três comandos e está valendo.
Python 3, sem dependências. Linux, macOS ou WSL.
./install.shinstala o comando arcanarcan install claudeliga o hook no Claude Codearcan uiabre o painelDo seu PC para o time
Grupos disponível
Configure uma vez o que vários projetos compartilham, como a VPS e o script de deploy, e cada projeto herda. arcan copy traz a configuração de um projeto para outro.
Sincronização via Git disponível
arcan sync leva memórias, scripts e variáveis para outra máquina por um repositório privado. Segredos e diretórios locais ficam fora: cada PC cadastra os seus.
Times disponível
Um repositório por time com regras e procedimentos em comum. Mudanças viram PR/MR com arcan team propose, e cada pessoa tem a sua camada por cima.
a seguir segredos sincronizados criptografados · outros agentes (Codex, Cursor, Gemini CLI) · cofre do sistema · arcan doctor
O arcanmemory está em uso por convite.
Quer testar nos seus projetos? Deixe seu contato e o Vinicius Farias responde por e-mail.