Files
agents_and_robots/.claude/CLAUDE.md
T
egutierrez bccd722e04 docs: simplificar CLAUDE.md de 284 a 97 líneas
Se condensa el archivo principal de contexto eliminando redundancia
con las reglas detalladas que ya viven en .claude/rules/*.md.

Cambios:
- Eliminar secciones duplicadas (dev-scripts, env vars, dependencias,
  extensiones pendientes) que ya están documentadas en otros archivos
- Mantener los dos pilares (FP + TBD) como secciones principales
- Condensar estructura de directorios, agentes, build y preferencias
- Referenciar .claude/rules/index.md para guías detalladas

No se pierde información: todo lo eliminado existe en rules/, MEMORY.md,
o README.md. El archivo queda más enfocado y dentro de límites razonables
para el contexto de LLMs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 19:28:00 +00:00

3.4 KiB

CLAUDE.md — agents_and_robots

Monorepo Go para bots Matrix autonomos. Modulo: github.com/enmanuel/agents.

Homeserver: https://matrix-af2f3d.organic-machine.com | Server name: matrix-af2f3d.organic-machine.com

Los dos pilares — SIEMPRE APLICAR

1. Functional PRogramming: Pure core / Impure shell

pkg/      → PURO: tipos, funciones puras, cero side effects
shell/    → IMPURO: todo I/O (Matrix, LLM, SSH, filesystem)
agents/   → composicion: reglas puras + ensamblado con shell
tools/    → Def (puro) + Exec (impuro)

Nunca side effects en pkg/. El core produce []decision.Action (datos puros), el shell los interpreta.

Matrix event → Parse (pure) → Evaluate rules (pure) → []Action (pure data)
            → Runner.Execute (impure) → efectos reales

2. TBD: Trunk-based development

master es el unico branch estable. Nunca trabajar directamente en master.

master ← siempre deployable
  ↑
  └── issue/<NNNN>-<slug>  ← rama efimera (horas)
        commits atomicos (feat:, fix:, test:, docs:, refactor:, chore:)
      merge --no-ff → master → push → delete branch
  • /git-branch — crea rama desde master
  • /git-push — tests → merge --no-ff → push → elimina rama
  • Commits atomicos por bloque logico, titulo corto + cuerpo en espanol
  • No WIP, no squash, no rebase -i

Feature flags (solo para features multi-issue): codigo completo y testeado, mergeado pero desactivado. Flag != WIP. Archivo: dev/feature_flags.json.

Estructura

pkg/decision/          motor de reglas puro
pkg/llm/               tipos LLM puros
pkg/message/           parse/format mensajes
pkg/personality/       tipos de personalidad
shell/llm/             clientes LLM (anthropic, openai)
shell/matrix/          cliente Matrix (mautrix-go)
shell/ssh/             ejecutor SSH
shell/effects/         Runner: []Action → side effects
shell/bus/             comunicacion inter-agente
agents/runtime.go      Agent{}: ensambla core + shell
agents/<id>/           agent.go (reglas puras) + config.yaml + prompts/system.md
tools/                 tool registry + tool implementations (subpackages)
internal/config/       schema.go + loader.go
cmd/launcher/          entrypoint principal (rulesRegistry)
cmd/agentctl/          CLI de gestion
dev-scripts/server/    start, stop, restart, ps, logs, dashboard
dev-scripts/agent/     new, register, verify, avatar, remove, list

Reglas operativas

Guias detalladas en .claude/rules/index.md:

Regla Cuando
create_agent.md Crear nuevo bot/agente
create_tool.md Añadir tool para function calling
create_command.md Añadir comando !xxx
create_issue.md Crear issue en dev/issues/
fix_issue.md Implementar un issue existente

Agentes

ID LLM Descripcion
assistant-bot GPT-4o Asistente general, DMs
asistente-2 GPT-4o Asistente con tools

Build

  • Go 1.23.5 (/usr/local/go/bin), siempre compilar con -tags goolm
  • CGO_ENABLED=0 (pure-Go SQLite via modernc, shim en cmd/launcher/sqlite.go)
  • Secrets via env vars (.env.example), nunca commitear .env

Preferencias

  • Espanol en configs/comentarios de dominio, ingles en codigo Go
  • FP estricto, sin abstraccion prematura
  • Trunk-based, Gitea como remote
  • Arquitectura propia, sin frameworks de agentes externos
  • Issues en dev/issues/, docs internas en dev/README.md