9a77ef59e8
Se añaden las reglas y commands para el flujo trunk-based completo: - fix_issue.md: guía para implementar issues (rama → tests → merge) - git-branch.md: command para crear ramas issue/<NNNN>-<slug> - git-push.md: actualizado con flujo de ramas, tests obligatorios y feature flags - create_issue.md: ajustado formato de numeración a 4 dígitos - index.md: añadida sección de flujo de desarrollo y regla fix_issue - CLAUDE.md: referencia a la nueva regla fix_issue - feature_flags.json: archivo base para flags de despliegue por fases Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
44 lines
2.6 KiB
Markdown
44 lines
2.6 KiB
Markdown
# Reglas del proyecto
|
|
|
|
Guias operativas para LLMs que trabajan en este codebase. Cada regla describe como ejecutar una tarea especifica respetando la arquitectura y convenciones del proyecto.
|
|
|
|
## Reglas disponibles
|
|
|
|
| Regla | Archivo | Cuando aplicarla |
|
|
|-------|---------|------------------|
|
|
| **Crear agente** | [create_agent.md](create_agent.md) | Al crear un nuevo bot/agente Matrix completo |
|
|
| **Crear herramienta** | [create_tool.md](create_tool.md) | Al añadir una nueva tool para LLM function calling |
|
|
| **Crear comando** | [create_command.md](create_command.md) | Al añadir un comando directo (!xxx) a un agente |
|
|
| **Crear issue** | [create_issue.md](create_issue.md) | Al crear un nuevo issue/feature request en `dev/issues/` |
|
|
| **Arreglar issue** | [fix_issue.md](fix_issue.md) | Al implementar/arreglar un issue existente de `dev/issues/` |
|
|
|
|
## Cuando consultar las reglas
|
|
|
|
- **Crear agente**: cuando el usuario pida crear un nuevo bot, agente, o asistente. Incluye la estructura de archivos, reglas puras, config YAML, system prompt y registro en el launcher.
|
|
- **Crear herramienta**: cuando el usuario pida añadir una nueva herramienta/tool al sistema. Incluye el patron Def (puro) + Exec (impuro), registro en runtime.go y habilitacion en config.
|
|
- **Crear comando**: cuando el usuario pida añadir un comando directo (!xxx) a un agente. Los comandos se resuelven sin pasar por reglas ni LLM.
|
|
- **Crear issue**: cuando el usuario pida crear un nuevo issue, feature request o task. Usa el template en `.claude/templates/issue.md`.
|
|
- **Arreglar issue**: cuando el usuario pida implementar, arreglar o trabajar en un issue existente. Incluye crear rama (`/git-branch`), implementar las tareas con tests, cerrar el issue, e integrar a master (`/git-push`).
|
|
|
|
## Flujo de desarrollo (TBD)
|
|
|
|
El proyecto usa trunk-based development. **Nunca trabajar directamente en master.**
|
|
|
|
1. `/git-branch` — crea rama `issue/<NNNN>-<slug>` desde master
|
|
2. Implementar cambios + tests en la rama
|
|
3. `/git-push` — merge --no-ff a master, push, cleanup rama
|
|
|
|
Comandos disponibles en `.claude/commands/`:
|
|
- `git-branch.md` — crear rama de trabajo
|
|
- `git-push.md` — integrar rama a master y publicar
|
|
|
|
Feature flags opcionales en `dev/feature_flags.json` (solo para features que se despliegan en fases).
|
|
|
|
## Principio general
|
|
|
|
Todas las reglas respetan el patron **pure core / impure shell**:
|
|
- `pkg/` es puro — nunca añadir side effects
|
|
- `shell/` es impuro — todo I/O va aqui
|
|
- `agents/` compone ambos — reglas puras + ensamblado con shell
|
|
- `tools/` sigue el mismo patron: `Def` (datos puros) + `Exec` (funcion impura)
|