How do I list codegen entities?

Table of Contents

Entities are defined as org-mode model files under each component's modeling/ directory and discovered via ores.codegen's manifest.

Question

How do I list all codegen entities by metatype?

Answer

Run compass codegen entity list from the project root:

./compass.sh codegen entity list

By default only the Entity tier is shown (domain_entity and junction). Each row includes a short ID (first 8 hex chars of the org-roam UUID) that can be passed directly to compass show:

./compass.sh show 9F2A1B3C

To include meta-entity types (enum, field_group, table, schema, data, component, service_registry):

./compass.sh codegen entity list --all

To filter to a single metatype:

./compass.sh codegen entity list --type domain_entity
./compass.sh codegen entity list --type junction

Sample output (trimmed):

domain_entity  [entity]  (133)
  name                           ID         component            model path
  ------------------------------ ---------- -------------------- ----------
  country                        9F2A1B3C   refdata              projects/ores.refdata/modeling/ores.refdata.country.org
  currency                       A3F2C1D0   refdata              projects/ores.refdata/modeling/ores.refdata.currency.org

junction  [entity]  (13)
  name                           ID         component            model path
  ------------------------------ ---------- -------------------- ----------
  party_country                  ...        refdata              projects/ores.refdata/modeling/ores.refdata.party_country_junction.org

Junction models live under projects/ores.refdata/modeling/ but are not discovered by the refdata component's bulk regeneration (see the component catalogue's exclude_org_types); use compass codegen entity generate <name> to target one directly.

Script

compass codegen entity is implemented in projects/ores.compass/src/compass_codegen_entity.py and dispatched from compass.py.

Tested by

Run ./compass.sh codegen entity list and verify the Entity tier appears grouped by metatype with a non-zero count.

See also

Emacs 29.3 (Org mode 9.6.15)