Show Templates
Whether an entity produces anything, and what, depends on how the installed packs match against it. Without a way to ask, that is only visible after a full generation — and when the answer is "nothing", a run that produces no file looks exactly like a run that had nothing to do.
Show templates answers it per entity, on demand.
Asking
Right-click the title bar of an object on the canvas and choose Show templates. The Templates tab opens in the bottom panel with the result.
Two things about where you click. Inside the box, below the title, each row is an attribute and carries the attribute menu instead — Edit Attribute, Trace lineage, Delete Attribute. And the title bar, not the tree: right-clicking an entity row in the left tree currently opens no menu, while group folders and viewpoints there do. Use the canvas node, or the entity actions in the right sidebar.
The client does not call the server as you click around. The preview is fetched only when you run Show templates, and selecting a different entity clears the previous result rather than silently refetching one you did not ask for.
Reading the answer
Each match is a row:
| Column | Means |
|---|---|
| Definition | The rule in the pack that matched — ebo_object_schema, demo_hub, … |
| Artifact | The file it would produce |
| Pack | Which installed pack the definition came from |
Two actions per row:
- Explain why — the matching rule that made this definition apply to this entity.
- View code — the artifact that would be generated, without generating everything.
And two empty states, kept distinct on purpose: no active template packs is a different problem from this entity matches nothing, and being told which one you have is the whole point.
Try it on two entities
Try it on two entities of the business-object demo. On Customer you get one row:
definition ebo_object_schema, artifact Customer.schema.json, pack demo_retail_ebo. On
Address — a Value Object — you get the "matches nothing" state, because no definition
in that pack asks for a value object.
That is the same fact as "a value object produces no file", seen from the entity instead of from the output folder. Doing it once on each is the shortest way to see how configuration decides your output.
The key, not the name: a definition matches the type's key, so renaming a type in Settings → Types does not stop it matching. Display names are for people; keys are for matching.
A definition can also ask for more than a type — a custom property's value, the entity's name, a group path. Explain why always reports which conditions were checked and how they came out, so you never have to read the pack to find out. The full set is in How generation works.
When nothing matches
Three reasons, in the order worth checking:
- No pack is installed — the tab says so distinctly. Install one from the Marketplace.
- The entity has no type, or a type no installed pack claims. This is the common one, and it is silent during generation.
- The pack expects types your model does not have. After installing a pack, ITB checks the model against the pack's requirements and offers to add what is missing — if that dialog was dismissed, the vocabulary the pack matches on may not exist yet.
See Pack Configuration for what the definitions are made of, and the walkthrough to watch matching change as you edit a model.