com um clique
adr-indexer
Indexa decisiones arquitectónicas (ADR) desde comentarios en código
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Indexa decisiones arquitectónicas (ADR) desde comentarios en código
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Descompone una imagen o descripción de UI en componentes reutilizables del design system y genera el kit de componentes base para el proyecto.
Conduce el flujo SDD-ES para personas que no programan (perfil guiado). Define cómo hablar sin jerga, cuándo confirmar antes de actuar, y cómo tomar las decisiones técnicas por el usuario sin bajar el rigor. Se activa cuando estado.json o sdd.config.yaml indican perfil "guiado".
Genera índice AST de archivos JS/TS para navegación estructural sin leer archivos completos
Conecta el proyecto a GitHub automáticamente. Crea repo, configura remote, hace push inicial.
Comprime archivos de memoria de agentes cuando superan umbral (>50KB)
Detecta mutaciones (cambios) en archivos para tracking de calidad
Baseado na classificação ocupacional SOC
| name | adr-indexer |
| model | claude-haiku-4-5 |
| description | Indexa decisiones arquitectónicas (ADR) desde comentarios en código |
| allowed-tools | Read, Write, Bash |
Propósito: Capturar automáticamente decisiones arquitectónicas de comentarios en código y mantener un índice buscable.
El desarrollador (agente) deja una nota en el código:
# ADR: {"decision": "Use PostgreSQL", "context": "ACID needed", "status": "accepted"}
class Database:
pass
Hook agent-memory.js detecta comentarios con patrón ADR: {...} y:
.sdd/arquitectura/ADRs.jsonl/sdd.adr list
→ Tabla de decisiones
/sdd.adr search "database"
→ Solo ADRs que mencionan "database"
/sdd.adr new
→ Captura interactiva de nueva decisión
{
"ts": "2026-06-14T10:30:00Z",
"decision": "Use PostgreSQL for relational data",
"context": "ACID transactions required, multi-tenant",
"alternatives": ["MongoDB", "Firebase"],
"status": "accepted",
"archivo": "src/database.ts",
"linea": 42
}
Campos:
ts — timestamp (automático)decision — qué se decidiócontext — por quéalternatives — opciones consideradasstatus — accepted | rejected | deprecated | supersededarchivo — dónde está el códigolinea — número de línea.sdd/arquitectura/ADRs.jsonlAppend-only JSONL:
{"ts":"2026-06-14T10:30:00Z","decision":"Use PostgreSQL","status":"accepted",...}
{"ts":"2026-06-14T10:31:00Z","decision":"Use Redis for cache","status":"accepted",...}
{"ts":"2026-06-14T10:32:00Z","decision":"JWT for auth","status":"accepted",...}
Ventajas:
/sdd.adr listID | DECISION | CONTEXT | STATUS
───┼───────────────────────────┼──────────────────────┼──────────
1 | Use PostgreSQL | ACID needed | accepted
2 | Cache with Redis | Performance req | accepted
3 | JWT instead of sessions | Stateless API | accepted
/sdd.adr search "security"ID | DECISION | STATUS
───┼───────────────────────────┼──────────
1 | HTTPS only | accepted
2 | Validate all user input | accepted
3 | Encrypt passwords | accepted
/sdd.adr newNuevo ADR — responde las preguntas:
1. Decisión: "Use DynamoDB para analytics"
2. Contexto: "Scale infinitamente, baja latencia"
3. Alternativas: "PostgreSQL partitioning, BigQuery"
4. Status: "accepted" (o "rejected", "deprecated")
✅ Guardado en ADRs.jsonl
agent-memory.jsfunction extraerADRsDelContenido(contenido) {
// Regex multilenguaje: //, /*, #, --, etc.
const regex = /(?:\/\/|\/\*|#|--|<!--|REM)\s*ADR:\s*({[^}]*})/g;
const adrs = [];
let match;
while ((match = regex.exec(contenido)) !== null) {
try {
const json = JSON.parse(match[1]);
adrs.push(json);
} catch {
// Ignorar JSON inválido
}
}
return adrs;
}
function registrarADR(cwd, agente, archivo, adrs) {
const ledgerFile = join(cwd, ".sdd/arquitectura/ADRs.jsonl");
for (const adr of adrs) {
const linea = JSON.stringify({
ts: new Date().toISOString(),
...adr,
archivo: archivo,
agente: agente
});
appendFileSync(ledgerFile, linea + "\n", "utf8");
}
}
adr-parser.jsBatch scan del codebase:
node utils/adr-parser.js . src/**/*.ts --update-ledger
Encuentra todos los ADRs en archivos existentes y los añade al ledger.