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.

claude · nova sessão
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

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.

arcanmemory.mp4 · 1:36

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.

  1. $ cd ~/projetos/portal

    Você abre a sessão numa pasta

    O projeto é reconhecido pelo diretório ou por um trecho do git remote.

  2. 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.

  3. ◆ 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.

regraentra inteira em toda sessão
global/memories/fluxo-de-branches.md
---
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.
procedimentono contexto, só o gatilho
projects/portal/memories/revisao-mr.md
---
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.

globalToda branch sai de {{BRANCH_PRODUCAO}}, MR para {{BRANCHES_AMBIENTE}}
portalToda branch sai de master, MR para dev, homologacao e master
api-financeiroToda branch sai de main, MR para staging e main

O 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.

agente · bash
$ arcan run gitlab GET '/projects/:id/merge_requests?state=opened'
[{"iid": 123, "title": "fix/OS0412_relatorio", "state": "opened"}]
debug: Authorization: Bearer ********
$ 
Exemplo fictício. Mesmo quando o script imprime o token, o 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.

localhost:7077
Painel do arcanmemory com as regras, os procedimentos e as memórias herdadas de um projeto
variáveis e segredos
Aba de variáveis e segredos com as pendências de configuração

Capturas com dados de exemplo.

Três comandos e está valendo.

Python 3, sem dependências. Linux, macOS ou WSL.

./install.shinstala o comando arcan
arcan install claudeliga o hook no Claude Code
arcan uiabre o painel

Do 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.

Seus dados são usados só para responder a este pedido. Para removê-los, responda o e-mail que você receber.