A folder with main.archify at its top is a model. Opening main.archify shows the model page: name and description, the overview diagram when present, the diagrams grouped by folder (click to open), the registry with "used in" per element. Built by traversing the tree; refreshes on changes.
*.archify-registry files define shared elements once; diagrams use ref: <id> + position, may override label/sublabel/tag. Resolved before Archify runs (Archify unchanged).
Hover, go-to-definition, completion on ref; Problems for unknown refs, forbidden overrides, duplicate ids, broken registries; registry edits re-render open diagrams.
diagram: links (registry element or component) open the linked diagram on double-click (2D).
Command Archify | Open Model; New Diagram… → Model (main.archify); editor schemas for the new keys and registries; docs/model.md; examples/online-shop.
Single diagrams are unchanged.
Checks
typecheck clean; unit 53/53 (8 new); integration 19/19 in VS Code (6 new: resolved refs validate clean, unknown ref at its line, hover/definition/completion from the registry, duplicate ids in a registry file, model page + Open Model, Model template); model page rendered and clicked in headless Chrome.
## Models
- A folder with `main.archify` at its top is a model. Opening `main.archify` shows the model page: name and description, the overview diagram when present, the diagrams grouped by folder (click to open), the registry with "used in" per element. Built by traversing the tree; refreshes on changes.
- `*.archify-registry` files define shared elements once; diagrams use `ref: <id>` + position, may override label/sublabel/tag. Resolved before Archify runs (Archify unchanged).
- Hover, go-to-definition, completion on `ref`; Problems for unknown refs, forbidden overrides, duplicate ids, broken registries; registry edits re-render open diagrams.
- `diagram:` links (registry element or component) open the linked diagram on double-click (2D).
- Command *Archify | Open Model*; *New Diagram… → Model (main.archify)*; editor schemas for the new keys and registries; `docs/model.md`; `examples/online-shop`.
Single diagrams are unchanged.
## Checks
typecheck clean; unit 53/53 (8 new); integration 19/19 in VS Code (6 new: resolved refs validate clean, unknown ref at its line, hover/definition/completion from the registry, duplicate ids in a registry file, model page + Open Model, Model template); model page rendered and clicked in headless Chrome.
A folder with main.archify at its top is a model, a set of diagrams
that belong together. Opening main.archify shows the model page: the
model's name and description, its own overview diagram when the file
has one, the diagrams grouped by folder (click to open), and the
registry with where each element is used. The page is built by
traversing the folder tree and refreshes when files change.
*.archify-registry files define shared elements once; diagrams draw
them with `ref: <id>` plus position and may override label, sublabel
and tag. References are resolved before Archify runs, so Archify is
unchanged. Hover, go-to-definition and completion on ref; unknown
names, forbidden overrides, duplicate ids and broken registries in
Problems; registry edits re-render open diagrams. `diagram:` links on
elements and components open the linked diagram on double-click.
New command Archify | Open Model, a Model template for New Diagram…,
editor schemas for the new keys and for registries, docs/model.md and
examples/online-shop. Single diagrams behave exactly as before.
- templates/models: C4 - Standard Web App, C4 - E-Shop, C4 - Event-Based
Integration; each a complete model (main.archify, registry, context,
containers, components) that validates
- archify.newModel: pick an example and a folder name, copy it, name the
model after the folder, open the model page
- Explorer menu: New Model… on folders, Open Model on .archify and
.archify-registry files; File → New File… lists New Model…
- unit test validates every example end to end; integration test runs the
command; README, CHANGELOG, docs/model.md
- model page: registry elements are rendered as Archify info cards (type
colour dot, label, id · type, description, used-in chips that open the
diagram), replacing the table
- resolveRefs: a diagram without cards of its own gets one card per drawn
shared element that has a description, so the registry text shows under
every model diagram as it does on hand-written diagrams
- unit tests for generated cards, own cards winning and no cards without
refs; docs and changelog
- <details> panels for Diagrams (open) and Registry (closed by default)
- each folder inside Diagrams is its own collapsible header with a count,
above its diagram cards; diagrams next to main.archify list directly
- open/closed state is kept in the webview state, so re-renders and
restores keep it
- .archify-registry opens in a new read-only custom editor (archify.registry,
default): the file's elements as cards; click one for a dialog with its
description, the defining line (opens the YAML) and the diagrams that use
it (open on click); Show Source and Open Model work from the view
- the same dialog opens from the registry cards on the model page
- Archify's node index is titled Elements; a Connectors panel built from the
SVG edges lists from → to with the label, highlights on hover and keeps the
highlight on click; side by side in the bottom rail
- integration test for the registry view; docs and changelog
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Models
main.archifyat its top is a model. Openingmain.archifyshows the model page: name and description, the overview diagram when present, the diagrams grouped by folder (click to open), the registry with "used in" per element. Built by traversing the tree; refreshes on changes.*.archify-registryfiles define shared elements once; diagrams useref: <id>+ position, may override label/sublabel/tag. Resolved before Archify runs (Archify unchanged).ref; Problems for unknown refs, forbidden overrides, duplicate ids, broken registries; registry edits re-render open diagrams.diagram:links (registry element or component) open the linked diagram on double-click (2D).docs/model.md;examples/online-shop.Single diagrams are unchanged.
Checks
typecheck clean; unit 53/53 (8 new); integration 19/19 in VS Code (6 new: resolved refs validate clean, unknown ref at its line, hover/definition/completion from the registry, duplicate ids in a registry file, model page + Open Model, Model template); model page rendered and clicked in headless Chrome.