diff --git a/README.es-ES.md b/README.es-ES.md new file mode 100644 index 0000000..e092c70 --- /dev/null +++ b/README.es-ES.md @@ -0,0 +1,1741 @@ + + +![](assets/ecc.png) + +# ECC + +![ECC - the harness-native operator system for agentic work](assets/hero.png) + +[![Stars](https://img.shields.io/github/stars/affaan-m/ECC?style=flat)](https://github.com/affaan-m/ECC/stargazers) +[![Forks](https://img.shields.io/github/forks/affaan-m/ECC?style=flat)](https://github.com/affaan-m/ECC/network/members) +[![Contributors](https://img.shields.io/github/contributors/affaan-m/ECC?style=flat)](https://github.com/affaan-m/ECC/graphs/contributors) +[![npm ecc-universal](https://img.shields.io/npm/dw/ecc-universal?label=ecc-universal%20weekly%20downloads&logo=npm)](https://www.npmjs.com/package/ecc-universal) +[![npm ecc-agentshield](https://img.shields.io/npm/dw/ecc-agentshield?label=ecc-agentshield%20weekly%20downloads&logo=npm)](https://www.npmjs.com/package/ecc-agentshield) +[![GitHub App Install](https://img.shields.io/badge/GitHub%20App-150%20installs-2ea44f?logo=github)](https://github.com/marketplace/ecc-tools) +[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) +![Shell](https://img.shields.io/badge/-Shell-4EAA25?logo=gnu-bash&logoColor=white) +![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?logo=typescript&logoColor=white) +![Python](https://img.shields.io/badge/-Python-3776AB?logo=python&logoColor=white) +![Go](https://img.shields.io/badge/-Go-00ADD8?logo=go&logoColor=white) +![Java](https://img.shields.io/badge/-Java-ED8B00?logo=openjdk&logoColor=white) +![Perl](https://img.shields.io/badge/-Perl-39457E?logo=perl&logoColor=white) +![Markdown](https://img.shields.io/badge/-Markdown-000000?logo=markdown&logoColor=white) + +> [!WARNING] +> **Solo desde fuentes oficiales.** Instala ECC únicamente desde canales verificados: el repositorio de GitHub [github.com/affaan-m/ECC](https://github.com/affaan-m/ECC), los paquetes npm [`ecc-universal`](https://www.npmjs.com/package/ecc-universal) y [`ecc-agentshield`](https://www.npmjs.com/package/ecc-agentshield), la [Aplicación de GitHub](https://github.com/apps/ecc-tools), el slug del complemento `ecc@ecc` y el sitio web del proyecto [ecc.tools](https://ecc.tools). Las reubicaciones de terceros y los espejos no oficiales no son mantenedos ni auditados por el proyecto y pueden contener malware. + +> **182K+ estrellas** | **28K+ bifurcaciones** | **170+ colaboradores** | **12+ ecosistemas de lenguajes** | **Flujos de trabajo de agentes entre harness** + +**Sistema operativo nativo de harness para trabajo con agentes. Construido sobre flujos de trabajo de ingeniería multi-harness reales.** + +Más que una configuración. Un sistema completo: habilidades, instintos, optimización de memoria, aprendizaje continuo, escaneos de seguridad y desarrollo priorizado por investigación. Agentes, habilidades, hooks, reglas, configuraciones MCP y shims de comandos legos listos para producción, evolucionados continuamente durante más de 10 meses de uso diario intensivo para construir productos reales. + +Compatible con **Codex**, **Claude Code**, **Cursor**, **OpenCode**, **Gemini**, **Zed**, **GitHub Copilot** y otros harness de agentes de IA. + +ECC v2.0.0-rc.1 añade sobre esta capa reutilizable la historia pública del operador Hermes: comienza con la [Guía de configuración de Hermes](docs/HERMES-SETUP.md), luego consulta las [notas de lanzamiento de rc.1](docs/releases/2.0.0-rc.1/release-notes.md) y la [arquitectura entre harness](docs/architecture/cross-harness.md). + +--- + + + + + + + +
+ + ECC Pro
+ Repositorios privados · Aplicación de GitHub · $19/plaza/mes +
+
+ + Comunidad +
+ Discusiones · Preguntas y respuestas · Exposiciones y compartir +
+
+ + Aplicación de GitHub
+ Instalar · Auditoría de PR · Versión gratuita +
+
+ +**El código abierto se mantiene gratuito.** Este repositorio siempre tendrá licencia MIT. + +--- + +## Guías + +Este repositorio solo contiene el código fuente. Las guías explican todo. + + + + + + + + + + + + +
+ +The Shorthand Guide to ECC + + + +The Longform Guide to ECC + + + +The Shorthand Guide to Everything Agentic Security + +
Guía breve
Configuración, fundamentos, filosofía.Lee esta guía primero.
Guía detallada
Optimización de tokens, persistencia de memoria, evaluación, paralelización.
Guía de seguridad
Vectores de ataque, sandbox, limpieza, CVE, AgentShield.
+ +| Tema | Lo que aprenderás | +|-------|-------------------| +| Optimización de tokens | Selección de modelos, concisión de prompts del sistema, procesos en segundo plano | +| Persistencia de memoria | Hooks para guardar/cargar contexto automáticamente entre sesiones | +| Aprendizaje continuo | Extracción automática de patrones de sesiones a habilidades reutilizables | +| Bucles de verificación | Evaluaciones de puntos de control y continuas, tipos de evaluadores, métricas pass@k | +| Paralelización | Git worktrees, métodos en cascada, cuándo escalar instancias | +| Orquestación de subagentes | Problemas de contexto, patrones de recuperación iterativa | + +--- + +## Novedades + +### v2.0.0-rc.1 — Actualización de interfaz, flujos de trabajo del operador y ECC 2.0 Alpha (abril de 2026) + +- **GUI del panel de control** — Nueva aplicación de escritorio basada en Tkinter (`ecc_dashboard.py` o `npm run dashboard`), con cambio de temas oscuro/claro, personalización de fuentes y logotipos del proyecto en el encabezado y la barra de tareas. +- **Interfaz pública sincronizada con repositorios activos** — Los metadatos, conteos de directorios, listas de complementos y documentación orientada a la instalación ahora coinciden con la interfaz de código abierto real: 63 agentes, 249 habilidades y 79 shims de comandos legos. +- **Expansión de flujos de trabajo del operador y salientes** — `brand-voice`, `social-graph-ranker`, `connections-optimizer`, `customer-billing-ops`, `ecc-tools-cost-audit`, `google-workspace-ops`, `project-flow-ops` y `workspace-surface-audit` perfeccionan el canal del operador. +- **Herramientas de medios y lanzamiento** — `manim-video`, `remotion-video-creation` y la interfaz de publicación social mejorada hacen que los comentarios técnicos y el contenido de lanzamiento sean parte del mismo sistema. +- **Crecimiento de interfaz de marco y producto** — `nestjs-patterns`, una interfaz de instalación Codex/OpenCode más rica y un empaquetado entre harness expandido hacen que el repositorio no esté limitado a Claude Code. +- **Paquete de habilidades de mercados de predicción Itô** — `ito-market-intelligence`, `ito-basket-compare`, `ito-trade-planner`, `ito-data-atlas-agent`, `prediction-market-oracle-research` y `prediction-market-risk-review` añaden flujos de trabajo de mercado/canasta públicos y no consultivos, manteniendo el acceso a la API Itô en tiempo real restringido y separado de la facturación de ECC Tools. +- **Paquete de habilidades de optimización** — `parallel-execution-optimizer`, `benchmark-optimization-loop`, `data-throughput-accelerator`, `latency-critical-systems` y `recursive-decision-ledger` convierten prompts de velocidad/recursión repetitivos en flujos de trabajo acotados de benchmarks, throughput y libros de decisiones. +- **ECC 2.0 alpha en el árbol** — El prototipo del plano de control en Rust en `ecc2/` ahora se puede compilar localmente y expone los comandos `dashboard`, `start`, `sessions`, `status`, `stop`, `resume` y `daemon`. Está disponible como alpha y aún no se ha lanzado oficialmente. +- **Instantánea del estado del operador** — `ecc status --markdown --write status.md` convierte el almacenamiento de estado local en documentación de entrega portátil, cubriendo estado de lista, sesiones activas, estado de salud de habilidades, estado de instalación, eventos de gobernanza pendientes y elementos de trabajo vinculados de Linear/GitHub/handoffs. Usa `ecc work-items upsert ...` para entrada manual, `ecc work-items sync-github --repo owner/repo` para el estado de la cola de PR/issue, y `ecc status --exit-code` para hacer fallar la automatización cuando se requiere atención al estado de lista. +- **Fortalecimiento del ecosistema** — AgentShield, control de costos de ECC Tools, trabajo de portal de facturación y actualización del sitio web continúan alrededor de lanzamientos de complementos centrales, sin desviarse hacia islas independientes. + +### v1.9.0 — Instalación selectiva y expansión de lenguajes (marzo de 2026) + +- **Arquitectura de instalación selectiva** — Tubos de instalación impulsados por manifiestos, con instalación de componentes dirigidos usando `install-plan.js` y `install-apply.js`. El almacenamiento de estado rastrea lo instalado y soporta actualizaciones incrementales. +- **6 nuevos agentes** — `typescript-reviewer`, `pytorch-build-resolver`, `java-build-resolver`, `java-reviewer`, `kotlin-reviewer`, `kotlin-build-resolver` expanden la cobertura de lenguajes a 10. +- **Nuevas habilidades** — `pytorch-patterns` para flujos de trabajo de aprendizaje profundo, `documentation-lookup` para investigación de referencia de API, `bun-runtime` y `nextjs-turbopack` para toolchains JS modernas, más 8 habilidades de dominio operativo y `mcp-server-patterns`. +- **Infraestructura de sesiones y estado** — Almacenamiento de estado SQLite y CLI de consulta, adaptadores de sesión para registros estructurados, base para evolución de habilidades para auto-mejora. +- **Refactorización de orquestación** — Puntuación de auditoría de harness determinista, estado de orquestación y compatibilidad de lanzadores reforzados, prevención de bucles observadores con 5 capas de protección. +- **Fiabilidad del observador** — Arreglo de explosión de memoria con throttling y muestreo de cola, corrección de acceso a sandbox, lógica de inicio diferido y protección contra reentrancia. +- **12 ecosistemas de lenguajes** — Nuevas reglas para Java, PHP, Perl, Kotlin/Android/KMP, C++ y Rust se unen a las reglas existentes de TypeScript, Python, Go y genéricas. +- **Contribuciones comunitarias** — Traducciones al coreano y chino, optimización de hook biome, habilidades de procesamiento de video, habilidades operativas, instalador de PowerShell, soporte para IDE Antigravity. +- **CI reforzado** — 19 fallos de prueba arreglados, aplicación de conteo de directorios, validación de lista de instalación, suite completa de pruebas aprobada. + +### v1.8.0 — Sistema de rendimiento de harness (marzo de 2026) + +- **Lanzamiento priorizado por harness** — ECC ahora se posiciona explícitamente como un sistema de rendimiento de harness de agentes, no solo como un paquete de configuración. +- **Refactorización de fiabilidad de hooks** — Fallback raíz para SessionStart, resumen de sesión en fase Stop, y hooks basados en scripts que reemplazan one-liners inline frágiles. +- **Control de hooks en tiempo de ejecución** — `ECC_HOOK_PROFILE=minimal|standard|strict` y `ECC_DISABLED_HOOKS=...` para control en tiempo de ejecución sin editar archivos de hook. +- **Nuevos comandos de harness** — `/harness-audit`, `/loop-start`, `/loop-status`, `/quality-gate`, `/model-route`. +- **NanoClaw v2** — Enrutamiento de modelos, carga caliente de habilidades, ramificación/búsqueda/exportación/compresión/métricas de sesión. +- **Consistencia entre harness** — Comportamiento ajustado entre aplicaciones/CLI de Claude Code, Cursor, OpenCode y Codex. +- **997 pruebas internas aprobadas** — Suite completa aprobada tras refactorización de hooks/tiempo de ejecución y actualizaciones de compatibilidad. + +### v1.7.0 — Expansión multiplataforma y constructor de demos (febrero de 2026) + +- **Soporte para aplicación y CLI de Codex** — Soporte de Codex basado directamente en `AGENTS.md`, instalación dirigida y documentación de Codex +- **Habilidad `frontend-slides`** — Constructor de demos HTML sin dependencias, con guía de conversión PPTX y reglas estrictas de adaptación de viewport +- **5 nuevas habilidades genéricas de negocio/contenido** — `article-writing`, `content-engine`, `market-research`, `investor-materials`, `investor-outreach` +- **Cobertura de herramientas más amplia** — Soporte ajustado para Cursor, Codex y OpenCode, permitiendo que el mismo repositorio se publiquen limpiamente en todos los harness principales +- **992 pruebas internas** — Validación y cobertura de regresión extendida en complementos, hooks, habilidades y empaquetado + +### v1.6.0 — CLI de Codex, AgentShield y Marketplace (febrero de 2026) + +- **Soporte para CLI de Codex** — Nuevo comando `/codex-setup` genera `codex.md` para compatibilidad con CLI de OpenAI Codex +- **7 nuevas habilidades** — `search-first`, `swift-actor-persistence`, `swift-protocol-di-testing`, `regex-vs-llm-structured-text`, `content-hash-cache-pattern`, `cost-aware-llm-pipeline`, `skill-stocktake` +- **Integración de AgentShield** — La habilidad `/security-scan` ejecuta AgentShield directamente desde Claude Code; 1282 pruebas, 102 reglas +- **Marketplace de GitHub** — Aplicación de GitHub ECC Tools en línea en [github.com/marketplace/ecc-tools](https://github.com/marketplace/ecc-tools), con versiones gratuita/professional/enterprise +- **30+ PR comunitarios fusionados** — Contribuciones de 30 colaboradores en 6 lenguajes +- **978 pruebas internas** — Suite de validación extendida en agentes, habilidades, comandos, hooks y reglas + +### v1.4.1 — Corrección de errores (febrero de 2026) + +- **Corregida pérdida de contenido en importación de instintos** — `parse_instinct_file()` eliminaba silenciosamente todo después del frontmatter durante `/instinct-import` (secciones Action, Evidence, Examples).([#148](https://github.com/affaan-m/ECC/issues/148),[#161](https://github.com/affaan-m/ECC/pull/161)) + +### v1.4.0 — Reglas multilingües, asistente de instalación y PM2 (febrero de 2026) + +- **Asistente de instalación interactivo** — Nueva habilidad `configure-ecc` ofrece configuración guiada con detección de fusión/sobrescritura +- **PM2 y orquestación multi-agente** — 6 nuevos comandos (`/pm2`, `/multi-plan`, `/multi-execute`, `/multi-backend`, `/multi-frontend`, `/multi-workflow`) para gestionar flujos de trabajo multi-servicio complejos +- **Arquitectura de reglas multilingües** — Reglas refactorizadas de archivos planos a directorios `common/` + `typescript/` + `python/` + `golang/`. Instala solo los lenguajes que necesitas +- **Traducción al chino (zh-CN)** — Traducción completa de todos los agentes, comandos, habilidades y reglas (80+ archivos) +- **CONTRIBUTING.md mejorado** — Plantillas detalladas de PR para cada tipo de contribución + +### v1.3.0 — Soporte para complemento de OpenCode (febrero de 2026) + +- **Integración completa de OpenCode** — 12 agentes, 24 comandos, 16 habilidades, soporte para hooks a través del sistema de complementos de OpenCode (20+ tipos de eventos) +- **3 herramientas personalizadas nativas** — run-tests, check-coverage, security-audit +- **Documentación LLM** — `llms.txt` para documentación completa de OpenCode + +### v1.2.0 — Comandos y habilidades unificados (febrero de 2026) + +- **Soporte Python/Django** — Habilidades de patrones Django, seguridad, TDD y verificación +- **Habilidades Java Spring Boot** — Patrones, seguridad, TDD y verificación para Spring Boot +- **Gestión de sesiones** — Comando `/sessions` para historial de sesiones +- **Aprendizaje continuo v2** — Aprendizaje basado en instintos con puntuación de confianza, importación/exportación y evolución + +Consulta el registro de cambios completo en [Releases](https://github.com/affaan-m/ECC/releases). + +--- + +## Inicio rápido + +Ponte en marcha en 2 minutos: + +### Elige solo un método + +La mayoría de los usuarios de Claude Code deberían usar solo un método de instalación: + +- **Método por defecto recomendado:** Instala el complemento de Claude Code y copia solo las carpetas de reglas que realmente quieras. +- **Usa el instalador manual solo si:** Necesitas un control más granular, quieres evitar por completo la ruta del complemento o tu versión de Claude Code tiene dificultades para parsear entradas del marketplace autohospedado. +- **No apiles métodos de instalación.** La configuración dañada más común es: ejecutar `/plugin install` primero, luego `install.sh --profile full` o `npx ecc-install --profile full`. + +Si ya apilaste múltiples instalaciones y parece que hay duplicados, salta directamente a [Restablecer / Desinstalar ECC](#restablecer--desinstalar-ecc). + +### Ruta de bajo contexto / sin hooks + +Si los hooks te parecen demasiado globales o solo quieres las reglas, agentes, comandos y habilidades de flujo de trabajo central de ECC, omite el complemento y usa configuración manual mínima: + +```bash +./install.sh --profile minimal --target claude +``` + +```powershell +.\install.ps1 --profile minimal --target claude +# o +npx ecc-install --profile minimal --target claude +``` + +Esta configuración excluye intencionalmente `hooks-runtime`. + +Si quieres la configuración central normal pero necesitas desactivar los hooks, usa: + +```bash +./install.sh --profile core --without baseline:hooks --target claude +``` + +Añade hooks solo después si quieres aplicación en tiempo de ejecución: + +```bash +./install.sh --target claude --modules hooks-runtime +``` + +### Encuentra primero los componentes correctos + +Si no estás seguro de qué configuración o componentes de ECC instalar, pregunta al consultor empaquetado desde cualquier proyecto: + +```bash +npx ecc consult "security reviews" --target claude +``` + +Devuelve componentes coincidentes, perfiles relevantes y comandos de vista previa/instalación. Si quieres verificar el plan de archivos exacto, usa el comando de vista previa antes de instalar. + +Para flujos de trabajo de ML/MLOps en producción, mantén la instalación selectiva y con alcance de componentes: + +```bash +npx ecc consult "mlops training model deployment" --target claude +npx ecc install --profile minimal --target claude --with capability:machine-learning +``` + +### Paso 1: Instalar el complemento (recomendado) + +> Nota: Los complementos son convenientes, pero si tu versión de Claude Code tiene dificultades para parsear entradas del marketplace autohospedado, el instalador OSS a continuación sigue siendo la ruta más fiable. + +```bash +# Añadir marketplace +/plugin marketplace add https://github.com/affaan-m/ECC + +# Instalar complemento +/plugin install ecc@ecc +``` + +### Notas sobre nomenclatura y migración + +ECC ahora tiene tres identificadores públicos que no son intercambiables: + +- Repositorio fuente de GitHub: `affaan-m/ECC` +- Identificador de marketplace/complemento de Claude: `ecc@ecc` +- Paquete npm: `ecc-universal` + +Esto es intencional. Las instalaciones de marketplace/complemento de Anthropic están tipadas por identificador de complemento canónico, por lo que ECC usa `ecc@ecc` para mantener el nombre de la herramienta y el namespace de comandos con barra lo suficientemente corto para satisfacer a los validadores estrictos de Desktop/API. Publicaciones más antiguas pueden mostrar aún el antiguo identificador largo del marketplace; trátalo solo como un alias legado. Además, el paquete npm se mantiene en `ecc-universal`, por lo que las instalaciones npm y las del marketplace usan intencionalmente nombres diferentes. + +### Paso 2: Instalar reglas solo cuando sea necesario + +> Advertencia: **Importante:** Los complementos de Claude Code no pueden distribuir `rules` automáticamente. +> +> Si ya instalaste ECC a través de `/plugin install`, **no ejecutes `./install.sh --profile full`, `.\install.ps1 --profile full` o `npx ecc-install --profile full` después**. El complemento ya ha cargado las habilidades, comandos y hooks de ECC. Ejecutar el instalador completo después de la instalación del complemento copiará la misma interfaz a tu directorio de usuario y podría crear habilidades duplicadas y comportamiento de runtime duplicado. +> +> Para instalaciones de complemento, copia manualmente solo los directorios `rules/` que quieras bajo `~/.claude/rules/ecc/`. Comienza con `rules/common` más un paquete de lenguaje o marco que uses realmente. No copies cada directorio de reglas a menos que quieras explícitamente todo ese contexto en Claude. +> +> Usa el instalador completo solo para una instalación ECC totalmente manual en lugar de la ruta del complemento. +> +> Si tu configuración local de Claude se borra o restablece, eso no significa que necesites reinstalar ECC. Comienza con `node scripts/ecc.js list-installed`, luego ejecuta `node scripts/ecc.js doctor` y `node scripts/ecc.js repair`, y reinstala lo necesario. Esto generalmente restaura los archivos gestionados por ECC sin reconstruir la configuración. Si el problema es de cuenta o acceso al marketplace de ECC Tools, maneja la recuperación de facturación/cuenta por separado. + +```bash +# Primero clona el repositorio +git clone https://github.com/affaan-m/ECC.git +cd ECC + +# Instala dependencias (elige tu gestor de paquetes) +npm install # o: pnpm install | yarn install | bun install + +# Ruta de instalación de complemento: copia solo las reglas ECC al namespace gestionado por ECC +mkdir -p ~/.claude/rules/ecc +cp -R rules/common ~/.claude/rules/ecc/ +cp -R rules/typescript ~/.claude/rules/ecc/ + +# Ruta de instalación ECC totalmente manual (usa esta en lugar de /plugin install) +# ./install.sh --profile full +``` + +```powershell +# Windows PowerShell + +# Ruta de instalación de complemento: copia solo las reglas ECC al namespace gestionado por ECC +New-Item -ItemType Directory -Force -Path "$HOME/.claude/rules/ecc" | Out-Null +Copy-Item -Recurse rules/common "$HOME/.claude/rules/ecc/" +Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/ecc/" + +# Ruta de instalación ECC totalmente manual (usa esta en lugar de /plugin install) +# .\install.ps1 --profile full +# npx ecc-install --profile full +``` + +Consulta el README en la carpeta `rules/` para instrucciones de instalación manual. Al copiar reglas manualmente, copia todo el directorio del lenguaje (ej. `rules/common` o `rules/golang`), no los archivos dentro, para que las referencias relativas funcionen y los nombres de archivo no entren en conflicto. + +### Instalación totalmente manual (alternativa) + +Usa solo si saltas intencionalmente la ruta del complemento: + +```bash +./install.sh --profile full +``` + +```powershell +.\install.ps1 --profile full +# o +npx ecc-install --profile full +``` + +Si eliges esta ruta, detente aquí. No ejecutes `/plugin install` al mismo tiempo. + +### Restablecer / Desinstalar ECC + +Si ECC se siente repetitivo, invasivo o dañado, no sigas reinstalando encima. + +- **Ruta de complemento:** Elimina el complemento de Claude Code y luego elimina las carpetas de reglas específicas que copiaste manualmente en `~/.claude/rules/ecc/`. +- **Ruta de instalador manual / CLI:** Desde la raíz del repositorio, primero previsualiza la eliminación: + +```bash +node scripts/uninstall.js --dry-run +``` + +Luego elimina los archivos gestionados por ECC: + +```bash +node scripts/uninstall.js +``` + +También puedes usar los wrappers de ciclo de vida: + +```bash +node scripts/ecc.js list-installed +node scripts/ecc.js doctor +node scripts/ecc.js repair +node scripts/ecc.js uninstall --dry-run +``` + +ECC solo elimina archivos registrados en su estado de instalación. No elimina archivos no relacionados que no instaló. + +Si apilaste métodos, limpia en este orden: + +1. Elimina la instalación del complemento de Claude Code. +2. Ejecuta el comando de desinstalación de ECC desde la raíz del repositorio para eliminar archivos gestionados por el estado de instalación. +3. Elimina cualquier carpeta de reglas adicional que copiaste manualmente y ya no quieras. +4. Reinstala una vez, usando una sola ruta. + +### Paso 3: Comenzar a usar + +```bash +# Las habilidades son la interfaz principal de flujo de trabajo. +# Al migrar desde commands/, los nombres de comandos estilo barra existentes siguen funcionando. + +# Las instalaciones de complemento usan la forma canónica con namespace +/ecc:plan "Add user authentication" + +# Las instalaciones manuales mantienen la forma corta con barra: +# /plan "Add user authentication" + +# Verifica comandos disponibles +/plugin list ecc@ecc +``` + +**¡Eso es todo!** Ahora puedes acceder a 63 agentes, 249 habilidades y 79 shims de comandos legos. + +### GUI del panel de control + +Inicia el panel de control de escritorio para navegar visualmente los componentes de ECC: + +```bash +npm run dashboard +# o +python3 ./ecc_dashboard.py +``` + +**Funcionalidades:** +- Interfaz por pestañas: Agentes, Habilidades, Comandos, Reglas, Configuración +- Cambio de temas oscuro/claro +- Personalización de fuentes (familia y tamaño) +- Logotipos del proyecto en encabezado y barra de tareas +- Búsqueda y filtrado en todos los componentes + +### Los comandos multi-modelo requieren configuración adicional + +> Advertencia: Los comandos `multi-*` **no** están incluidos en la instalación base de complemento/reglas anterior. +> +> Para usar `/multi-plan`, `/multi-execute`, `/multi-backend`, `/multi-frontend` y `/multi-workflow`, también debes instalar el runtime `ccg-workflow`. +> +> Inicializa con `npx ccg-workflow`. +> +> Este runtime proporciona las dependencias externas que esperan estos comandos, incluyendo: +> - `~/.claude/bin/codeagent-wrapper` +> - `~/.claude/.ccg/prompts/*` +> +> Sin `ccg-workflow`, estos comandos `multi-*` no funcionarán correctamente. + +--- + +## Soporte multiplataforma + +Este complemento ahora soporta completamente **Windows, macOS y Linux**, con integración estrecha a través de IDE principales (Cursor, Zed, OpenCode, Antigravity) y CLI harness. Todos los hooks y scripts han sido reescritos en Node.js para máxima compatibilidad. + +### Detección de gestores de paquetes + +El complemento detecta automáticamente tu gestor de paquetes preferido (npm, pnpm, yarn o bun) con la siguiente prioridad: + +1. **Variable de entorno**: `CLAUDE_PACKAGE_MANAGER` +2. **Configuración del proyecto**: `.claude/package-manager.json` +3. **package.json**: Campo `packageManager` +4. **Archivos lock**: Detectado desde package-lock.json, yarn.lock, pnpm-lock.yaml o bun.lockb +5. **Configuración global**: `~/.claude/package-manager.json` +6. **Fallback**: Primer gestor de paquetes disponible + +Para configurar tu gestor de paquetes preferido: + +```bash +# A través de variable de entorno +export CLAUDE_PACKAGE_MANAGER=pnpm + +# A través de configuración global +node scripts/setup-package-manager.js --global pnpm + +# A través de configuración del proyecto +node scripts/setup-package-manager.js --project bun + +# Detectar configuración actual +node scripts/setup-package-manager.js --detect +``` + +O usa el comando `/setup-pm` en Claude Code. + +### Control de hooks en tiempo de ejecución + +Usa banderas de runtime para ajustar la estrictitud o desactivar temporalmente hooks específicos: + +```bash +# Configuración de estrictitud de hooks (por defecto: standard) +export ECC_HOOK_PROFILE=standard + +# IDs de hooks a desactivar (separados por comas) +export ECC_DISABLED_HOOKS="pre:bash:tmux-reminder,post:edit:typecheck" + +# Limitar contexto adjunto de SessionStart (por defecto: 8000 caracteres) +export ECC_SESSION_START_MAX_CHARS=4000 + +# Desactivar completamente el contexto adjunto de SessionStart para modelos locales/bajo contexto +export ECC_SESSION_START_CONTEXT=off + +# Mantener advertencias de contexto/alcance/bucles pero suprimir estimaciones de costos de API +export ECC_CONTEXT_MONITOR_COST_WARNINGS=off +``` + +Windows PowerShell: + +```powershell +[Environment]::SetEnvironmentVariable('ECC_CONTEXT_MONITOR_COST_WARNINGS', 'off', 'User') +``` + +--- + +## Contenido incluido + +Este repositorio es un **complemento de Claude Code** - instálalo directamente o copia componentes manualmente. + +``` +ECC/ +|-- .claude-plugin/ # Manifiesto del complemento y marketplace +| |-- plugin.json # Metadatos del complemento y rutas de componentes +| |-- marketplace.json # Directorio de marketplace para /plugin marketplace add +| +|-- agents/ # 63 subagentes especializados para delegación +| |-- planner.md # Planificación de implementación de características +| |-- architect.md # Decisiones de diseño de sistemas +| |-- tdd-guide.md # Desarrollo dirigido por pruebas +| |-- code-reviewer.md # Revisiones de calidad y seguridad +| |-- security-reviewer.md # Análisis de vulnerabilidades +| |-- build-error-resolver.md +| |-- e2e-runner.md # Pruebas E2E con Playwright +| |-- refactor-cleaner.md # Limpieza de código muerto +| |-- doc-updater.md # Sincronización de documentación +| |-- docs-lookup.md # Búsqueda de documentación/API +| |-- chief-of-staff.md # Derivación y borradores de comunicación +| |-- loop-operator.md # Ejecución de bucles autónomos +| |-- harness-optimizer.md # Ajuste de configuración de harness +| |-- cpp-reviewer.md # Revisión de código C++ +| |-- cpp-build-resolver.md # Resolución de errores de compilación C++ +| |-- fsharp-reviewer.md # Revisión de código funcional F# +| |-- go-reviewer.md # Revisión de código Go +| |-- go-build-resolver.md # Resolución de errores de compilación Go +| |-- python-reviewer.md # Revisión de código Python +| |-- database-reviewer.md # Revisión de bases de datos/Supabase +| |-- typescript-reviewer.md # Revisión de código TypeScript/JavaScript +| |-- java-reviewer.md # Revisión de código Java/Spring Boot +| |-- java-build-resolver.md # Errores de compilación Java/Maven/Gradle +| |-- kotlin-reviewer.md # Revisión de código Kotlin/Android/KMP +| |-- kotlin-build-resolver.md # Errores de compilación Kotlin/Gradle +| |-- harmonyos-app-resolver.md # Desarrollo de apps HarmonyOS/ArkTS +| |-- rust-reviewer.md # Revisión de código Rust +| |-- rust-build-resolver.md # Resolución de errores de compilación Rust +| |-- pytorch-build-resolver.md # Errores de entrenamiento PyTorch/CUDA +| |-- mle-reviewer.md # Revisión de pipelines ML en producción, evaluación, servicio y monitoreo +| +|-- skills/ # Definiciones de flujo de trabajo y conocimiento de dominio +| |-- coding-standards/ # Mejores prácticas por lenguaje +| |-- clickhouse-io/ # Análisis ClickHouse, consultas, ingeniería de datos +| |-- backend-patterns/ # Patrones de API, bases de datos, caché +| |-- frontend-patterns/ # Patrones React, Next.js +| |-- frontend-slides/ # Flujos de trabajo de demos web HTML y conversión PPTX (nuevo) +| |-- article-writing/ # Escritura extensa con voz proporcionada, sin tono genérico de IA (nuevo) +| |-- content-engine/ # Flujos de trabajo de contenido social multiplataforma y reutilización (nuevo) +| |-- market-research/ # Investigación de mercado, competidores e inversores con atribución de fuentes (nuevo) +| |-- investor-materials/ # Presentaciones, memorandos de una página, notas y modelos financieros (nuevo) +| |-- investor-outreach/ # Contactos y seguimientos de fundraising personalizados (nuevo) +| |-- continuous-learning/ # Extracción de patrones legados v1 Stop-hook +| |-- continuous-learning-v2/ # Aprendizaje basado en instintos con puntuación de confianza +| |-- iterative-retrieval/ # Optimización progresiva de contexto para subagentes +| |-- strategic-compact/ # Sugerencias de compactación manual (guía detallada) +| |-- tdd-workflow/ # Metodología TDD +| |-- security-review/ # Checklist de seguridad +| |-- eval-harness/ # Evaluación de bucles de verificación (guía detallada) +| |-- verification-loop/ # Verificación continua (guía detallada) +| |-- videodb/ # Video y audio: ingestión, búsqueda, edición, generación, streaming (nuevo) +| |-- golang-patterns/ # Idiomático Go y mejores prácticas +| |-- golang-testing/ # Patrones de pruebas Go, TDD, benchmarks +| |-- cpp-coding-standards/ # Estándares de codificación C++ desde C++ Core Guidelines (nuevo) +| |-- cpp-testing/ # Pruebas C++ con GoogleTest, CMake/CTest (nuevo) +| |-- django-patterns/ # Patrones Django, modelos, vistas (nuevo) +| |-- django-security/ # Mejores prácticas de seguridad Django (nuevo) +| |-- django-tdd/ # Flujos de trabajo TDD Django (nuevo) +| |-- django-verification/ # Bucles de verificación Django (nuevo) +| |-- laravel-patterns/ # Patrones de arquitectura Laravel (nuevo) +| |-- laravel-security/ # Mejores prácticas de seguridad Laravel (nuevo) +| |-- laravel-tdd/ # Flujos de trabajo TDD Laravel (nuevo) +| |-- laravel-verification/ # Bucles de verificación Laravel (nuevo) +| |-- python-patterns/ # Idiomático Python y mejores prácticas (nuevo) +| |-- python-testing/ # Pruebas Python con pytest (nuevo) +| |-- quarkus-patterns/ # Patrones Java Quarkus (nuevo) +| |-- quarkus-security/ # Seguridad Quarkus (nuevo) +| |-- quarkus-tdd/ # TDD Quarkus (nuevo) +| |-- quarkus-verification/ # Verificación Quarkus (nuevo) +| |-- springboot-patterns/ # Patrones Java Spring Boot (nuevo) +| |-- springboot-security/ # Seguridad Spring Boot (nuevo) +| |-- springboot-tdd/ # TDD Spring Boot (nuevo) +| |-- springboot-verification/ # Verificación Spring Boot (nuevo) +| |-- configure-ecc/ # Asistente de instalación interactivo (nuevo) +| |-- security-scan/ # Integración del auditor de seguridad AgentShield (nuevo) +| |-- java-coding-standards/ # Estándares de codificación Java (nuevo) +| |-- jpa-patterns/ # Patrones JPA/Hibernate (nuevo) +| |-- postgres-patterns/ # Patrones de optimización PostgreSQL (nuevo) +| |-- nutrient-document-processing/ # Procesamiento de documentos con API Nutrient (nuevo) +| |-- docs/examples/project-guidelines-template.md # Plantilla para habilidades específicas de proyecto +| |-- database-migrations/ # Patrones de migración (Prisma, Drizzle, Django, Go) (nuevo) +| |-- api-design/ # Diseño REST API, paginación, respuestas de error (nuevo) +| |-- deployment-patterns/ # CI/CD, Docker, health checks, rollback (nuevo) +| |-- docker-patterns/ # Docker Compose, redes, volúmenes, seguridad de contenedores (nuevo) +| |-- e2e-testing/ # Patrones E2E Playwright y modelo de objetos de página (nuevo) +| |-- content-hash-cache-pattern/ # Caché de hash SHA-256 de contenido para procesamiento de archivos (nuevo) +| |-- cost-aware-llm-pipeline/ # Optimización de costos LLM, enrutamiento de modelos, seguimiento de presupuesto (nuevo) +| |-- regex-vs-llm-structured-text/ # Marco de decisión: parsing de texto con regex vs LLM (nuevo) +| |-- swift-actor-persistence/ # Persistencia de datos Swift segura para hilos con actors (nuevo) +| |-- swift-protocol-di-testing/ # DI basada en protocolos para código Swift testeable (nuevo) +| |-- search-first/ # Flujo de trabajo de investigación antes de codificar (nuevo) +| |-- skill-stocktake/ # Auditoría de calidad de habilidades y comandos (nuevo) +| |-- liquid-glass-design/ # Sistema de diseño iOS 26 Liquid Glass (nuevo) +| |-- foundation-models-on-device/ # LLM nativos de Apple con FoundationModels (nuevo) +| |-- swift-concurrency-6-2/ # Concurrencia fácil Swift 6.2 (nuevo) +| |-- mle-workflow/ # Contratos de datos ML en producción, evaluación, despliegue, monitoreo (nuevo) +| |-- perl-patterns/ # Idiomático Perl 5.36+ y mejores prácticas (nuevo) +| |-- perl-security/ # Patrones de seguridad Perl, tainting, I/O seguro (nuevo) +| |-- perl-testing/ # TDD Perl con Test2::V0, prove, Devel::Cover (nuevo) +| |-- autonomous-loops/ # Patrones de bucles autónomos: pipelines secuenciales, bucles de PR, orquestación DAG (nuevo) +| |-- plankton-code-quality/ # Aplicación de calidad de código en escritura con hooks Plankton (nuevo) +| +|-- commands/ # Compatibilidad mantenida de entradas con barra; prioriza skills/ +| |-- plan.md # /plan - Planificación de implementación +| |-- code-review.md # /code-review - Revisión de calidad +| |-- build-fix.md # /build-fix - Corregir errores de compilación +| |-- refactor-clean.md # /refactor-clean - Eliminación de código muerto +| |-- quality-gate.md # /quality-gate - Puerta de verificación +| |-- learn.md # /learn - Extraer patrones durante sesiones (guía detallada) +| |-- learn-eval.md # /learn-eval - Extraer, evaluar y guardar patrones (nuevo) +| |-- checkpoint.md # /checkpoint - Guardar estado de verificación (guía detallada) +| |-- setup-pm.md # /setup-pm - Configurar gestor de paquetes +| |-- go-review.md # /go-review - Revisión de código Go (nuevo) +| |-- go-test.md # /go-test - Flujo de trabajo TDD Go (nuevo) +| |-- go-build.md # /go-build - Corregir errores de compilación Go (nuevo) +| |-- skill-create.md # /skill-create - Generar habilidades desde historial git (nuevo) +| |-- instinct-status.md # /instinct-status - Ver instintos aprendidos (nuevo) +| |-- instinct-import.md # /instinct-import - Importar instintos (nuevo) +| |-- instinct-export.md # /instinct-export - Exportar instintos (nuevo) +| |-- evolve.md # /evolve - Agrupar instintos en habilidades +| |-- prune.md # /prune - Eliminar instintos pendientes caducados (nuevo) +| |-- pm2.md # /pm2 - Gestión de ciclo de vida de servicios PM2 (nuevo) +| |-- multi-plan.md # /multi-plan - Descomposición de tareas multi-agente (nuevo) +| |-- multi-execute.md # /multi-execute - Flujos de trabajo multi-agente orquestados (nuevo) +| |-- multi-backend.md # /multi-backend - Orquestación multi-servicio backend (nuevo) +| |-- multi-frontend.md # /multi-frontend - Orquestación multi-servicio frontend (nuevo) +| |-- multi-workflow.md # /multi-workflow - Flujos de trabajo multi-servicio genéricos (nuevo) +| |-- sessions.md # /sessions - Gestión de historial de sesiones +| |-- test-coverage.md # /test-coverage - Análisis de cobertura de pruebas +| |-- update-docs.md # /update-docs - Actualizar documentación +| |-- update-codemaps.md # /update-codemaps - Actualizar mapas de código +| |-- python-review.md # /python-review - Revisión de código Python (nuevo) +|-- legacy-command-shims/ # Archivo opt-in de shims retirados como /tdd y /eval +| |-- tdd.md # /tdd - Prioriza habilidad tdd-workflow +| |-- e2e.md # /e2e - Prioriza habilidad e2e-testing +| |-- eval.md # /eval - Prioriza habilidad eval-harness +| |-- verify.md # /verify - Prioriza habilidad verification-loop +| |-- orchestrate.md # /orchestrate - Prioriza dmux-workflows o multi-workflow +| +|-- rules/ # Guías que siempre se siguen (copia a ~/.claude/rules/ecc/) +| |-- README.md # Resumen de estructura y guía de instalación +| |-- common/ # Principios independientes del lenguaje +| | |-- coding-style.md # Inmutabilidad, organización de archivos +| | |-- git-workflow.md # Formato de commits, flujo de PR +| | |-- testing.md # TDD, requisito de 80% de cobertura +| | |-- performance.md # Selección de modelos, gestión de contexto +| | |-- patterns.md # Patrones de diseño, proyectos esqueleto +| | |-- hooks.md # Arquitectura de hooks, TodoWrite +| | |-- agents.md # Cuándo delegar a subagentes +| | |-- security.md # Verificaciones de seguridad obligatorias +| |-- typescript/ # Específico de TypeScript/JavaScript +| |-- python/ # Específico de Python +| |-- golang/ # Específico de Go +| |-- swift/ # Específico de Swift +| |-- php/ # Específico de PHP (nuevo) +| |-- arkts/ # Específico de HarmonyOS / ArkTS +| +|-- hooks/ # Automatización basada en eventos +| |-- README.md # Documentación de hooks, recetas y guía de personalización +| |-- hooks.json # Configuración de todos los hooks (PreToolUse, PostToolUse, Stop, etc.) +| |-- memory-persistence/ # Hooks de ciclo de vida de sesión (guía detallada) +| |-- strategic-compact/ # Sugerencias de compactación (guía detallada) +| +|-- scripts/ # Scripts Node.js multiplataforma (nuevo) +| |-- lib/ # Utilidades compartidas +| | |-- utils.js # Utilidades de archivo/ruta/sistema multiplataforma +| | |-- package-manager.js # Detección y selección de gestor de paquetes +| |-- hooks/ # Implementación de hooks +| | |-- session-start.js # Cargar contexto al inicio de sesión +| | |-- session-end.js # Guardar estado al final de sesión +| | |-- pre-compact.js # Guardar estado antes de compactar +| | |-- suggest-compact.js # Sugerencias de compactación estratégica +| | |-- evaluate-session.js # Extraer patrones de sesiones +| |-- setup-package-manager.js # Configuración interactiva de PM +| +|-- tests/ # Suite de pruebas (nuevo) +| |-- lib/ # Pruebas de librería +| |-- hooks/ # Pruebas de hooks +| |-- run-all.js # Ejecutar todas las pruebas +| +|-- contexts/ # Contextos de inyección de prompts del sistema dinámicos (guía detallada) +| |-- dev.md # Contexto de modo de desarrollo +| |-- review.md # Contexto de modo de revisión de código +| |-- research.md # Contexto de modo de investigación/exploración +| +|-- examples/ # Configuraciones y sesiones de ejemplo +| |-- CLAUDE.md # Configuración de ejemplo a nivel de proyecto +| |-- user-CLAUDE.md # Configuración de ejemplo a nivel de usuario +| |-- saas-nextjs-CLAUDE.md # SaaS del mundo real (Next.js + Supabase + Stripe) +| |-- go-microservice-CLAUDE.md # Microservicio Go del mundo real (gRPC + PostgreSQL) +| |-- django-api-CLAUDE.md # API REST Django del mundo real (DRF + Celery) +| |-- laravel-api-CLAUDE.md # API Laravel del mundo real (PostgreSQL + Redis) (nuevo) +| |-- rust-api-CLAUDE.md # API Rust del mundo real (Axum + SQLx + PostgreSQL) (nuevo) +| +|-- mcp-configs/ # Configuraciones de servidores MCP +| |-- mcp-servers.json # GitHub, Supabase, Vercel, Railway, etc. +| +|-- ecc_dashboard.py # Panel de control GUI de escritorio (Tkinter) +| +|-- assets/ # Recursos del panel +| |-- images/ +| |-- ecc-logo.png +| +|-- marketplace.json # Configuración de marketplace autohospedado (para /plugin marketplace add) +``` + +--- + +## Herramientas del ecosistema + +### Creador de habilidades + +Dos métodos para generar habilidades de Claude Code desde tu repositorio: + +#### Opción A: Análisis local (integrado) + +Usa el comando `/skill-create` para análisis local sin servicios externos: + +```bash +/skill-create # Analiza el repositorio actual +/skill-create --instincts # También genera instintos para continuous-learning-v2 +``` + +Esto analiza localmente tu historial git y genera archivos SKILL.md. + +#### Opción B: Aplicación de GitHub (avanzada) + +Para características avanzadas (10k+ commits, PR automáticos, equipo compartido): + +[Instalar aplicación de GitHub](https://github.com/apps/skill-creator) | [ecc.tools](https://ecc.tools) + +```bash +# Comenta en cualquier issue: +/skill-creator analyze + +# O dispara automáticamente al hacer push a la rama por defecto +``` + +Ambas opciones crean: +- **Archivos SKILL.md** - Habilidades listas para usar de Claude Code +- **Colecciones de instintos** - Para continuous-learning-v2 +- **Extracción de patrones** - Aprende de tu historial de commits + +### AgentShield — Auditor de seguridad + +> Construido en el hackathon de Claude Code (Cerebral Valley x Anthropic, febrero de 2026). 1282 pruebas, 98% de cobertura, 102 reglas de análisis estático. + +Escanea tu configuración de Claude Code en busca de vulnerabilidades, errores de configuración y riesgos de inyección. + +```bash +# Escaneo rápido (sin instalación) +npx ecc-agentshield scan + +# Corregir automáticamente problemas de seguridad +npx ecc-agentshield scan --fix + +# Análisis profundo con tres agentes Opus 4.6 +npx ecc-agentshield scan --opus --stream + +# Generar configuración de seguridad desde cero +npx ecc-agentshield init +``` + +**Qué escanea:** CLAUDE.md, settings.json, configuraciones MCP, hooks, definiciones de agentes y habilidades a través de 5 categorías: detección de claves (14 patrones), auditoría de permisos, análisis de inyección de hooks, evaluación de riesgo de servidores MCP y revisión de configuración de agentes. + +**La bandera `--opus`** ejecuta tres agentes Claude Opus 4.6 formando un pipeline red/blue/auditor. El atacante descubre cadenas de explotación, el defensor evalúa contramedidas, el auditor sintetiza ambos en una evaluación de riesgo priorizada. Razonamiento adversarial, no solo coincidencia de patrones. + +**Formatos de salida:** Terminal (graduado por color A-F), JSON (pipelines CI), Markdown, HTML. Código de salida 2 en hallazgos críticos, para puertas de compilación. + +Ejecútalo usando `/security-scan` en Claude Code, o añádelo a CI a través de [GitHub Action](https://github.com/affaan-m/agentshield). + +[GitHub](https://github.com/affaan-m/agentshield) | [npm](https://www.npmjs.com/package/ecc-agentshield) + +### Aprendizaje continuo v2 + +Sistema de aprendizaje basado en instintos que aprende automáticamente tus patrones: + +```bash +/instinct-status # Muestra instintos aprendidos y confianza +/instinct-import # Importa instintos de otros +/instinct-export # Exporta tus instintos para compartir +/evolve # Agrupa instintos relacionados en habilidades +``` + +Consulta `skills/continuous-learning-v2/` para documentación completa. +Mantén `continuous-learning/` solo si quieres explícitamente el flujo legado de habilidades aprendidas del hook Stop v1. + +--- + +## Requisitos + +### Versión de CLI de Claude Code + +**Versión mínima: v2.1.0 o superior** + +Este complemento requiere Claude Code CLI v2.1.0+ debido a cambios en cómo el sistema de complementos maneja los hooks. + +Verifica tu versión: +```bash +claude --version +``` + +### Importante: Comportamiento de carga automática de hooks + +> Advertencia: **Para colaboradores:** No añadas el campo `"hooks"` a `.claude-plugin/plugin.json`. Esto se aplica mediante pruebas de regresión. + +Claude Code v2.1+ **carga automáticamente** `hooks/hooks.json` de cualquier complemento instalado. Declararlo explícitamente en `plugin.json` causará un error de detección duplicada: + +``` +Duplicate hooks file detected: ./hooks/hooks.json resolves to already-loaded file +``` + +**Historial:** Esto causó ciclos repetidos de corrección/restauración en este repositorio ([#29](https://github.com/affaan-m/ECC/issues/29), [#52](https://github.com/affaan-m/ECC/issues/52), [#103](https://github.com/affaan-m/ECC/issues/103)). El comportamiento cambió entre versiones de Claude Code, causando confusión. Ahora tenemos una prueba de regresión para evitar que se reintroduzca. + +--- + +## Instalación + +### Opción 1: Instalar como complemento (recomendado) + +La forma más sencilla de usar este repositorio: instálalo como complemento de Claude Code: + +```bash +# Añade este repositorio como marketplace +/plugin marketplace add https://github.com/affaan-m/ECC + +# Instala el complemento +/plugin install ecc@ecc +``` + +O añádelo directamente a tu `~/.claude/settings.json`: + +```json +{ + "extraKnownMarketplaces": { + "ecc": { + "source": { + "source": "github", + "repo": "affaan-m/ECC" + } + } + }, + "enabledPlugins": { + "ecc@ecc": true + } +} +``` + +Esto te da acceso inmediato a todos los comandos, agentes, habilidades y hooks. + +> **Nota:** El sistema de complementos de Claude Code no soporta distribución de `rules` a través de complementos ([limitación upstream](https://code.claude.com/docs/en/plugins-reference)). Necesitas instalar las reglas manualmente: +> +> ```bash +> # Primero clona el repositorio +> git clone https://github.com/affaan-m/ECC.git +> cd ECC +> +> # Opción A: Reglas a nivel de usuario (para todos los proyectos) +> mkdir -p ~/.claude/rules/ecc +> cp -r rules/common ~/.claude/rules/ecc/ +> cp -r rules/typescript ~/.claude/rules/ecc/ # Elige tu stack tecnológico +> cp -r rules/python ~/.claude/rules/ecc/ +> cp -r rules/golang ~/.claude/rules/ecc/ +> cp -r rules/php ~/.claude/rules/ecc/ +> +> # Opción B: Reglas a nivel de proyecto (solo para el proyecto actual) +> mkdir -p .claude/rules/ecc +> cp -r rules/common .claude/rules/ecc/ +> cp -r rules/typescript .claude/rules/ecc/ # Elige tu stack tecnológico +> ``` + +--- + +### Opción 2: Instalación manual + +Si quieres control manual sobre qué se instala: + +```bash +# Clona el repositorio +git clone https://github.com/affaan-m/ECC.git +cd ECC + +# Copia agentes a tu configuración de Claude +cp agents/*.md ~/.claude/agents/ + +# Copia directorios de reglas (genéricas + específicas por lenguaje) +mkdir -p ~/.claude/rules/ecc +cp -r rules/common ~/.claude/rules/ecc/ +cp -r rules/typescript ~/.claude/rules/ecc/ # Elige tu stack tecnológico +cp -r rules/python ~/.claude/rules/ecc/ +cp -r rules/golang ~/.claude/rules/ecc/ +cp -r rules/php ~/.claude/rules/ecc/ +cp -r rules/arkts ~/.claude/rules/ecc/ + +# Primero copia habilidades (interfaz principal de flujo de trabajo) +# Recomendado (nuevos usuarios): solo habilidades centrales/genéricas +mkdir -p ~/.claude/skills/ecc +cp -r .agents/skills/* ~/.claude/skills/ecc/ +cp -r skills/search-first ~/.claude/skills/ecc/ + +# Opcional: añade habilidades de nicho/específicas de marco solo si las necesitas +# for s in django-patterns django-tdd laravel-patterns springboot-patterns quarkus-patterns; do +# cp -r skills/$s ~/.claude/skills/ecc/ +# done + +# Opcional: mantén compatibilidad de comandos con barra mantenida durante la migración +mkdir -p ~/.claude/commands +cp commands/*.md ~/.claude/commands/ + +# Los shims retirados están en legacy-command-shims/commands/. +# Copia archivos individuales de ahí solo si aún necesitas los nombres antiguos (ej. /tdd). +``` + +#### Instalar hooks + +No copies el archivo `hooks/hooks.json` del repositorio original a `~/.claude/settings.json` o `~/.claude/hooks/hooks.json`. Ese archivo está orientado al complemento/repositorio y está diseñado para ser instalado por el instalador ECC o cargado como complemento, por lo que copiarlo directamente no es una ruta de instalación manual soportada. + +Usa el instalador para instalar solo el runtime de hooks de Claude, para que las rutas de comandos se reescriban correctamente: + +```bash +# macOS / Linux +bash ./install.sh --target claude --modules hooks-runtime +``` + +```powershell +# Windows PowerShell +pwsh -File .\install.ps1 --target claude --modules hooks-runtime +``` + +Esto escribirá los hooks resueltos en `~/.claude/hooks/hooks.json` y mantendrá cualquier `~/.claude/settings.json` existente sin cambios. + +Si instalaste ECC a través de `/plugin install`, no copies estos hooks a `settings.json`. Claude Code v2.1+ ya carga automáticamente `hooks/hooks.json` del complemento, y copiarlos en `settings.json` causará ejecución duplicada y conflictos de hooks multiplataforma. + +Nota para Windows: El directorio de configuración de Claude es `%USERPROFILE%\\.claude`, no `~/claude`. + +#### Configurar MCP + +La instalación del complemento de Claude no autoinicia intencionalmente las definiciones de servidores MCP empaquetados con ECC. Esto evita nombres de herramientas MCP de complemento demasiado largos en gateways de terceros estrictos, mientras mantiene la configuración manual de MCP disponible. + +Usa el comando `/mcp` de Claude Code o configuraciones de MCP gestionadas por CLI para cambios en tiempo real en servidores Claude Code. Usa `/mcp` para desactivar en tiempo de ejecución Claude Code; Claude Code persiste estas elecciones en `~/.claude.json`. + +Para acceso MCP local al repositorio, copia las definiciones de servidores MCP deseadas desde `mcp-configs/mcp-servers.json` a `.mcp.json` a nivel de proyecto. + +Si ya estás ejecutando tus propias copias de MCP empaquetados con ECC, configura: + +```bash +export ECC_DISABLED_MCPS="github,context7,exa,playwright,sequential-thinking,memory" +``` + +Las instalaciones gestionadas por ECC y los flujos de sincronización de Codex saltarán o eliminarán estos servidores empaquetados en lugar de reañadir duplicados. `ECC_DISABLED_MCPS` es un filtro de instalación/sincronización ECC, no un interruptor en tiempo real de Claude Code. + +**Importante:** Reemplaza los placeholders `YOUR_*_HERE` con tus claves API reales. + +--- + +## Conceptos clave + +### Agentes + +Los subagentes manejan tareas delegadas con alcance limitado. Ejemplo: + +```markdown +--- +name: code-reviewer +description: Revisa código por calidad, seguridad y mantenibilidad +tools: ["Read", "Grep", "Glob", "Bash"] +model: opus +--- + +Eres un revisor de código senior... +``` + +### Habilidades + +Las habilidades son la interfaz principal de flujo de trabajo. Se pueden invocar directamente, sugerir automáticamente y están disponibles para reutilización por agentes. ECC aún publica `commands/` mantenidos durante la migración, mientras que los shims de nombres cortos retirados están bajo `legacy-command-shims/` para opt-in explícito. El desarrollo de nuevos flujos de trabajo debe aterrizar primero en `skills/`. + +```markdown +# Flujo de trabajo TDD + +1. Define la interfaz primero +2. Escribe pruebas fallidas (RED) +3. Implementa código mínimo (GREEN) +4. Refactoriza (IMPROVE) +5. Verifica 80%+ de cobertura +``` + +### Hooks + +Los hooks se disparan en eventos de herramientas. Ejemplo - advertir console.log: + +```json +{ + "matcher": "tool == \"Edit\" && tool_input.file_path matches \"\\\\.(ts|tsx|js|jsx)$\"", + "hooks": [{ + "type": "command", + "command": "#!/bin/bash\ngrep -n 'console\\.log' \"$file_path\" && echo '[Hook] Remove console.log' >&2" + }] +} +``` + +### Reglas + +Las reglas son guías que siempre se siguen, organizadas como `common/` (independiente del lenguaje) + directorios específicos por lenguaje: + +``` +rules/ + common/ # Principios genéricos (instalar siempre) + typescript/ # Patrones y herramientas específicos de TS/JS + python/ # Patrones y herramientas específicos de Python + golang/ # Patrones y herramientas específicos de Go + swift/ # Patrones y herramientas específicos de Swift + php/ # Patrones y herramientas específicos de PHP + arkts/ # Patrones y restricciones de HarmonyOS / ArkTS +``` + +Consulta [`rules/README.md`](rules/README.md) para detalles de instalación y estructura. + +--- + +## ¿Qué agente debería usar? + +¿No sabes por dónde empezar? Usa esta referencia rápida. Las habilidades son la interfaz de flujo de trabajo canónica; las entradas con barra mantenidas permanecen disponibles para flujos de trabajo priorizados por comandos. + +| Quiero... | Usa esta interfaz | Agente usado | +|--------------|-----------------|------------| +| Planificar una nueva característica | `/ecc:plan "Add auth"` | planner | +| Diseñar arquitectura de sistema | `/ecc:plan` + agente architect | architect | +| Escribir código y pruebas primero | Habilidad `tdd-workflow` | tdd-guide | +| Revisar código que acabo de escribir | `/code-review` | code-reviewer | +| Corregir compilación fallida | `/build-fix` | build-error-resolver | +| Ejecutar pruebas end-to-end | Habilidad `e2e-testing` | e2e-runner | +| Buscar vulnerabilidades de seguridad | `/security-scan` | security-reviewer | +| Eliminar código muerto | `/refactor-clean` | refactor-cleaner | +| Actualizar documentación | `/update-docs` | doc-updater | +| Revisar código Go | `/go-review` | go-reviewer | +| Revisar código Python | `/python-review` | python-reviewer | +| Revisar código F# | *(llamar directamente a `fsharp-reviewer`)* | fsharp-reviewer | +| Revisar código TypeScript/JavaScript | *(llamar directamente a `typescript-reviewer`)* | typescript-reviewer | +| Desarrollar aplicaciones HarmonyOS | *(llamar directamente a `harmonyos-app-resolver`)* | harmonyos-app-resolver | +| Auditar consultas de base de datos | *(delegación automática)* | database-reviewer | +| Revisar cambios ML en producción | Habilidad `mle-workflow` + agente `mle-reviewer` | mle-reviewer | + +### Flujos de trabajo comunes + +Las formas con barra mostradas a continuación son parte de la interfaz de comandos mantenida. Los shims de nombres cortos retirados (como `/tdd` y `/eval`) están en `legacy-command-shims/` para opt-in explícito. + +**Comenzar una nueva característica:** +``` +/ecc:plan "Add user authentication with OAuth" + → planner crea un blueprint de implementación +Habilidad tdd-workflow → tdd-guide fuerza pruebas primero +/code-review → code-reviewer verifica tu trabajo +``` + +**Corregir un bug:** +``` +Habilidad tdd-workflow → tdd-guide: escribe una prueba que reproduzca el fallo + → Implementa corrección, verifica que la prueba pase +/code-review → code-reviewer: captura regresiones +``` + +**Preparar para producción:** +``` +/security-scan → security-reviewer: auditoría OWASP Top 10 +Habilidad e2e-testing → e2e-runner: pruebas de flujos de usuario críticos +/test-coverage → Verifica 80%+ de cobertura +``` + +--- + +## Preguntas frecuentes + +
+¿Cómo verificar agentes/comandos instalados? + +```bash +/plugin list ecc@ecc +``` + +Esto muestra todos los agentes, comandos y habilidades disponibles en el complemento. +
+ +
+Mis hooks no funcionan / Veo error "Duplicate hooks file" + +Este es el problema más común. **No añadas el campo `"hooks"` a `.claude-plugin/plugin.json`.** Claude Code v2.1+ carga automáticamente `hooks/hooks.json` de complementos instalados. Declararlo explícitamente causará un error de detección duplicada. Consulta [#29](https://github.com/affaan-m/ECC/issues/29), [#52](https://github.com/affaan-m/ECC/issues/52), [#103](https://github.com/affaan-m/ECC/issues/103). +
+ +
+¿Puedo usar ECC con Claude Code en endpoints API personalizados o gateways de modelos? + +Sí. ECC no hardcodea configuraciones de transporte gestionadas por Anthropic. Se ejecuta localmente a través de las interfaces normales de CLI/complemento de Claude Code, por lo que funciona con: + +- Claude Code gestionado por Anthropic +- Configuración oficial de gateway de Claude Code usando `ANTHROPIC_BASE_URL` y `ANTHROPIC_AUTH_TOKEN` +- Endpoints personalizados compatibles que hablan la API de Anthropic que Claude Code espera + +Ejemplo mínimo: + +```bash +export ANTHROPIC_BASE_URL=https://your-gateway.example.com +export ANTHROPIC_AUTH_TOKEN=your-token +claude +``` + +Si tu gateway remapea nombres de modelos, configúralo en Claude Code, no en ECC. Una vez que el CLI `claude` funcione, los hooks, habilidades, comandos e reglas de ECC son independientes del proveedor de modelos. + +Referencias oficiales: +- [Documentación de gateway LLM de Claude Code](https://docs.anthropic.com/en/docs/claude-code/llm-gateway) +- [Documentación de configuración de modelos de Claude Code](https://docs.anthropic.com/en/docs/claude-code/model-config) + +
+ +
+Mi ventana de contexto se está reduciendo / Insuficiente contexto de Claude + +Demasiados servidores MCP consumirán tu contexto. Cada descripción de herramienta MCP gasta tokens de tu ventana de 200k, posiblemente reduciéndola a ~70k. El contexto de SessionStart tiene un límite por defecto de 8000 caracteres; para modelos locales o configuraciones de bajo contexto, redúcelo con `ECC_SESSION_START_MAX_CHARS=4000` o desactívalo con `ECC_SESSION_START_CONTEXT=off`. + +**Solución:** Usa `/mcp` para desactivar MCP sin usar desde Claude Code. Claude Code escribe estas elecciones de runtime en `~/.claude.json`; `.claude/settings.json` y `.claude/settings.local.json` no son interruptores fiables para servidores MCP cargados. + +Mantén menos de 10 MCP activados, mantén menos de 80 herramientas activas. +
+ +
+¿Puedo usar solo ciertos componentes (ej., solo agentes)? + +Sí. Usa la Opción 2 (instalación manual) y copia solo lo que necesitas: + +```bash +# Solo agentes +cp agents/*.md ~/.claude/agents/ + +# Solo reglas +mkdir -p ~/.claude/rules/ecc/ +cp -r rules/common ~/.claude/rules/ecc/ +``` + +Cada componente es completamente independiente. +
+ +
+¿Funciona con Cursor / OpenCode / Codex / Antigravity / GitHub Copilot? + +Sí. ECC es multiplataforma: +- **Cursor**: Configuración pre-traducida en `.cursor/`. Consulta [Soporte para IDE de Cursor](#soporte-para-ide-de-cursor). +- **Gemini CLI**: Soporte experimental local a nivel de proyecto a través de `.gemini/GEMINI.md` y tuberías de instalador compartidas. +- **OpenCode**: Soporte completo de complemento en `.opencode/`. Consulta [Soporte para OpenCode](#soporte-para-opencode). +- **Codex**: Soporte de primer nivel para aplicación macOS y CLI, con protección contra desviación de adaptadores y fallback de SessionStart. Consulta PR [#257](https://github.com/affaan-m/ECC/pull/257). +- **GitHub Copilot (VS Code)**: Capa de instrucciones y prompts a través de `.github/copilot-instructions.md`, `.vscode/settings.json` y `.github/prompts/`. Consulta [Soporte para GitHub Copilot](#soporte-para-github-copilot). +- **Antigravity**: Configuración integrada estrecha a través de flujos de trabajo, habilidades y reglas aplanadas en `.agent/`. Consulta [Guía de Antigravity](docs/ANTIGRAVITY-GUIDE.md). +- **JoyCode / CodeBuddy**: Adaptadores de instalación selectiva local a nivel de proyecto para comandos, agentes, habilidades y reglas aplanadas. Consulta [Guía de adaptador de JoyCode](docs/JOYCODE-GUIDE.md). +- **Qwen CLI**: Adaptadores de instalación selectiva de directorio principal para comandos, agentes, habilidades, reglas y configuración Qwen. Consulta [Guía de adaptador de Qwen CLI](docs/QWEN-GUIDE.md). +- **Zed**: Adaptadores de instalación selectiva local a nivel de proyecto para `.zed/settings.json`, reglas aplanadas, comandos, agentes y habilidades. +- **Harness no nativos**: Rutas de fallback manuales para Grok e interfaces similares. Consulta [Guía de adaptación manual](docs/MANUAL-ADAPTATION-GUIDE.md). +- **Claude Code**: Nativo — este es el objetivo principal. +
+ +
+¿Cómo contribuir nuevas habilidades o agentes? + +Consulta [CONTRIBUTING.md](CONTRIBUTING.md). Versión corta: +1. Haz fork del repositorio +2. Crea tu habilidad en `skills/your-skill-name/SKILL.md` (con frontmatter YAML) +3. O crea un agente en `agents/your-agent.md` +4. Abre un PR describiendo claramente su función y cuándo usarlo +
+ +--- + +## Ejecutar pruebas + +El complemento incluye una suite de pruebas completa: + +```bash +# Ejecutar todas las pruebas +node tests/run-all.js + +# Ejecutar un archivo de prueba individual +node tests/lib/utils.test.js +node tests/lib/package-manager.test.js +node tests/hooks/hooks.test.js +``` + +--- + +## Contribuir + +**Las contribuciones son bienvenidas y alentadas.** + +Este repositorio está diseñado para ser un recurso comunitario. Si tienes: +- Agentes o habilidades útiles +- Hooks inteligentes +- Mejores configuraciones MCP +- Reglas mejoradas + +¡Contribuye! Consulta [CONTRIBUTING.md](CONTRIBUTING.md) para guías. + +### Ideas para contribuir + +- Habilidades específicas por lenguaje (Rust, C#, Kotlin, Java) — Go, Python, Perl, Swift, TypeScript y HarmonyOS/ArkTS están incluidos +- Configuraciones específicas por marco (Rails, FastAPI) — Django, NestJS, Spring Boot y Laravel están incluidos +- Agentes DevOps (Kubernetes, Terraform, AWS, Docker) +- Estrategias de pruebas (diferentes marcos, regresión visual) +- Conocimiento de dominio específico (ML, ingeniería de datos, móvil) + +### Nota sobre el ecosistema comunitario + +Estos no están empaquetados con ECC ni auditados por este repositorio, pero si estás explorando el ecosistema más amplio de habilidades de Claude Code, merecen ser conocidos: + +- [claude-seo](https://github.com/AgriciDaniel/claude-seo) — Colección de habilidades y agentes centrados en SEO +- [claude-ads](https://github.com/AgriciDaniel/claude-ads) — Colección de flujos de trabajo de auditoría publicitaria y crecimiento pagado +- [claude-cybersecurity](https://github.com/AgriciDaniel/claude-cybersecurity) — Colección de habilidades y agentes centrados en seguridad + +--- + +## Soporte para IDE de Cursor + +ECC proporciona soporte para IDE de Cursor a través de hooks, reglas, agentes, habilidades, comandos y configuraciones MCP adaptadas al layout de proyectos de Cursor. + +### Inicio rápido (Cursor) + +```bash +# macOS/Linux +./install.sh --target cursor typescript +./install.sh --target cursor python golang swift php +``` + +```powershell +# Windows PowerShell +.\install.ps1 --target cursor typescript +.\install.ps1 --target cursor python golang swift php +``` + +### Contenido incluido + +| Componente | Cantidad | Detalles | +|-----------|-------|---------| +| Eventos de hook | 15 | sessionStart, beforeShellExecution, afterFileEdit, beforeMCPExecution, beforeSubmitPrompt y 10 más | +| Scripts de hook | 16 | Scripts Node.js minimalistas que delegan a `scripts/hooks/` a través de un adaptador compartido | +| Reglas | 34 | 9 genéricas (alwaysApply) + 25 específicas por lenguaje (TypeScript, Python, Go, Swift, PHP) | +| Agentes | 48 | `.cursor/agents/ecc-*.md` en instalación; prefijos para evitar conflictos con agentes de usuario o marketplace | +| Habilidades | Compartido + empaquetado | `.cursor/skills/` para añadidos traducidos | +| Comandos | Compartido | `.cursor/commands/` si se instala | +| Configuraciones MCP | Compartido | `.cursor/mcp.json` si se instala | + +### Notas sobre carga en Cursor + +ECC no instala el `AGENTS.md` raíz en `.cursor/`. Cursor trata archivos `AGENTS.md` anidados como contexto de directorio, por lo que copiar el identificador de repositorio de ECC al proyecto huésped contaminará ese proyecto. + +El comportamiento nativo de carga de Cursor puede variar según la versión. ECC instala agentes como `.cursor/agents/ecc-*.md`; si tu versión de Cursor no expone agentes de proyecto, estos archivos aún funcionan como definiciones de referencia explícita en lugar de contexto de prompt global oculto. + +### Arquitectura de hooks (patrón adaptador DRY) + +Los eventos de hook de Cursor son **más numerosos que los de Claude Code** (20 vs 8). El módulo `.cursor/hooks/adapter.js` transforma JSON de stdin de Cursor al formato de Claude Code, permitiendo reutilizar `scripts/hooks/*.js` existentes sin duplicación. + +``` +Cursor stdin JSON → adapter.js → transforms → scripts/hooks/*.js + (compartido con Claude Code) +``` + +Hooks clave: +- **beforeShellExecution** — Bloquea servidores de desarrollo fuera de tmux (salida 2), revisiones de git push +- **afterFileEdit** — Formato automático + tipo TypeScript + advertencia console.log +- **beforeSubmitPrompt** — Detecta claves en prompts (patrones sk-, ghp_, AKIA) +- **beforeTabFileRead** — Bloquea lectura de pestaña de archivos .env, .key, .pem (salida 2) +- **beforeMCPExecution / afterMCPExecution** — Registro de auditoría MCP + +### Formato de reglas + +Las reglas de Cursor usan frontmatter YAML con `description`, `globs` y `alwaysApply`: + +```yaml +--- +description: "Extiende estilo de codificación TypeScript para reglas genéricas" +globs: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"] +alwaysApply: false +--- +``` + +--- + +## Soporte para aplicación de Codex en macOS + CLI + +ECC proporciona **soporte de primer nivel para Codex** para aplicaciones macOS y CLI, con configuraciones de referencia, complementos de AGENTS.md específicos de Codex y habilidades compartidas. + +### Inicio rápido (Aplicación de Codex + CLI) + +```bash +# Ejecuta CLI de Codex en el repositorio — AGENTS.md y .codex/ se detectan automáticamente +codex + +# Configuración automática: sincroniza activos de ECC (AGENTS.md, habilidades, servidores MCP) a ~/.codex +npm install && bash scripts/sync-ecc-to-codex.sh +# o: pnpm install && bash scripts/sync-ecc-to-codex.sh +# o: yarn install && bash scripts/sync-ecc-to-codex.sh +# o: bun install && bash scripts/sync-ecc-to-codex.sh + +# O manualmente: copia la configuración de referencia a tu directorio principal +cp .codex/config.toml ~/.codex/config.toml +``` + +El script de sincronización fusiona de forma segura los servidores MCP de ECC a tu `~/.codex/config.toml` existente usando una estrategia **solo añadir** — nunca eliminará ni modificará tus servidores existentes. Usa `--dry-run` para previsualizar cambios, o `--update-mcp` para forzar una actualización de servidores ECC a la configuración recomendada más reciente. + +Para Context7, ECC usa el nombre de sección canónico de Codex `[mcp_servers.context7]`, mientras aún inicia el paquete `@upstash/context7-mcp`. Si tienes entradas antiguas `[mcp_servers.context7-mcp]`, `--update-mcp` las migrará al nombre de sección canónico. + +Aplicación macOS de Codex: +- Abre este repositorio como tu espacio de trabajo. +- El `AGENTS.md` raíz se detecta automáticamente. +- `.codex/config.toml` y `.codex/agents/*.toml` son mejor mantenerlos a nivel de proyecto. +- La referencia `.codex/config.toml` no fija intencionalmente `model` o `model_provider`, para que Codex use sus propios valores predeterminados actuales a menos que los anules. +- Opcional: copia `.codex/config.toml` a `~/.codex/config.toml` para valores predeterminados globales; mantén archivos de roles multi-agente a nivel de proyecto a menos que también copies `.codex/agents/`. + +### Contenido incluido + +| Componente | Cantidad | Detalles | +|-----------|-------|---------| +| Configuración | 1 | `.codex/config.toml` — Aprobación superior/sandbox/búsqueda web, servidores MCP, notificaciones, perfiles | +| AGENTS.md | 2 | Raíz (genérico) + `.codex/AGENTS.md` (complemento específico de Codex) | +| Habilidades | 32 | `.agents/skills/` — SKILL.md + agents/openai.yaml por habilidad | +| Servidores MCP | 6 | GitHub, Context7, Exa, Memory, Playwright, Sequential Thinking (sincronizados como 7 con `--update-mcp`, incluyendo Supabase) | +| Perfiles | 2 | `strict` (sandbox de solo lectura) y `yolo` (aprobación totalmente automática) | +| Roles de agente | 3 | `.codex/agents/` — explorer, reviewer, docs-researcher | + +### Habilidades + +Las habilidades en `.agents/skills/` se cargan automáticamente por Codex: + +Las habilidades canónicas de Anthropic (como `claude-api`, `frontend-design` y `skill-creator`) no se reempaquetan aquí intencionalmente. Instálalas desde [`anthropics/skills`](https://github.com/anthropics/skills) cuando quieras las versiones oficiales. + +| Habilidad | Descripción | +|-------|-------------| +| agent-introspection-debugging | Depuración de comportamiento de agente, enrutamiento y límites de prompt | +| agent-sort | Ordenar directorios de agentes y asignar interfaces | +| api-design | Patrones de diseño REST API | +| article-writing | Escritura extensa desde notas y referencias de voz | +| backend-patterns | Diseño de API, bases de datos, caché | +| brand-voice | Configuración de estilo de escritura derivada de fuentes desde contenido real | +| bun-runtime | Bun como runtime, gestor de paquetes, empaquetador y ejecutor de pruebas | +| coding-standards | Estándares de codificación genéricos | +| content-engine | Contenido social nativo por plataforma y reutilización | +| crosspost | Distribución de contenido multiplataforma a través de X, LinkedIn, Threads | +| deep-research | Investigación multi-fuente con síntesis y atribución de fuentes | +| dmux-workflows | Orquestación multi-agente con gestor de paneles tmux | +| documentation-lookup | Obtén documentación más reciente de librerías y marcos a través de MCP Context7 | +| e2e-testing | Pruebas E2E Playwright | +| eval-harness | Desarrollo impulsado por evaluación | +| everything-claude-code | Convenciones y patrones de desarrollo del proyecto | +| exa-search | Búsqueda neuronal a través de MCP Exa para web, código, investigación de empresas | +| fal-ai-media | Generación de medios unificada para imágenes, video y audio | +| frontend-patterns | Patrones React/Next.js | +| frontend-slides | Presentaciones HTML, conversión PPTX, exploración de estilos visuales | +| investor-materials | Presentaciones, memorandos, modelos y notas de una página | +| investor-outreach | Contactos personalizados, seguimientos y resúmenes de introducción | +| market-research | Investigación de mercado y competidores con atribución de fuentes | +| mcp-server-patterns | Construir servidores MCP usando SDK Node/TypeScript | +| nextjs-turbopack | Empaquetado incremental Next.js 16+ y Turbopack | +| product-capability | Convertir objetivos de producto en mapas de alcance de capacidades | +| security-review | Checklist de seguridad exhaustiva | +| strategic-compact | Gestión de contexto | +| tdd-workflow | Desarrollo dirigido por pruebas, 80%+ de cobertura | +| verification-loop | Compilar, probar, lint, tipo, seguridad | +| video-editing | Flujos de trabajo de edición de video asistida por IA con FFmpeg y Remotion | +| x-api | Integración de API X/Twitter para publicación y análisis | + +### Limitaciones clave + +Codex **aún no proporciona paridad de ejecución de hooks al estilo de Claude**. ECC allí hace aplicación basada en instrucciones a través de `AGENTS.md`, sobrescritura opcional de `model_instructions_file` y configuraciones de sandbox/aprobación. + +### Soporte multi-agente + +La versión actual de Codex soporta flujos de trabajo multi-agentes estables. + +- Habilita `features.multi_agent = true` en `.codex/config.toml` +- Define roles bajo `[agents.]` +- Apunta cada archivo de rol en `.codex/agents/` +- Usa `/agent` en CLI para inspeccionar o guiar subagentes + +ECC publica tres configuraciones de rol de ejemplo: + +| Rol | Propósito | +|------|---------| +| `explorer` | Recopilación de evidencia de código de solo lectura antes de editar | +| `reviewer` | Revisión de corrección, seguridad y pruebas faltantes | +| `docs_researcher` | Verificación de documentación y API antes de cambios de publicación/docs | + +--- + +## Soporte para Zed + +ECC proporciona soporte para proyectos Zed a través de adaptadores `.zed` conservadores para configuración local a nivel de proyecto, reglas aplanadas, agentes, comandos y habilidades. + +```bash +./install.sh --profile minimal --target zed +``` + +```powershell +.\install.ps1 --profile minimal --target zed +``` + +El adaptador escribe archivos gestionados por ECC bajo `.zed/` y mantiene credenciales BYOK/OpenRouter fuera del repositorio. Configura tu cuenta o clave API de Zed a través de la propia interfaz de configuración de Zed o configuraciones de usuario locales. + +--- + +## Soporte para OpenCode + +ECC proporciona **soporte completo para OpenCode**, incluyendo complementos y hooks. + +### Inicio rápido + +```bash +# Instala OpenCode +npm install -g opencode + +# Ejecuta en la raíz del repositorio +opencode +``` + +La configuración se detecta automáticamente desde `.opencode/opencode.json`. + +### Equivalencia funcional + +| Característica | Claude Code | OpenCode | Estado | +|---------|---------------------|----------|--------| +| Agentes | PASS: 63 agentes | PASS: 12 agentes | **Claude Code lidera** | +| Comandos | PASS: 79 comandos | PASS: 35 comandos | **Claude Code lidera** | +| Habilidades | PASS: 249 habilidades | PASS: 37 habilidades | **Claude Code lidera** | +| Hooks | PASS: 8 tipos de eventos | PASS: 11 eventos | **¡OpenCode tiene más!** | +| Reglas | PASS: 29 reglas | PASS: 13 instrucciones | **Claude Code lidera** | +| Servidores MCP | PASS: 14 servidores | PASS: Completo | **Totalmente par** | +| Herramientas personalizadas | PASS: A través de hooks | PASS: 6 herramientas nativas | **OpenCode mejor** | + +### Soporte de hooks a través de complementos + +El sistema de complementos de OpenCode es **más complejo** que el de Claude Code, con 20+ tipos de eventos: + +| Hook de Claude Code | Evento de complemento de OpenCode | +|-----------------|----------------------| +| PreToolUse | `tool.execute.before` | +| PostToolUse | `tool.execute.after` | +| Stop | `session.idle` | +| SessionStart | `session.created` | +| SessionEnd | `session.deleted` | + +**Eventos adicionales de OpenCode**: `file.edited`, `file.watcher.updated`, `message.updated`, `lsp.client.diagnostics`, `tui.toast.show`, etc. + +### Entradas con barra mantenidas + +| Comando | Descripción | +|---------|-------------| +| `/plan` | Crear plan de implementación | +| `/code-review` | Revisar cambios de código | +| `/build-fix` | Corregir errores de compilación | +| `/refactor-clean` | Eliminar código muerto | +| `/learn` | Extraer patrones de sesiones | +| `/checkpoint` | Guardar estado de verificación | +| `/quality-gate` | Ejecutar puertas de verificación mantenidas | +| `/update-docs` | Actualizar documentación | +| `/update-codemaps` | Actualizar mapas de código | +| `/test-coverage` | Analizar cobertura | +| `/go-review` | Revisión de código Go | +| `/go-test` | Flujo de trabajo TDD Go | +| `/go-build` | Corregir errores de compilación Go | +| `/python-review` | Revisión de código Python (PEP 8, type hints, seguridad) | +| `/multi-plan` | Planificación colaborativa multi-modelo | +| `/multi-execute` | Ejecución colaborativa multi-modelo | +| `/multi-backend` | Flujos de trabajo multi-modelo backend | +| `/multi-frontend` | Flujos de trabajo multi-modelo frontend | +| `/multi-workflow` | Flujo de trabajo completo de desarrollo multi-modelo | +| `/pm2` | Generar automáticamente comandos de servicio PM2 | +| `/sessions` | Gestionar historial de sesiones | +| `/skill-create` | Generar habilidades desde git | +| `/instinct-status` | Ver instintos aprendidos | +| `/instinct-import` | Importar instintos | +| `/instinct-export` | Exportar instintos | +| `/evolve` | Agrupar instintos en habilidades | +| `/promote` | Promover instintos de proyecto a alcance global | +| `/projects` | Listar proyectos conocidos y estadísticas de instintos | +| `/prune` | Eliminar instintos pendientes caducados (TTL 30 días) | +| `/learn-eval` | Guardar extracción y evaluación de patrones previos | +| `/setup-pm` | Configurar gestor de paquetes | +| `/harness-audit` | Auditar fiabilidad de harness, preparación para evaluación y postura de riesgo | +| `/loop-start` | Iniciar modo de ejecución de bucles de agentes controlados | +| `/loop-status` | Verificar estado de bucles activos y puntos de control | +| `/quality-gate` | Ejecutar verificaciones de puerta de calidad en rutas o repositorio completo | +| `/model-route` | Enrutar tareas a modelos según complejidad y presupuesto | + +### Instalación del complemento + +**Opción 1: Uso directo** +```bash +cd ECC +opencode +``` + +**Opción 2: Instalar como paquete npm** +```bash +npm install ecc-universal +``` + +Luego añade a tu `opencode.json`: +```json +{ + "plugin": ["ecc-universal"] +} +``` + +Esta entrada de complemento npm habilita el módulo de complemento publicado de ECC para OpenCode (hooks/eventos y herramientas de complemento). +**No** añadirá automáticamente el directorio completo de comandos/agentes/instrucciones de ECC a tu configuración de proyecto. + +Para una configuración ECC OpenCode completa, o bien: +- Ejecuta OpenCode en este repositorio, o +- Copia los activos de configuración `.opencode/` empaquetados a tu proyecto y conecta entradas `instructions`, `agent` y `command` en `opencode.json` + +### Documentación + +- **Guía de migración**: `.opencode/MIGRATION.md` +- **README del complemento OpenCode**: `.opencode/README.md` +- **Reglas fusionadas**: `.opencode/instructions/INSTRUCTIONS.md` +- **Documentación LLM**: `llms.txt` (documentación OpenCode completa para LLM) + +--- + +## Soporte para GitHub Copilot + +ECC proporciona **soporte para GitHub Copilot** en VS Code a través del sistema nativo de instrucciones y prompts de Copilot Chat — sin herramientas adicionales. + +### Contenido incluido + +| Componente | Archivo | Propósito | +|-----------|------|---------| +| Instrucciones centrales | `.github/copilot-instructions.md` | Reglas siempre cargadas: estilo de codificación, seguridad, pruebas, flujo git | +| Configuraciones VS Code | `.vscode/settings.json` | Archivos de instrucciones por tarea para generación de código, pruebas, revisión y mensajes de commit | +| Prompts de planificación | `.github/prompts/plan.prompt.md` | Planificación de implementación por fases | +| Prompts TDD | `.github/prompts/tdd.prompt.md` | Ciclo Red-Green-Improve | +| Prompts de revisión de código | `.github/prompts/code-review.prompt.md` | Revisiones de calidad y seguridad | +| Prompts de revisión de seguridad | `.github/prompts/security-review.prompt.md` | Análisis de seguridad profundo alineado con OWASP | +| Prompts de corrección de compilación | `.github/prompts/build-fix.prompt.md` | Resolución sistemática de errores de compilación y CI | +| Prompts de refactorización | `.github/prompts/refactor.prompt.md` | Limpieza de código muerto y simplificación | + +### Inicio rápido (GitHub Copilot) + +Los archivos están listos — abre cualquier repositorio que contenga este proyecto, y GitHub Copilot Chat obtendrá automáticamente `.github/copilot-instructions.md`. +El `.vscode/settings.json` commitado habilita `chat.promptFiles`, por lo que VS Code puede cargar prompts reutilizables desde `.github/prompts/`. + +Para usar prompts de flujo de trabajo en Copilot Chat: +1. Abre el panel de Copilot Chat en VS Code. +2. Haz clic en el icono de **clip / adjuntar** y selecciona **Prompt...**, o escribe `/` y elige un prompt. +3. Selecciona el prompt (ej. `plan`, `tdd`, `code-review`). + +### Cómo funciona + +GitHub Copilot en VS Code lee automáticamente dos tipos de archivos: + +- **`.github/copilot-instructions.md`** — Instrucciones a nivel de repositorio, siempre inyectadas en cada solicitud de Copilot Chat. Contiene estándares centrales de codificación ECC, checklist de seguridad, requisitos de pruebas y flujo git. +- **`.github/prompts/*.prompt.md`** — Archivos de prompts reutilizables invocados por el usuario bajo demanda. Cada prompt guía a Copilot a través de flujos de trabajo ECC específicos (planificar → TDD → revisar → publicar). + +**`.vscode/settings.json`** añade sobrescrituras de instrucción por tarea, para que Copilot reciba el contexto correcto según si estás generando código, escribiendo pruebas, revisando selección o redactando mensajes de commit. + +### Cobertura funcional + +| Característica ECC | Equivalente Copilot | +|-------------|-------------------| +| Estándares de codificación | Siempre habilitados vía `copilot-instructions.md` | +| Checklist de seguridad | Siempre habilitado + prompt `security-review` | +| Pruebas / TDD | Siempre habilitado + prompt `tdd` | +| Planificación de implementación | Prompt `plan` | +| Revisión de código | Prompt `code-review` | +| Resolución de errores de compilación | Prompt `build-fix` | +| Refactorización | Prompt `refactor` | +| Formato de mensajes de commit | Instrucciones por tarea en `settings.json` | +| Hooks / Automatización | No soportado (Copilot no tiene sistema de hooks) | +| Agentes / Delegación | No soportado (Copilot no tiene API de subagentes) | + +### Limitaciones + +GitHub Copilot no tiene sistema de hooks ni API de subagentes, por lo que la automatización de hooks de ECC (formato automático, tipo TypeScript, persistencia de sesión, protección de servidores de desarrollo) y la delegación de agentes no están disponibles. La capa de instrucciones y prompts aún lleva la filosofía completa de codificación ECC — estándares, seguridad, TDD y flujos de trabajo — a cada sesión de Copilot Chat. + +--- + +## Equivalencia funcional entre herramientas + +ECC es **el primer complemento que maximiza cada herramienta principal de codificación con IA**. Aquí hay una comparación por cada harness: + +| Característica | Claude Code | IDE Cursor | CLI Codex | OpenCode | GitHub Copilot | +|---------|-----------------------|------------|-----------|----------|----------------| +| **Agentes** | 63 | Compartido (AGENTS.md) | Compartido (AGENTS.md) | 12 | No disponible | +| **Comandos** | 79 | Compartido | Basado en instrucciones | 35 | 6 prompts | +| **Habilidades** | 249 | Compartido | 10 (formato nativo) | 37 | A través de instrucciones | +| **Eventos de hook** | 8 tipos | 15 tipos | Aún no | 11 tipos | Ninguno | +| **Scripts de hook** | 20+ scripts | 16 scripts (adaptador DRY) | No disponible | Hooks de complemento | No disponible | +| **Reglas** | 34 (genéricas + lenguaje) | 34 (frontmatter YAML) | Basado en instrucciones | 13 instrucciones | 1 archivo siempre cargado | +| **Herramientas personalizadas** | A través de hooks | A través de hooks | No disponible | 6 herramientas nativas | No disponible | +| **Servidores MCP** | 14 | Compartido (mcp.json) | 7 (fusionado automáticamente por parser TOML) | Completo | No disponible | +| **Formato de configuración** | settings.json | hooks.json + rules/ | config.toml | opencode.json | copilot-instructions.md + settings.json | +| **Archivos de contexto** | CLAUDE.md + AGENTS.md | AGENTS.md | AGENTS.md | AGENTS.md | copilot-instructions.md | +| **Detección de claves** | Basado en hooks | Hook beforeSubmitPrompt | Basado en sandbox | Basado en hooks | Basado en instrucciones | +| **Formato automático** | Hook PostToolUse | Hook afterFileEdit | No disponible | Hook file.edited | No disponible | +| **Versión** | Complemento | Complemento | Configuración de referencia | 2.0.0-rc.1 | Capa de instrucciones | + +**Decisiones arquitectónicas clave:** +- **AGENTS.md** en la raíz es un archivo multi-herramienta genérico (leído por Claude Code, Cursor, Codex y OpenCode — GitHub Copilot usa `.github/copilot-instructions.md` en su lugar) +- El **patrón adaptador DRY** permite a Cursor reutilizar scripts de hooks de Claude Code sin duplicación +- El **formato de habilidades** (SKILL.md con frontmatter YAML) funciona para Claude Code, Codex y OpenCode +- La falta de hooks en Codex se compensa a través de `AGENTS.md`, sobrescritura opcional de `model_instructions_file` y permisos de sandbox + +--- + +## Antecedentes + +He estado usando Claude Code desde su lanzamiento experimental. Gané el hackathon de Anthropic x Forum Ventures en septiembre de 2025 con [@DRodriguezFX](https://x.com/DRodriguezFX) — construyendo completamente [zenith.chat](https://zenith.chat) usando solo Claude Code. + +Estas configuraciones han sido probadas en combate en múltiples aplicaciones de producción. + +--- + +## Optimización de tokens + +Si no gestionas el consumo de tokens, el uso de Claude Code puede ser costoso. Estas configuraciones reducen significativamente los costos sin comprometer la calidad. + +### Configuración recomendada + +Añade a `~/.claude/settings.json`: + +```json +{ + "model": "sonnet", + "env": { + "MAX_THINKING_TOKENS": "10000", + "CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "50" + } +} +``` + +| Configuración | Valor por defecto | Valor recomendado | Impacto | +|---------|---------|-------------|--------| +| `model` | opus | **sonnet** | Reduce costos ~60%; maneja 80%+ de tareas de codificación | +| `MAX_THING_TOKENS` | 31,999 | **10,000** | Reduce costos ocultos de pensamiento ~70% por solicitud | +| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | 95 | **50** | Compacta antes — mejor calidad en sesiones largas | +| `ECC_CONTEXT_MONITOR_COST_WARNINGS` | on | **Apagado para suscriptores** | Suprime advertencias de estimación de costos de API orientadas a agentes, manteniendo advertencias de contexto/alcance/bucles | + +Cambia a Opus solo cuando necesites razonamiento de arquitectura profunda: +``` +/model opus +``` + +### Comandos de flujo de trabajo diario + +| Comando | Cuándo usar | +|---------|-------------| +| `/model sonnet` | Predeterminado para la mayoría de tareas | +| `/model opus` | Arquitectura compleja, depuración, razonamiento profundo | +| `/clear` | Entre tareas no relacionadas (gratis, reset instantáneo) | +| `/compact` | En puntos de interrupción lógicos de tareas (investigación completada, hitos completados) | +| `/cost` | Monitorea gasto de tokens durante sesiones | + +Si usas una suscripción Claude y las estimaciones de costos de API del monitor de contexto no son útiles, configura `ECC_CONTEXT_MONITOR_COST_WARNINGS=off`. Esto solo suprime advertencias de costos orientadas a agentes; no desactiva advertencias de agotamiento de contexto, alcance o bucles. + +### Compresión estratégica + +La habilidad `strategic-compact` (incluida en este complemento) sugiere `/compact` en puntos de interrupción lógicos, en lugar de depender de la compactación automática al 95% de contexto. Consulta `skills/strategic-compact/SKILL.md` para la guía de decisión completa. + +**Cuándo compactar:** +- Después de investigación/exploración, antes de implementar +- Después de completar un hito, antes de comenzar el siguiente +- Después de depuración, antes de continuar con trabajo de características +- Después de enfoques fallidos, antes de intentar métodos nuevos + +**Cuándo no compactar:** +- A mitad de implementación (perderás nombres de variables, rutas de archivos, estado parcial) + +### Gestión de la ventana de contexto + +**Clave:** No actives todos los MCP a la vez. Cada descripción de herramienta MCP gasta tokens de tu ventana de 200k, posiblemente reduciéndola a ~70k. + +- Mantén menos de 10 MCP activados por proyecto +- Mantén menos de 80 herramientas activas +- Usa `/mcp` para desactivar servidores MCP sin usar desde Claude Code; estas elecciones de runtime se persisten en `~/.claude.json` +- Usa solo `ECC_DISABLED_MCPS` para filtrar configuraciones MCP generadas por ECC durante flujos de instalación/sincronización + +### Advertencia de costos para equipos de agentes + +Los equipos de agentes generan múltiples ventanas de contexto. Cada compañero consume tokens independientemente. Úsalos solo en tareas donde la paralelización aporte valor obvio (trabajo multi-módulo, revisiones paralelas). Para tareas secuenciales simples, los subagentes son más ahorradores de tokens. + +--- + +## Advertencia: Notas importantes + +### Optimización de tokens + +¿Llegaste al límite diario? Consulta la **[Guía de optimización de tokens](docs/token-optimization.md)** para configuraciones recomendadas y prompts de flujo de trabajo. + +Victorias rápidas: + +```json +// ~/.claude/settings.json +{ + "model": "sonnet", + "env": { + "MAX_THING_TOKENS": "10000", + "CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "50", + "CLAUDE_CODE_SUBAGENT_MODEL": "haiku" + } +} +``` + +Usa `/clear` entre tareas no relacionadas, `/compact` en puntos de interrupción lógicos y `/cost` para monitorear gastos. + +### Personalización + +Estas configuraciones funcionan para mi flujo de trabajo. Tú deberías: +1. Comenzar con contenido con el que te identifiques +2. Modificar para tu stack tecnológico +3. Eliminar lo que no uses +4. Añadir tus propios patrones + +--- + +## Proyectos comunitarios + +Proyectos basados en o inspirados por ECC: + +| Proyecto | Descripción | +|---------|-------------| +| [EVC](https://github.com/SaigonXIII/evc) | Espacio de trabajo de agentes de marketing — 42 comandos para operadores de contenido, gobernanza de marca y publicación multi-canal. [Visión general visual](https://saigonxiii.github.io/evc). | +| [trading-skills](https://github.com/VictorVVedtion/trading-skills) | 68 habilidades temáticas de trading para Claude Code con prompts de revisión pre-trading y puertas de riesgo inspiradas en operadores de mercado. | + +¿Construiste algo con ECC? Abre un PR para añadirlo aquí. + +--- + +## Historial de estrellas + +[![Gráfico de historial de estrellas](https://api.star-history.com/svg?repos=affaan-m/ECC&type=Date)](https://star-history.com/#affaan-m/ECC&Date) + +--- + +## Enlaces + +- **Guía breve (comienza aquí):** [The Shorthand Guide to Everything Claude Code](https://x.com/affaanmustafa/status/2012378465664745795) +- **Guía detallada (avanzado):** [The Longform Guide to Everything Claude Code](https://x.com/affaanmustafa/status/2014040193557471352) +- **Guía de seguridad:** [Security Guide](./the-security-guide.md) | [Thread](https://x.com/affaanmustafa/status/2033263813387223421) +- **Seguir:** [@affaanmustafa](https://x.com/affaanmustafa) + +--- + +## Licencia + +MIT - Uso libre, modifica según necesites, contribuye de vuelta si puedes. + +--- + +**Si este repositorio te ha sido útil, dale una estrella. Lee las dos guías. Construye algo increíble.**