mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-06-11 02:33:10 +08:00
Adds a complete Spanish translation of the ECC documentation under docs/es/, mirroring the Turkish (docs/tr/) translation in scope. 141 files covering agents, commands, rules, skills, contexts, examples, and core docs. Updates root README.md with the Spanish language link. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
474 lines
14 KiB
Markdown
474 lines
14 KiB
Markdown
# Contribuir a Everything Claude Code
|
|
|
|
¡Gracias por querer contribuir! Este repositorio es un recurso comunitario para usuarios de Claude Code.
|
|
|
|
## Tabla de Contenidos
|
|
|
|
- [Qué Buscamos](#qué-buscamos)
|
|
- [Inicio Rápido](#inicio-rápido)
|
|
- [Contribuir Skills](#contribuir-skills)
|
|
- [Política de Adaptación de Skills](#política-de-adaptación-de-skills)
|
|
- [Contribuir Agentes](#contribuir-agentes)
|
|
- [Contribuir Hooks](#contribuir-hooks)
|
|
- [Contribuir Comandos](#contribuir-comandos)
|
|
- [MCP y Documentación (por ejemplo, Context7)](#mcp-y-documentación-por-ejemplo-context7)
|
|
- [Cross-Harness y Traducciones](#cross-harness-y-traducciones)
|
|
- [Proceso de Pull Request](#proceso-de-pull-request)
|
|
|
|
---
|
|
|
|
## Qué Buscamos
|
|
|
|
### Agentes
|
|
Nuevos agentes que manejen tareas específicas de forma eficiente:
|
|
- Revisores específicos de lenguaje (Python, Go, Rust)
|
|
- Expertos en frameworks (Django, Rails, Laravel, Spring)
|
|
- Especialistas en DevOps (Kubernetes, Terraform, CI/CD)
|
|
- Expertos de dominio (pipelines de ML, ingeniería de datos, móvil)
|
|
|
|
### Skills
|
|
Definiciones de flujos de trabajo y conocimiento de dominio:
|
|
- Mejores prácticas por lenguaje
|
|
- Patrones de frameworks
|
|
- Estrategias de prueba
|
|
- Guías de arquitectura
|
|
|
|
### Hooks
|
|
Automatizaciones útiles:
|
|
- Hooks de linting/formateo
|
|
- Verificaciones de seguridad
|
|
- Hooks de validación
|
|
- Hooks de notificación
|
|
|
|
### Comandos
|
|
Comandos slash que invocan flujos de trabajo útiles:
|
|
- Comandos de despliegue
|
|
- Comandos de prueba
|
|
- Comandos de generación de código
|
|
|
|
---
|
|
|
|
## Inicio Rápido
|
|
|
|
```bash
|
|
# 1. Hacer fork y clonar
|
|
gh repo fork affaan-m/everything-claude-code --clone
|
|
cd everything-claude-code
|
|
|
|
# 2. Crear una rama
|
|
git checkout -b feat/mi-contribucion
|
|
|
|
# 3. Añadir tu contribución (ver secciones abajo)
|
|
|
|
# 4. Probar localmente
|
|
cp -r skills/mi-skill ~/.claude/skills/ # para skills
|
|
# Luego probar con Claude Code
|
|
|
|
# 5. Enviar PR
|
|
git add . && git commit -m "feat: add mi-skill" && git push -u origin feat/mi-contribucion
|
|
```
|
|
|
|
---
|
|
|
|
## Contribuir Skills
|
|
|
|
Las skills son módulos de conocimiento que Claude Code carga según el contexto.
|
|
|
|
> **Guía Completa:** Para orientación detallada sobre cómo crear skills efectivas, consulta la [Guía de Desarrollo de Skills](../SKILL-DEVELOPMENT-GUIDE.md). Cubre:
|
|
> - Arquitectura y categorías de skills
|
|
> - Escribir contenido efectivo con ejemplos
|
|
> - Mejores prácticas y patrones comunes
|
|
> - Prueba y validación
|
|
> - Galería de ejemplos completos
|
|
|
|
### Estructura de Directorios
|
|
|
|
```
|
|
skills/
|
|
└── nombre-de-tu-skill/
|
|
└── SKILL.md
|
|
```
|
|
|
|
### Plantilla de SKILL.md
|
|
|
|
```markdown
|
|
---
|
|
name: nombre-de-tu-skill
|
|
description: Descripción breve mostrada en la lista de skills y usada para activación automática
|
|
origin: ECC
|
|
---
|
|
|
|
# Título de Tu Skill
|
|
|
|
Resumen breve de lo que cubre esta skill.
|
|
|
|
## Cuándo Activar
|
|
|
|
Describe los escenarios donde Claude debería usar esta skill. Esto es fundamental para la activación automática.
|
|
|
|
## Conceptos Clave
|
|
|
|
Explica patrones y directrices principales.
|
|
|
|
## Ejemplos de Código
|
|
|
|
\`\`\`typescript
|
|
// Incluye ejemplos prácticos y probados
|
|
function ejemplo() {
|
|
// Código bien comentado
|
|
}
|
|
\`\`\`
|
|
|
|
## Anti-Patrones
|
|
|
|
Muestra lo que NO se debe hacer con ejemplos.
|
|
|
|
## Mejores Prácticas
|
|
|
|
- Directrices accionables
|
|
- Qué hacer y qué no hacer
|
|
- Errores comunes que evitar
|
|
|
|
## Skills Relacionadas
|
|
|
|
Enlaza a skills complementarias (por ejemplo, `skill-relacionada-1`, `skill-relacionada-2`).
|
|
```
|
|
|
|
### Categorías de Skills
|
|
|
|
| Categoría | Propósito | Ejemplos |
|
|
|-----------|---------|----------|
|
|
| **Estándares de Lenguaje** | Modismos, convenciones, mejores prácticas | `python-patterns`, `golang-patterns` |
|
|
| **Patrones de Framework** | Orientación específica del framework | `django-patterns`, `nextjs-patterns` |
|
|
| **Flujo de Trabajo** | Procesos paso a paso | `tdd-workflow`, `refactoring-workflow` |
|
|
| **Conocimiento de Dominio** | Dominios especializados | `security-review`, `api-design` |
|
|
| **Integración de Herramientas** | Uso de herramientas/bibliotecas | `docker-patterns`, `supabase-patterns` |
|
|
| **Plantilla** | Plantillas de skills específicas del proyecto | `docs/examples/project-guidelines-template.md` |
|
|
|
|
### Política de Adaptación de Skills
|
|
|
|
Si estás adaptando una idea de otro repo, plugin, harness o pack de prompts personal, lee la [Política de Adaptación de Skills](../skill-adaptation-policy.md) antes de abrir el PR.
|
|
|
|
Versión corta:
|
|
|
|
- copia la idea subyacente, no la identidad del producto externo
|
|
- renombra la skill cuando ECC cambie o amplíe materialmente la superficie
|
|
- prefiere reglas, skills, scripts y MCPs nativos de ECC sobre nuevas dependencias de terceros por defecto
|
|
- no publiques una skill cuyo valor principal sea indicarle a los usuarios que instalen un paquete no verificado
|
|
|
|
### Lista de Verificación de Skills
|
|
|
|
- [ ] Enfocada en un dominio/tecnología (no demasiado amplia)
|
|
- [ ] Incluye sección "Cuándo Activar" para activación automática
|
|
- [ ] Incluye ejemplos de código prácticos y reutilizables
|
|
- [ ] Muestra anti-patrones (qué NO hacer)
|
|
- [ ] Menos de 500 líneas (800 máx)
|
|
- [ ] Usa encabezados de sección claros
|
|
- [ ] Probada con Claude Code
|
|
- [ ] Enlaza a skills relacionadas
|
|
- [ ] Sin datos sensibles (claves de API, tokens, rutas)
|
|
- [ ] El frontmatter declara `name:` coincidiendo con el nombre del directorio
|
|
- [ ] El `description:` del frontmatter es una cadena en línea o escalar plegado (`>`) — no un bloque literal (`|`, `|-` o `|+`), que preserva los saltos de línea internos y rompe los renderizadores de tablas planas
|
|
|
|
### Skills de Ejemplo
|
|
|
|
| Skill | Categoría | Propósito |
|
|
|-------|----------|---------|
|
|
| `coding-standards/` | Estándares de Lenguaje | Patrones de TypeScript/JavaScript |
|
|
| `frontend-patterns/` | Patrones de Framework | Mejores prácticas de React y Next.js |
|
|
| `backend-patterns/` | Patrones de Framework | Patrones de API y base de datos |
|
|
| `security-review/` | Conocimiento de Dominio | Lista de verificación de seguridad |
|
|
| `tdd-workflow/` | Flujo de Trabajo | Proceso de desarrollo guiado por pruebas |
|
|
| `docs/examples/project-guidelines-template.md` | Plantilla | Plantilla de skill específica del proyecto |
|
|
|
|
---
|
|
|
|
## Contribuir Agentes
|
|
|
|
Los agentes son asistentes especializados invocados mediante la herramienta Task.
|
|
|
|
### Ubicación del Archivo
|
|
|
|
```
|
|
agents/nombre-de-tu-agente.md
|
|
```
|
|
|
|
### Plantilla de Agente
|
|
|
|
```markdown
|
|
---
|
|
name: nombre-de-tu-agente
|
|
description: Qué hace este agente y cuándo Claude debería invocarlo. ¡Sé específico!
|
|
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
|
model: sonnet
|
|
---
|
|
|
|
Eres un especialista en [rol].
|
|
|
|
## Tu Rol
|
|
|
|
- Responsabilidad principal
|
|
- Responsabilidad secundaria
|
|
- Qué NO haces (límites)
|
|
|
|
## Flujo de Trabajo
|
|
|
|
### Paso 1: Comprender
|
|
Cómo abordas la tarea.
|
|
|
|
### Paso 2: Ejecutar
|
|
Cómo realizas el trabajo.
|
|
|
|
### Paso 3: Verificar
|
|
Cómo validas los resultados.
|
|
|
|
## Formato de Salida
|
|
|
|
Qué devuelves al usuario.
|
|
|
|
## Ejemplos
|
|
|
|
### Ejemplo: [Escenario]
|
|
Entrada: [qué proporciona el usuario]
|
|
Acción: [qué haces]
|
|
Salida: [qué devuelves]
|
|
```
|
|
|
|
### Campos del Agente
|
|
|
|
| Campo | Descripción | Opciones |
|
|
|-------|-------------|---------|
|
|
| `name` | Minúsculas, con guiones | `code-reviewer` |
|
|
| `description` | Usado para decidir cuándo invocar | ¡Sé específico! |
|
|
| `tools` | Solo lo que se necesita | `Read, Write, Edit, Bash, Grep, Glob, WebFetch, Task`, o nombres de herramientas MCP (por ejemplo `mcp__context7__resolve-library-id`, `mcp__context7__query-docs`) cuando el agente usa MCP |
|
|
| `model` | Nivel de complejidad | `haiku` (simple), `sonnet` (codificación), `opus` (complejo) |
|
|
|
|
### Agentes de Ejemplo
|
|
|
|
| Agente | Propósito |
|
|
|-------|---------|
|
|
| `tdd-guide.md` | Desarrollo guiado por pruebas |
|
|
| `code-reviewer.md` | Revisión de código |
|
|
| `security-reviewer.md` | Análisis de seguridad |
|
|
| `build-error-resolver.md` | Corregir errores de build |
|
|
|
|
---
|
|
|
|
## Contribuir Hooks
|
|
|
|
Los hooks son comportamientos automáticos disparados por eventos de Claude Code.
|
|
|
|
### Ubicación del Archivo
|
|
|
|
```
|
|
hooks/hooks.json
|
|
```
|
|
|
|
### Tipos de Hook
|
|
|
|
| Tipo | Disparador | Caso de Uso |
|
|
|------|---------|----------|
|
|
| `PreToolUse` | Antes de que ejecute la herramienta | Validar, advertir, bloquear |
|
|
| `PostToolUse` | Después de que ejecute la herramienta | Formatear, verificar, notificar |
|
|
| `SessionStart` | Comienza la sesión | Cargar contexto |
|
|
| `Stop` | Termina la sesión | Limpieza, auditoría |
|
|
|
|
### Formato de Hook
|
|
|
|
```json
|
|
{
|
|
"hooks": {
|
|
"PreToolUse": [
|
|
{
|
|
"matcher": "tool == \"Bash\" && tool_input.command matches \"rm -rf /\"",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "echo '[Hook] BLOQUEADO: Comando peligroso' && exit 1"
|
|
}
|
|
],
|
|
"description": "Bloquear comandos rm peligrosos"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
### Sintaxis del Matcher
|
|
|
|
```javascript
|
|
// Coincidir con herramientas específicas
|
|
tool == "Bash"
|
|
tool == "Edit"
|
|
tool == "Write"
|
|
|
|
// Coincidir con patrones de entrada
|
|
tool_input.command matches "npm install"
|
|
tool_input.file_path matches "\\.tsx?$"
|
|
|
|
// Combinar condiciones
|
|
tool == "Bash" && tool_input.command matches "git push"
|
|
```
|
|
|
|
### Lista de Verificación de Hooks
|
|
|
|
- [ ] El matcher es específico (no demasiado amplio)
|
|
- [ ] Incluye mensajes de error/info claros
|
|
- [ ] Usa códigos de salida correctos (`exit 1` bloquea, `exit 0` permite)
|
|
- [ ] Probado exhaustivamente
|
|
- [ ] Tiene descripción
|
|
|
|
---
|
|
|
|
## Contribuir Comandos
|
|
|
|
Los comandos son acciones invocadas por el usuario con `/nombre-del-comando`.
|
|
|
|
### Ubicación del Archivo
|
|
|
|
```
|
|
commands/tu-comando.md
|
|
```
|
|
|
|
### Plantilla de Comando
|
|
|
|
```markdown
|
|
---
|
|
description: Descripción breve mostrada en /help
|
|
---
|
|
|
|
# Nombre del Comando
|
|
|
|
## Propósito
|
|
|
|
Qué hace este comando.
|
|
|
|
## Uso
|
|
|
|
\`\`\`
|
|
/tu-comando [args]
|
|
\`\`\`
|
|
|
|
## Flujo de Trabajo
|
|
|
|
1. Primer paso
|
|
2. Segundo paso
|
|
3. Paso final
|
|
|
|
## Salida
|
|
|
|
Qué recibe el usuario.
|
|
```
|
|
|
|
---
|
|
|
|
## MCP y Documentación (por ejemplo, Context7)
|
|
|
|
Las skills y los agentes pueden usar herramientas **MCP (Model Context Protocol)** para obtener datos actualizados en lugar de depender solo de los datos de entrenamiento. Esto es especialmente útil para documentación.
|
|
|
|
- **Context7** es un servidor MCP que expone `resolve-library-id` y `query-docs`. Úsalo cuando el usuario pregunte sobre bibliotecas, frameworks o APIs para que las respuestas reflejen la documentación y ejemplos de código actuales.
|
|
- Al contribuir **skills** que dependen de documentación en vivo (por ejemplo, configuración, uso de API), describe cómo usar las herramientas MCP relevantes (por ejemplo, resolver el ID de la biblioteca, luego consultar documentos) y apunta a la skill `documentation-lookup` o Context7 como el patrón.
|
|
- Al contribuir **agentes** que responden preguntas de documentación/API, incluye los nombres de herramientas MCP de Context7 (por ejemplo, `mcp__context7__resolve-library-id`, `mcp__context7__query-docs`) en las herramientas del agente y documenta el flujo de trabajo resolver → consultar.
|
|
- **mcp-configs/mcp-servers.json** incluye una entrada de Context7; los usuarios la habilitan en su harness (por ejemplo, Claude Code, Cursor) para usar la skill de búsqueda de documentación (en `skills/documentation-lookup/`) y el comando `/docs`.
|
|
|
|
---
|
|
|
|
## Cross-Harness y Traducciones
|
|
|
|
### Subconjuntos de Skills (Codex y Cursor)
|
|
|
|
ECC incluye subconjuntos de skills para otros harnesses:
|
|
|
|
- **Codex:** `.agents/skills/` — las skills listadas en `agents/openai.yaml` son cargadas por Codex.
|
|
- **Cursor:** `.cursor/skills/` — un subconjunto de skills está empaquetado para Cursor.
|
|
|
|
Cuando **añades una nueva skill** que debería estar disponible en Codex o Cursor:
|
|
|
|
1. Añade la skill bajo `skills/nombre-de-tu-skill/` como de costumbre.
|
|
2. Si debería estar disponible en **Codex**, añádela a `.agents/skills/` (copia el directorio de la skill o añade una referencia) y asegúrate de que esté referenciada en `agents/openai.yaml` si es necesario.
|
|
3. Si debería estar disponible en **Cursor**, añádela bajo `.cursor/skills/` según el diseño de Cursor.
|
|
|
|
Consulta las skills existentes en esos directorios para la estructura esperada. Mantener estos subconjuntos sincronizados es manual; menciona en tu PR si los actualizaste.
|
|
|
|
### Traducciones
|
|
|
|
Las traducciones viven bajo `docs/` (por ejemplo, `docs/zh-CN`, `docs/zh-TW`, `docs/ja-JP`). Si cambias agentes, comandos o skills que están traducidos, considera actualizar los archivos de traducción correspondientes o abrir un issue para que los mantenedores o traductores puedan actualizarlos.
|
|
|
|
---
|
|
|
|
## Proceso de Pull Request
|
|
|
|
### 1. Formato del Título del PR
|
|
|
|
```
|
|
feat(skills): add rust-patterns skill
|
|
feat(agents): add api-designer agent
|
|
feat(hooks): add auto-format hook
|
|
fix(skills): update React patterns
|
|
docs: improve contributing guide
|
|
```
|
|
|
|
### 2. Descripción del PR
|
|
|
|
```markdown
|
|
## Resumen
|
|
Qué estás añadiendo y por qué.
|
|
|
|
## Tipo
|
|
- [ ] Skill
|
|
- [ ] Agente
|
|
- [ ] Hook
|
|
- [ ] Comando
|
|
|
|
## Pruebas
|
|
Cómo lo probaste.
|
|
|
|
## Lista de Verificación
|
|
- [ ] Sigue las directrices de formato
|
|
- [ ] Probado con Claude Code
|
|
- [ ] Sin información sensible (claves de API, rutas)
|
|
- [ ] Descripciones claras
|
|
```
|
|
|
|
### 3. Proceso de Revisión
|
|
|
|
1. Los mantenedores revisan en 48 horas
|
|
2. Atiende el feedback si se solicita
|
|
3. Una vez aprobado, se fusiona a main
|
|
|
|
---
|
|
|
|
## Directrices
|
|
|
|
### Haz
|
|
- Mantén las contribuciones enfocadas y modulares
|
|
- Incluye descripciones claras
|
|
- Prueba antes de enviar
|
|
- Sigue los patrones existentes
|
|
- Documenta las dependencias
|
|
|
|
### No Hagas
|
|
- Incluir datos sensibles (claves de API, tokens, rutas)
|
|
- Añadir configuraciones demasiado complejas o de nicho
|
|
- Enviar contribuciones sin probar
|
|
- Crear duplicados de funcionalidad existente
|
|
|
|
---
|
|
|
|
## Nombres de Archivo
|
|
|
|
- Usa minúsculas con guiones: `python-reviewer.md`
|
|
- Sé descriptivo: `tdd-workflow.md` no `workflow.md`
|
|
- Haz coincidir el nombre con el nombre del archivo
|
|
|
|
---
|
|
|
|
## ¿Preguntas?
|
|
|
|
- **Issues:** [github.com/affaan-m/everything-claude-code/issues](https://github.com/affaan-m/everything-claude-code/issues)
|
|
- **X/Twitter:** [@affaanmustafa](https://x.com/affaanmustafa)
|
|
|
|
---
|
|
|
|
¡Gracias por contribuir! Construyamos juntos un gran recurso.
|