archify
Archify
Create a self-contained, interactive HTML diagram from a small typed JSON specification. Static output is the default; enable motion only when the user asks for a demo or presentation.
Fast authoring path
Use this bounded path for ordinary generation. Do not read the optional Viewer Runtime reference unless the user asks about those features.
-
Choose
architecture,workflow,sequence,dataflow, orlifecyclefrom the question. -
Read one matching schema in
schemas/,schemas/common.schema.json, and one matching JSON example inexamples/. Read only those files. Fresh authorship means new stable IDs, domain wording, and layout; use the example for field shape, not facts. New workflow sources useschema_version: 2and its readable layout contract; keepschema_version: 1only when preserving an existing workflow's fixed geometry. When real product identity matters, querynode bin/archify.mjs brands "<name>" --json; readreferences/brand-marks.mdonly for an unknown brand with a user-provided URL. -
Artifact first: the next tool action must write the candidate. Write the candidate before inspecting renderer internals. Do not plan exact coordinates in prose. Start with one clear main path, short side branches, sparse labels, and at most 12 primary nodes. Set
meta.quality_profileto"showcase"unless the user explicitly requests a densestandardmap. Start with automatic routes and labels. Do not addvia,channelX,channelY, orlabelAtbefore a diagnostic calls for one; apply at most one diagnosed geometry control per repair. -
Validate after every candidate edit and immediately before handoff:
node bin/archify.mjs validate <type> <candidate.json> --quality showcase --jsonA receipt with only 4 artifact checks is basic validation, never showcase acceptance. A showcase pass must report all 9 artifact checks with 0 composition errors and 0 warnings. If the candidate omits or misspells the exact
meta.quality_profilefield, fix it before geometry. For a workflow v2 geometry diagnosis, runnode bin/archify.mjs validate workflow <candidate.json> --layout-jsonand use the stable compiler receipt; solver internals are not authoring controls. A passing final validation freezes the candidate: never edit it afterward. -
For a delivered HTML,
deliveris the final acceptance command: