405be396c8
Script Python que crea un dashboard en Metabase con 15 cards: KPIs escalares, distribucion por lenguaje/dominio/kind/pureza, ranking de funciones mas usadas y complejas, cobertura de tests y tabla cruzada. Agrega regla apps_vs_functions que establece que codigo reutilizable va en functions/ y codigo especifico/hardcodeado va en apps/.
805 B
805 B
Solo codigo reutilizable y componible va en functions/, python/functions/, bash/functions/, frontend/functions/.
Scripts especificos, dashboards hardcodeados, CLIs de un solo uso, y cualquier codigo que no sea una primitiva componible va en apps/. Cada app en apps/ es independiente: puede importar funciones del registry pero nunca al reves.
Criterios para decidir:
- functions/: firma generica, sin credenciales ni config hardcodeada, util en multiples contextos
- apps/: orquesta funciones del registry para un caso concreto, tiene config/credenciales, layout fijo
Las apps Python importan funciones del registry con: sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "python", "functions")) y luego from <paquete> import ... (sin prefijo functions.).