agentsclimarketplace

Business domain grouping

Skill jjromero88/jjromero-skills-dev/business-domain-grouping

Método de agrupación lógica de entidades de negocio — cómo derivar carpetas de negocio desde los esquemas de BD, y aplicarlas consistentemente en backend (.NET) y frontend (Angular). Consúltala junto con sql-database-patterns/dotnet-clean-architecture/angular-feature-architecture para saber en qué carpeta de negocio va cada entidad nueva.From its SKILL.md

Install
npx -y skills add jjromero88/jjromero-skills-dev --skill business-domain-grouping

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.3 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it

Business Domain Grouping

⚠️ Skill personal, transversal a BD/backend/frontend.

Un proyecto puede tener 100+ entidades de negocio. Sin agrupación lógica consistente, es difícil navegar el código. Esta skill define el MÉTODO para derivar carpetas de negocio ("cores") a partir de los esquemas de BD — para que BD, backend y frontend usen el mismo vocabulario. Reaplica este método en cada proyecto nuevo; no reutilices nombres de core de un proyecto anterior si el dominio de negocio es distinto.

Regla de decisión

  1. Cada esquema de BD (ver sql-database-patterns) se convierte en una carpeta de negocio con el mismo nombre conceptual, en el idioma del proyecto.
  2. Si un esquema agrupa dos responsabilidades de negocio claramente distintas, se parte en dos carpetas en vez de una — el límite técnico del esquema no obliga a una única carpeta. Ejemplo del criterio: un esquema de seguridad que mezcla "cuentas de usuario/autenticación" con "configuración de roles y permisos (RBAC)" son dos preocupaciones distintas — una carpeta para cada una, aunque vivan en el mismo esquema. Mismo criterio para un esquema de "datos maestros" que mezcla entidades propias de un módulo con catálogos genéricos reutilizados por varios módulos — se separan. Esta decisión se toma desde el principio, al crear la tabla catálogo/maestra — no solo como corrección posterior cuando ya quedaron mezcladas (ver sql-database-patterns, "Esquemas por módulo de negocio", para el criterio de transversal-vs-específico y el esquema cat dedicado).
  3. La carpeta de negocio ({Core}) NUNCA afecta el namespace/paquete — solo organiza carpetas físicas.

Dónde aplica esta agrupación

  • BD: el esquema mismo (sql-database-patterns) — 1:1 con el core salvo cuando la regla 2 aplica.
  • Backend: Persistence/Repositories/{Core}/, Application/Services/{Core}/, Application/Interfaces/{Repository,Service}/{Core}/, Application/DTOs/{Core}/, Validator/Validators/{Core}/ (dotnet-clean-architecture).
  • Frontend: carpeta de feature de primer nivel (features/{core}/) — ver angular-feature-architecture.

Excepción: Mapper/Profiles es plano

Los perfiles de AutoMapper (Mapper/Profiles/{Entidad}Profile.cs) NO se agrupan por core — quedan planos por entidad, sin excepción.

Ejemplo aplicado (sistema de ventas)

Así se aplicaría el método en un sistema de ventas típico, con esquemas seg (seguridad), ven (ventas), inv (inventario), fac (facturación), cat (catálogo):

CarpetaEsquema(s)Por qué se separó así
Authseg (subset)Cuentas de usuario y autenticación — distinto de la configuración RBAC
Seguridadseg (subset)Roles, permisos, perfiles (RBAC)
Ventasven1:1 — pedidos, líneas de pedido, clientes
Inventarioinv1:1 — productos, stock, almacenes
Facturacionfac1:1 — facturas, pagos
Catalogocat1:1 — catálogos genéricos (unidades de medida, monedas, categorías)

seg se parte en dos carpetas (regla 2 — autenticación vs. RBAC son responsabilidades distintas aunque vivan en el mismo esquema); ven/inv/fac/cat quedan 1:1 con su esquema (regla 1). Un gap típico en frontend: si no se aplica el método completo ahí, Catalogo termina anidado dentro de otro feature (ej. dentro de Ventas) en vez de tener su propia carpeta de feature — aplica el método completo también en frontend, no lo simplifiques a mitad de camino.

Agregar una entidad nueva: elegir su core

  1. ¿A qué esquema de BD pertenece la tabla?
  2. ¿Ese esquema agrupa una sola responsabilidad de negocio, o dos claramente distintas? Si es una sola → la carpeta = el esquema. Si son dos → decide a cuál de las dos pertenece la entidad nueva, o si amerita partir el esquema en dos carpetas (regla de decisión, arriba).

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.