Files
fn_registry/.claude/rules/artefactos.md
T
egutierrez 1bef88da67 docs(rules): añade reglas de artefactos y playgrounds
- Nueva regla 20: artefactos.md (paraguas para apps/analysis/vaults/projects/playgrounds)
- Nueva regla 21: playgrounds.md (prototipos rapidos dentro de un padre)
- INDEX.md y CLAUDE.md actualizados con referencias

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 23:54:34 +02:00

2.4 KiB

Artefactos: termino colectivo

"Artefacto" es el termino paraguas para todo lo que vive en el registry pero NO es codigo reutilizable de functions/ o types/. Sirve para no repetir "apps, analysis, vaults, projects, playgrounds" cada vez.

Tipos de artefacto:

Tipo Donde vive Indexado en registry.db Repo Gitea propio
app apps/, cpp/apps/, projects/<p>/apps/<a>/ tabla apps si (dataforge/<a>)
analysis analysis/<t>/, projects/<p>/analysis/<t>/ tabla analysis si (dataforge/<t>)
vault projects/<p>/vaults/<v> (symlink) tabla vaults no (datos fuera del repo)
project projects/<p>/ tabla projects no (vive dentro de fn_registry)
playground <artefacto_padre>/playground/ NO se indexa no (vive dentro del padre)

Caracteristicas comunes de los artefactos:

  • NO son codigo reutilizable. La reutilizacion vive en functions/.
  • Tienen ciclo de vida propio (crear, modificar, archivar, borrar).
  • pc_locations los unifica via entity_type (app, analysis, project, vault).
  • Pueden importar funciones del registry; el registry NUNCA importa de un artefacto.

Cuando usar el termino

Usa "artefacto" cuando hablas de varios tipos a la vez o cuando la afirmacion aplica a todos:

  • "Cada artefacto declara sus funciones del registry en su .md" (vale para apps y analyses).
  • "Los artefactos no se importan desde functions/."
  • "Esta regla aplica a cualquier artefacto desplegable" (apps + services).

Cuando hables de UN tipo concreto, usa el nombre concreto: "esta app...", "este analysis...". No abuses del termino paraguas — es para evitar listas, no para difuminar.

Que NO es un artefacto

  • functions/, python/functions/, bash/functions/, frontend/functions/ — codigo reutilizable.
  • types/, python/types/, frontend/types/ — tipos del registry.
  • sources/ — repos externos clonados para extraer funciones (gitignored).
  • temp/ — workspace efimero, ni siquiera versionado.
  • subrepos/ — espejos de repos externos para referencia.

Relacion con pc_locations

Los artefactos con presencia en disco (app, analysis, project, vault) ya estan unificados en pc_locations via la columna entity_type. Los playgrounds NO entran en pc_locations porque son hijos de otro artefacto y se mueven con el (no tienen identidad propia entre PCs).