Gracias por querer mejorar el pipeline.
git clone https://github.com/devwspito/libroforge.git
cd libroforge
npm link
bash tests/run-all.sh
bash scripts/verify.shCero dependencias runtime. Todo es Node estándar (fs, path).
bash tests/run-all.shdebe pasar 4/4.bash scripts/verify.shdebe terminar conSMOKE OK.node --checksobrebin/,lib/*.js,templates/hooks/handler.cjs.- Si tocas un agente o un command, lee primero su
.mdy mantén la estructura de secciones (Rol / Inputs / Output / Reglas / Antipatrones / Cierre).
| Tipo | Cómo |
|---|---|
| Nuevo perfil | Crear profiles/<id>/ con profile.json + CLAUDE.template.md + 3 plantillas. Ver docs/PROFILES.md. |
| Nuevo agente | Añadir templates/agents/<name>.md con frontmatter. Referenciar desde algún slash command. |
| Nuevo slash command | Añadir templates/commands/<name>.md. Documentar en docs/. |
| Verificación nueva | Añadir helper en lib/, exportarlo en lib/index.js y consumirlo desde templates/hooks/handler.cjs. Test bash en tests/. |
| Bug en hooks | Reproducir con un capítulo dummy en tests/section-check.test.sh. |
- Idioma: prompts y plantillas en español. Comentarios y nombres de funciones en inglés.
- Modelo: agentes llevan
model: opusen frontmatter. Mantenerlo. - Prompts: cada agente tiene una sola responsabilidad. No combinamos roles.
- Hooks: bloqueantes solo cuando el archivo está "cerrado" (heurística en
lib/section-check.js). Nunca falsos positivos en borradores. - Variables de plantilla:
{{TOPIC}},{{N_CHAPTERS}},{{PROFILE_ID}}, etc. Resolución enlib/init.js → render(). - Sin dependencias runtime:
package.jsonmantienedependencies: {}. Si necesitas algo, justifícalo en el PR.
SemVer estricto. Bump major si cambias:
- Schema de
audit-reports/*.json. - Frontmatter requerido en agentes/commands.
- Nombres de archivos producidos por el pipeline.
- API exportada de
lib/.
Bump minor si añades agentes, commands o perfiles sin romper nada existente.
Bump patch para fixes y mejoras de prompts.
.github/workflows/ci.yml corre tests + smoke en Node 18/20/22 en cada push y PR a main. PRs no pueden mergearse en rojo.