Support .archify diagram files (0.2.0)

.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>
This commit is contained in:
2026-09-30 12:56:12 +03:00
co-authored by Claude Opus 5.5
parent 22815a9940
commit 30e2faa38c
15 changed files with 458 additions and 24 deletions
+21 -8
View File
@@ -1,8 +1,8 @@
{
"name": "archify-vscode-ext",
"displayName": "Archify Diagram Viewer",
"description": "Preview Archify diagrams (architecture, workflow, sequence, dataflow, lifecycle) from their JSON sources and open rendered Archify HTML inside VS Code.",
"version": "0.1.0",
"description": "Visualize Archify diagrams: preview .archify files (and *.architecture.json-style sources) live, and open rendered Archify HTML inside VS Code.",
"version": "0.2.0",
"publisher": "vscode-extensions",
"license": "MIT",
"repository": {
@@ -28,7 +28,7 @@
"onLanguage:json",
"onLanguage:jsonc",
"onLanguage:html",
"workspaceContains:**/*.{architecture,workflow,sequence,dataflow,lifecycle}.json",
"workspaceContains:**/*.{archify,architecture.json,workflow.json,sequence.json,dataflow.json,lifecycle.json}",
"onWebviewPanel:archify.preview"
],
"contributes": {
@@ -53,7 +53,7 @@
},
{
"command": "archify.renderToHtml",
"title": "Render to HTML File\u2026",
"title": "Render to HTML File…",
"category": "Archify",
"icon": "$(file-code)"
},
@@ -142,12 +142,12 @@
"explorer/context": [
{
"command": "archify.showPreview",
"when": "resourceFilename =~ /\\.(architecture|workflow|sequence|dataflow|lifecycle)\\.json$/",
"when": "resourceFilename =~ /(\\.archify|\\.(architecture|workflow|sequence|dataflow|lifecycle)\\.json)$/",
"group": "navigation@20"
},
{
"command": "archify.renderToHtml",
"when": "resourceFilename =~ /\\.(architecture|workflow|sequence|dataflow|lifecycle)\\.json$/",
"when": "resourceFilename =~ /(\\.archify|\\.(architecture|workflow|sequence|dataflow|lifecycle)\\.json)$/",
"group": "navigation@21"
},
{
@@ -159,7 +159,7 @@
"editor/title/context": [
{
"command": "archify.showPreview",
"when": "resourceFilename =~ /\\.(architecture|workflow|sequence|dataflow|lifecycle)\\.json$/",
"when": "resourceFilename =~ /(\\.archify|\\.(architecture|workflow|sequence|dataflow|lifecycle)\\.json)$/",
"group": "1_open"
}
]
@@ -191,6 +191,10 @@
}
],
"jsonValidation": [
{
"fileMatch": "*.archify",
"url": "./schemas/archify.schema.json"
},
{
"fileMatch": "*.architecture.json",
"url": "./schemas/architecture.schema.json"
@@ -287,7 +291,15 @@
"description": "Node.js executable (18 or newer) used to run the renderer. Empty means the runtime bundled with VS Code."
}
}
}
},
"languages": [
{
"id": "json",
"extensions": [
".archify"
]
}
]
},
"scripts": {
"sync:archify": "node scripts/sync-archify.mjs",
@@ -304,6 +316,7 @@
"@types/vscode": "~1.100.0",
"@vscode/test-electron": "^3.1.0",
"@vscode/vsce": "^3.0.0",
"ajv": "^8.20.0",
"esbuild": "^0.25.0",
"jsonc-parser": "^3.3.1",
"typescript": "^5.8.0"