- *.archify-decision files: id (unique, words), title, status, date,
elements, diagrams, supersedes, and prose; parsed, merged and link-checked
in the model index; diagnostics on the file
- diagrams point at decisions with decisions: [...] on the diagram, nodes
and edges; stripped before Archify, unknown ids reported, completion,
hover and go-to-definition for the ids and for elements/diagrams/
supersedes in decision files
- Decisions panel on the main.archify page; Decisions rail panel under a
diagram (hover lights up the node or connection); decisions on element
cards and in the element dialog; decision view for the file, with a
lost-model note outside a model
- Archify | New Decision… command and template; editor schemas; the three
New Model examples carry decisions; docs, changelog, 0.8.0
- .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
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.
3D view: a "3D" menu beside Export switches the diagram to a three.js
scene built from the live Archify SVG. Nodes become blocks topped with
the node as Archify draws it, relationships become lit pipes along
Archify's routes, and the canvas, frames, lanes and legend form the
floor. Clicks and hover go to the SVG nodes, so focus, the Semantic
Passport and the intent trace work as in 2D; Archify's own animations
(trace, node pulse, passport/path/lens flows) are mirrored live. The
menu also offers flat or stacked levels, reset view and a top view;
Export gains "3D view" (PNG). Trackpad scrolling pans, pinch and the
mouse wheel zoom, and the zoom buttons work beyond the 2D limits.
The scene draws only when something moves. New setting
archify.defaultView.
Source: src/ is split by job (commands, views, webview, archify,
sources, language, util, viewer3d); behaviour unchanged.
- Marketplace description, README and messages lead with .archify files
in YAML; Archify's JSON files and rendered HTML are described as also
supported, in their own README section and a supported-files table
- Rename the rendered-HTML editor to Archify HTML Viewer (it shared the
extension's name) and its command to Open in Archify HTML Viewer
- Empty or broken .archify files ask for valid YAML instead of JSON
- Completion for brand values in .archify (YAML) and Archify JSON sources,
from the bundled brand-marks/catalog.json (107 marks); aliases and
product names match, so "kafka" offers apache-kafka
- brand/unknown diagnostics carry their JSON pointer only at the start of
the message; use it when subject.path is missing, so the error lands on
the brand line instead of the top of the file
- Unit tests for catalog loading, value detection and pointer fallback;
integration checks for completion and diagnostic placement
Closes#5
The Explorer folder menu shows a command's title without its category,
so it read just "New Diagram…". The title now names Archify itself and
the category is dropped, so the Command Palette shows the same text.
Integration test asserts the title.
- Archify: New Diagram… (Explorer folder menu, File > New File…, Command
Palette) creates a .archify file from a template and opens the diagram
- Six YAML templates: architecture, workflow, sequence, dataflow,
lifecycle and an everyday plan; connections carry ids, workflows use
schema 2
- Title and meta.output follow the file name; template comments are kept
- Tests: every template passes archify validate; integration check for
the command
Closes#2
- .archify content is YAML (JSON still accepted); converted to JSON for the renderer
- Archify Diagram custom editor is the default for *.archify; Show Source opens the YAML beside it
- YAML syntax errors and validation problems mapped to YAML lines
- yamlValidation for schema completion with redhat.vscode-yaml
- scripts/to-yaml.mjs converts existing .archify files
.archify files are Archify JSON diagram sources. They open as JSON,
preview with the same commands, report validation problems, and get
completion from a schema that dispatches on diagram_type. Adds a
hello.archify example and tests for detection, the dispatching schema
and the VS Code behaviour.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
VS Code extension that previews Archify diagrams from their JSON sources
(live, as you type) and opens rendered Archify HTML in a viewer tab.
Bundles the Archify 3.0.1 renderer and runs it on VS Code's Node runtime.
Adds validation diagnostics, JSON schema help, source-link navigation,
export saving, render-to-file and open-in-browser commands.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>