Add Archify | New Model… with three C4 examples and Open Model in the Explorer menu

- 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
This commit is contained in:
2026-10-19 12:12:49 +03:00
parent 7a2b661afe
commit 57914d435c
29 changed files with 874 additions and 8 deletions
+23 -4
View File
@@ -51,6 +51,11 @@
"title": "Archify | New Diagram…",
"icon": "$(new-file)"
},
{
"command": "archify.newModel",
"title": "Archify | New Model…",
"icon": "$(new-folder)"
},
{
"command": "archify.showPreview",
"title": "Archify | Open Preview",
@@ -171,19 +176,29 @@
"group": "zzz_archify@1"
},
{
"command": "archify.showPreview",
"when": "resourceFilename =~ /(\\.archify|\\.(architecture|workflow|sequence|dataflow|lifecycle)\\.json)$/",
"command": "archify.newModel",
"when": "explorerResourceIsFolder",
"group": "zzz_archify@2"
},
{
"command": "archify.renderToHtml",
"command": "archify.showPreview",
"when": "resourceFilename =~ /(\\.archify|\\.(architecture|workflow|sequence|dataflow|lifecycle)\\.json)$/",
"group": "zzz_archify@3"
},
{
"command": "archify.renderToHtml",
"when": "resourceFilename =~ /(\\.archify|\\.(architecture|workflow|sequence|dataflow|lifecycle)\\.json)$/",
"group": "zzz_archify@4"
},
{
"command": "archify.openHtmlViewer",
"when": "resourceExtname == .html",
"group": "zzz_archify@2"
"group": "zzz_archify@3"
},
{
"command": "archify.openModel",
"when": "resourceFilename =~ /\\.archify(-registry)?$/",
"group": "zzz_archify@5"
}
],
"editor/title/context": [
@@ -197,6 +212,10 @@
{
"command": "archify.newDiagram",
"group": "file"
},
{
"command": "archify.newModel",
"group": "file"
}
]
},