Loading...
Loading...
Inspeccionar un proyecto existente para descubrir decisiones arquitectónicas implícitas y proponer ADRs candidatos. Usar cuando el usuario quiera auditar un repositorio en busca de decisiones no documentadas, pida "descubrir ADRs", "qué decisiones arquitectónicas tiene este proyecto", "busca ADRs en el repo", "analiza la arquitectura del proyecto" o cualquier variante que implique explorar el código/estructura para inferir decisiones relevantes que merezcan un ADR. Activar también cuando el usuario llegue a un proyecto nuevo y quiera entender qué decisiones ya se tomaron, aunque no mencione explícitamente "ADR".
npx skill4agent add juanca202/ai adr-discoveradr-manage.agents/MEMORY.mddocs/adr/AcceptedProposedDraftfind . -maxdepth 3 -type d | grep -v node_modules | grep -v .git | grep -v __pycache__| Ecosistema | Archivos a leer |
|---|---|
| Node / JS / TS | |
| Python | |
| JVM | |
| .NET | |
| Rust | |
| Go | |
# Detectar estructura de capas
find src -type d | head -30
# Buscar patrones de diseño comunes
grep -r "Repository\|Service\|Controller\|Handler\|UseCase\|Interactor" src --include="*.ts" --include="*.py" --include="*.java" -l 2>/dev/null | head -20
# Detectar uso de inyección de dependencias
grep -r "inject\|Injectable\|@Autowired\|provide\|container" src -l 2>/dev/null | head -10ls docs/adr/*.md 2>/dev/null || echo "No hay ADRs"## Decisión| Categoría | Ejemplos de señales |
|---|---|
| Lenguaje / runtime | TypeScript strict, versión de Node/Python, uso de Deno/Bun |
| Arquitectura general | Capas (controller/service/repo), DDD, hexagonal, CQRS |
| Persistencia | Elección de BD, ORM vs query builder, estrategia de migraciones |
| API / protocolo | REST vs GraphQL vs tRPC, versioning de API |
| Autenticación | JWT vs sesiones, proveedor OAuth, manejo de refresh tokens |
| Estado / UI | Gestión de estado global, SSR vs CSR, design system |
| Testing | Estrategia de tests (unit/integration/e2e), mocking approach |
| Observabilidad | Logger elegido, estrategia de errores, tracing |
| Modularidad | Monorepo strategy, barrel exports, límites de módulo |
| CI/CD | Pipeline elegido, estrategia de deploy, feature flags |
## ADRs Candidatos Descubiertos
### 🟢 Alta prioridad (decisiones con amplio impacto)
**[C-01] Uso de TypeScript en modo strict**
- Evidencia: `tsconfig.json` con `"strict": true`
- Por qué es una decisión: afecta toda la experiencia de desarrollo y la curva de onboarding
- ADR existente: ninguno
**[C-02] Arquitectura en capas (Controller → Service → Repository)**
- Evidencia: estructura de carpetas `src/controllers/`, `src/services/`, `src/repositories/`
- Por qué es una decisión: define los límites de responsabilidad en todo el sistema
- ADR existente: ninguno
### 🟡 Media prioridad (decisiones relevantes, alcance acotado)
**[C-03] Uso de Prisma como ORM**
- Evidencia: `@prisma/client` en `package.json`, carpeta `prisma/`
- Por qué es una decisión: alternativa a TypeORM, Drizzle, Sequelize — no es la única opción
- ADR existente: ninguno
### ⚪ Baja prioridad (convenciones, menor impacto)
**[C-04] ESLint + Prettier para linting y formato**
- Evidencia: `.eslintrc.js`, `.prettierrc`
- Por qué es una decisión: establece el estándar de calidad de código del equipo
- ADR existente: ninguno
---
Total: X candidatos encontrados. ¿Cuáles quieres documentar como ADR?"¿Cuáles candidatos quieres crear como ADR? Puedes indicarlos por código (C-01, C-03…), por rango (C-01 a C-04), o decir 'todos los de alta prioridad'."
adr-manage## Contextoadr-manage.agents/MEMORY.md