Atomic Reps
Depois que seu agente de codificação termina uma tarefa, o Atomic Reps faz perguntas sobre as bibliotecas e conceitos que ele utilizou. Funciona no Claude Code, Copilot, Cursor e Codex.
Documentação
atomicreps
Uma pergunta curta sobre o que você acabou de construir. Funciona no Claude Code, GitHub Copilot, Cursor, Codex ou em qualquer cliente MCP.
Requer Node 24+ e uma conta gratuita. Em um Node mais antigo, todo comando imprime a versão necessária em vez de iniciar.
npx atomicreps the terminal screen: you, this session, topics, mutes, rate
npx atomicreps setup first-run wizard: areas, topics, how often, how hard
npx atomicreps login sign in from a browser with a typed code
npx atomicreps connect register the server with your editor
npx atomicreps connect --pin pin the launch args to this installed version, for a command you can commit
npx atomicreps mcp the stdio MCP server process (what the editor launches)
npx atomicreps doctor token, server ping, version, when the next rep may come, allowlist
npx atomicreps logout forget the token on this machine
npx atomicreps logout --purge also forget your reps and status, and offer to undo connect
Adicione --alpha a qualquer comando para usar staging. Ele mantém seu próprio token e cache,
para que você possa estar conectado ao staging e à produção ao mesmo tempo.
connect simples grava npx -y atomicreps mcp, que sempre resolve para
o que estiver mais recente no lançamento. connect --pin grava npx -y atomicreps@<version> mcp em vez disso, a versão que este CLI está executando, para que uma
organização possa revisar um comando exato e confirmá-lo em vez de confiar
no npx para buscar a mesma coisa duas vezes.
GitHub Copilot
npx atomicreps connect oferece VS Code e Copilot CLI como linhas. Sem ele:
code --add-mcp '{"name":"atomicreps","type":"stdio","command":"npx","args":["-y","atomicreps","mcp"]}'
copilot mcp add atomicreps -- npx -y atomicreps mcp
O Copilot no JetBrains, Visual Studio, Xcode e Eclipse lê a mesma entrada
de seu próprio mcp.json (Configurações, depois MCP). Uma equipe pode
confirmá-lo como .vscode/mcp.json para que todo clone o tenha:
{
"servers": {
"atomicreps": { "type": "stdio", "command": "npx", "args": ["-y", "atomicreps", "mcp"] }
}
}
O Copilot lê as instruções do servidor e chama rep quando uma tarefa termina,
assim como Cursor e Codex. Aprove as quatro ferramentas uma vez e elas permanecem
aprovadas.
Como um rep é servido
Quando seu agente de codificação termina uma tarefa, ele chama rep uma vez com algumas palavras
sobre o que mudou. O servidor escolhe uma pergunta, ou nada, e seu agente
a mostra a você sem alterações. Responda com uma letra, ou ignore.
Abaixo do veredito, uma linha nomeia até três outras coisas que a sessão tocou. Um número pergunta sobre uma delas. "Nunca Swift" silencia um tópico permanentemente. "Não este tópico" o silencia por trinta dias. "Desmutar Swift" remove o silêncio. "Como estou indo" imprime seu resumo.
O servidor impõe o ritmo, não o agente. Ele define um intervalo mínimo entre
reps automáticos, um limite diário, e mudo e desligado. Ele recusa uma resposta digitada
em segundos após a pergunta. Ele nunca inclui a chave de resposta em um rep.
Toda falha retorna nenhum rep em vez de um erro; doctor diz o porquê.
Ferramentas
| ferramenta | o que faz |
|---|---|
rep({ touched?, ask?, topic?, kind?, exclude? }) | uma pergunta, um insight, ou nada; ask aceita um identificador de uma oferta |
answer({ pick, id? }) | o veredito, a explicação e a linha de oferta |
me({ show? }) | summary, skills, reps, streak ou mutes |
settings({ intensity?, topics?, levels?, prefer?, mute?, muteMinutes?, days?, unmute?, dialog? }) | a taxa, os tópicos fixados, o intervalo de dificuldade, as áreas preferidas, mudos, o diálogo |
Identificadores são topic ou topic.subskill (react.hooks_core). Cinquenta slugs de sub-habilidade
se repetem entre tópicos, então o tópico é sempre parte do nome.
settings({ dialog: true }) pede a letra no diálogo nativo do seu
editor em vez do chat. Ele bloqueia o turno, então é uma configuração, nunca o
padrão.
Privacidade
O que sai da sua máquina em uma chamada rep: identificadores de catálogo com pequenos pesos.
Também nomes de pacotes, extensões de arquivo e pastas que o catálogo público já
conhece. As palavras touched do seu agente são correspondidas a identificadores na sua máquina;
as palavras em si nunca são enviadas. Um nome de pacote desconhecido é descartado. Um
nome privado (@acme/react-internal) é enviado como seu alias público (react).
Nunca enviamos seu código, o conteúdo de um arquivo ou um prompt. npx atomicreps setup imprime o payload exato para seu repositório, antes de você entrar.
npx atomicreps mcp encaminha cada mensagem JSON-RPC do seu editor para o
servidor Atomic Reps com seu token. A resposta volta da mesma forma.
ATOMICREPS_API é honrado apenas para um endereço Atomic Reps ou loopback,
já que seu token vai para onde ele aponta. Qualquer outra coisa é ignorada e
relatada por doctor; defina ATOMICREPS_UNSAFE_ORIGIN=1 para substituir.
Login
npx atomicreps imprime um código. Digite-o em atomicreps.com/connect enquanto
conectado; um link encaminhado não aprova nada. O token é salvo em
~/.config/atomicreps/config.json (modo 0600), prefixado arep_ para que scanners de
segredos o encontrem. Você pode revogá-lo na página da sua conta. logout o esquece;
logout --purge também exclui os reps e o status que esta máquina armazenou em cache, depois
lista cada entrada de editor que connect escreveu (ambos os canais) e remove as que você
deixar marcadas.
O limite de confiança e como relatar uma vulnerabilidade: SECURITY.md.
Verifique você mesmo
dist/cli.js é construído a partir destes arquivos e nada mais. O pacote não tem
dependências de tempo de execução.
npm install
npm run build # writes dist/cli.js from src
npm test # the behaviour described above, as tests
Para comparar com o que o npm serve: npm pack atomicreps, depois leia seu
dist/cli.js ao lado do que você acabou de construir. Tudo o que o cliente envia está em
src/api.ts. Tudo o que ele lê do seu repositório está em src/infer.ts.
MIT.