Atomic Reps
Después de que tu agente de codificación termine una tarea, Atomic Reps te hace preguntas sobre las bibliotecas y conceptos que utilizó. Funciona en Claude Code, Copilot, Cursor y Codex.
Documentación
atomicreps
Una pregunta corta sobre lo que acabas de construir. Funciona dentro de Claude Code, GitHub Copilot, Cursor, Codex o cualquier cliente MCP.
Requiere Node 24+ y una cuenta gratuita. En una versión anterior de Node, cada comando imprime la versión que necesita en lugar de iniciarse.
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
Agrega --alpha a cualquier comando para usar staging. Mantiene su propio token y caché,
por lo que puedes iniciar sesión tanto en staging como en producción a la vez.
connect simple escribe npx -y atomicreps mcp, que siempre se resuelve a
lo que sea más reciente al iniciar. connect --pin escribe npx -y atomicreps@<version> mcp en su lugar, la versión que este CLI está ejecutando, para que una
organización pueda revisar un comando exacto y confirmarlo en lugar de confiar en
npx para obtener lo mismo dos veces.
GitHub Copilot
npx atomicreps connect ofrece VS Code y Copilot CLI como filas. Sin él:
code --add-mcp '{"name":"atomicreps","type":"stdio","command":"npx","args":["-y","atomicreps","mcp"]}'
copilot mcp add atomicreps -- npx -y atomicreps mcp
Copilot en JetBrains, Visual Studio, Xcode y Eclipse lee la misma entrada
desde su propio mcp.json (Configuración, luego MCP). Un equipo puede
confirmarlo como .vscode/mcp.json para que cada clon lo tenga:
{
"servers": {
"atomicreps": { "type": "stdio", "command": "npx", "args": ["-y", "atomicreps", "mcp"] }
}
}
Copilot lee las instrucciones del servidor y llama a rep cuando una tarea termina,
igual que Cursor y Codex. Aprueba las cuatro herramientas una vez y permanecen
aprobadas.
Cómo se sirve un rep
Cuando tu agente de codificación termina una tarea, llama a rep una vez con unas pocas palabras
sobre lo que cambió. El servidor elige una pregunta, o nada, y tu agente
te la muestra sin cambios. Responde con una letra, o ignórala.
Debajo del veredicto, una línea nombra hasta otras tres cosas que la sesión tocó. Un número pregunta sobre una de ellas. "Never Swift" silencia un tema permanentemente. "Not this topic" lo silencia durante treinta días. "Unmute Swift" elimina el silencio. "How am I doing" imprime tu resumen.
El servidor impone el ritmo, no el agente. Establece un intervalo mínimo entre
reps automáticos, un límite diario, y silencio y apagado. Rechaza una respuesta escrita
segundos después de la pregunta. Nunca incluye la clave de respuesta en un rep.
Cada fallo devuelve ningún rep en lugar de un error; doctor dice por qué.
Herramientas
| herramienta | qué hace |
|---|---|
rep({ touched?, ask?, topic?, kind?, exclude? }) | una pregunta, una idea, o nada; ask toma un identificador de una oferta |
answer({ pick, id? }) | el veredicto, la explicación y la línea de oferta |
me({ show? }) | summary, skills, reps, streak o mutes |
settings({ intensity?, topics?, levels?, prefer?, mute?, muteMinutes?, days?, unmute?, dialog? }) | la tasa, los temas fijados, el rango de dificultad, las áreas preferidas, los silencios, el diálogo |
Los identificadores son topic o topic.subskill (react.hooks_core). Cincuenta sub-habilidades
slugs se repiten entre temas, por lo que el tema siempre es parte del nombre.
settings({ dialog: true }) pide la letra en el diálogo nativo de tu
editor en lugar del chat. Bloquea el turno, por lo que es una configuración, nunca el
predeterminado.
Privacidad
Lo que sale de tu máquina en una llamada rep: identificadores de catálogo con pesos pequeños.
También nombres de paquetes, extensiones de archivo y carpetas que el catálogo público ya
conoce. Las palabras touched de tu agente se comparan con identificadores en tu máquina;
las palabras en sí nunca se envían. Un nombre de paquete desconocido se descarta. Un
nombre privado (@acme/react-internal) se envía como su alias público (react).
Nunca enviamos tu código, el contenido de un archivo o un prompt. npx atomicreps setup imprime la carga útil exacta para tu repositorio, antes de iniciar sesión.
npx atomicreps mcp reenvía cada mensaje JSON-RPC desde tu editor al
servidor de Atomic Reps con tu token. La respuesta regresa de la misma manera.
ATOMICREPS_API se respeta solo para una dirección de Atomic Reps o de loopback,
ya que tu token va a donde apunte. Cualquier otra cosa se ignora y se
informa mediante doctor; establece ATOMICREPS_UNSAFE_ORIGIN=1 para anular.
Inicio de sesión
npx atomicreps imprime un código. Escríbelo en atomicreps.com/connect mientras
estás conectado; un enlace reenviado no aprueba nada. El token se guarda en
~/.config/atomicreps/config.json (modo 0600), con prefijo arep_ para que los
escáneres de secretos lo encuentren. Puedes revocarlo desde tu página de cuenta. logout lo olvida;
logout --purge también elimina los reps y el estado que esta máquina almacenó en caché, luego
lista cada entrada de editor que connect escribió (ambos canales) y elimina las que dejes
marcadas.
El límite de confianza y cómo informar una vulnerabilidad: SECURITY.md.
Compruébalo tú mismo
dist/cli.js se construye a partir de estos archivos y nada más. El paquete no tiene
dependencias en tiempo de ejecución.
npm install
npm run build # writes dist/cli.js from src
npm test # the behaviour described above, as tests
Para comparar con lo que npm sirve: npm pack atomicreps, luego lee su
dist/cli.js junto al que acabas de construir. Todo lo que el cliente envía está en
src/api.ts. Todo lo que lee de tu repositorio está en src/infer.ts.
MIT.