Archify
从一个小型类型化 JSON 规范创建一个自包含的交互式 HTML 图表。静态输出是默认值;仅当用户要求演示或展示时才启用动画。
快速创作路径
对于常规生成,请使用此限定路径。除非用户询问相关功能,否则不要阅读可选的查看器运行时参考。
-
从问题中选择
architecture、workflow、sequence、dataflow或lifecycle。 -
读取
schemas/中的一个匹配模式、schemas/common.schema.json,以及examples/中的一个匹配 JSON 示例。仅读取这些文件。全新创作意味着新的稳定 ID、领域词汇和布局;使用示例是为了了解字段形状,而非事实。 -
首先产出工件:下一个工具操作必须写入候选文件。在检查渲染器内部实现之前写入候选文件。不要用文字描述精确坐标。从一个清晰的主路径、短分支、稀疏标签和最多 12 个主要节点开始。将
meta.quality_profile设置为"showcase",除非用户明确要求密集的standard地图。从自动路由和标签开始。在诊断要求之前,不要添加via、channelX、channelY或labelAt;每次修复最多应用一次诊断出的几何控制。 -
在每次编辑候选文件后以及移交前立即进行验证:
node bin/archify.mjs validate <type> <candidate.json> --quality showcase --json仅有 4 项工件检查的回执是基础验证,绝不是展示验收。展示验收必须报告所有 9 项工件检查,且组成错误和警告均为 0。如果候选文件省略或拼写错误了确切的
meta.quality_profile字段,请在处理几何之前修复它。通过最终验证将冻结候选文件:之后切勿编辑。 -
对于交付的 HTML,
deliver是最终验收命令:node bin/archify.mjs deliver <type> <candidate.json> <output.html> --quality showcase --json非零退出码绝不能描述为成功。如果验证失败,仅更改诊断出的
subject,验证evidence,从supportedFixes中选择,然后重新运行。在目标错误计数达到新最小值之前,持续进行聚焦更正。如果连续两轮未改善该最佳计数,则停止并如实报告未解决的诊断。
在第一个候选文件之前,不要读取 renderers/shared/geometry.mjs、渲染器源代码、验证器源代码、测试或基准测试。仅针对不受支持的内部诊断或在两次聚焦修复失败后,才检查实现。
生命周期说明:阶段列 0..4 占据主导轨;事件/结果列 0..2 对齐在后续阶段下方。可恢复状态使用 type: "failure" 加上返回活动状态的实际转换。
类型路由器
| 类型 | 用途 |
|---|---|
architecture | 组件、服务、云/安全边界、基础设施 |
workflow | 流程、审批关卡、工具调用、Runbook、CI/CD |
sequence | API 调用链、请求生命周期、异步追踪、返回值 |
dataflow | 管道、ETL/ELT、血缘、治理、消费者 |
lifecycle | 状态/状态转换、重试、等待和终止状态 |
当不明确时,运行 node bin/archify.mjs guide "<scenario>" --json。场景证明示例是结构参考,而非要复制的事实。
Mermaid 输入
阅读 Mermaid 以获取拓扑和含义,然后创作全新的 Archify JSON;不要机械地渲染 Mermaid 样式。
flowchart/graph→workflow,或用于组件地图的architecture。sequenceDiagram→sequence;参与者成为语义参与者,箭头成为消息。stateDiagram→lifecycle;状态和转换保留含义,而非 Mermaid 样式。
创作不变性
- 一条清晰的主路径;侧分支从最近的主路径节点离开。在添加路由控制之前,移除低价值的边。
- 对于真实的
auto默认值,省略meta.legend。必要时,仅使用mode: auto|all|hidden和渲染器支持的entries.<kind>.label|visible;标签绝不能改变语义。 - 组件类型为
frontend、backend、database、cloud、security、messagebus和external;变体为default、emphasis、security和dashed。 - 间距指清晰间隙,而非中心距离。对于关系标签,清晰间隙必须超过其测量的遮罩宽度;否则省略标签或有意移动它。
- 自动路由拥有其端点侧。侧是一个方向约定:第一个和最后一个线段必须垂直于该侧离开/进入。
- 自动端口扩散是架构、工作流、数据流和生命周期的默认渲染器行为。它跳过单一关系和显式的
via、channelX、channelY、labelAt或非auto路由。近平行端口使用外部桥接,以便自动路由无法创建子 8px 线段或子 16px 内部转弯。 - 绝不允许边穿过不相关的不透明节点、不明确的共享走廊,或关系标签遮罩另一条路由。
仅当您需要字段枚举、间距计算、几何修复规则、仓库证据或特定模式放置时,才读取 references/authoring-contract.md。
交付
在修复期间使用 validate,并仅使用 deliver 进行一次最终验收。Delivery 将确切的规范字节冻结到私有同目录快照中,渲染并检查该快照,原子化提交 HTML,并报告规范及其工件的 SHA-256 和字节计数。
仅当用户希望立即进行本地预览时,才添加 --open。对于活跃的桌面创作循环,可选命令是:
node bin/archify.mjs preview <type> <input>.json <output>.html --quality showcase
默认情况下不要启动预览。当使用预览、仓库证据、导出回执、视觉审查或提交后打开时,请阅读 references/delivery-contract.md。
可选查看器功能
生成的 HTML 已包含主题切换、平移/缩放、搜索、焦点、关系追踪、语义视图、演示和真实导出。这些是读者能力,而非额外的创作工作。meta.animation: "trace" 是选择加入的;meta.views 是可选的,最多应包含五个精选章节。
仅当用户明确要求分享卡片、路线/可达卡片、动画、引导故事、深层链接、演示、搜索/焦点或任何其他查看器运行时功能时,才读取 references/viewer-runtime.md。
设置和回退
在技能包内无需安装。验证方法如下:
node bin/archify.mjs doctor
node bin/archify.mjs demo <output-directory>
当 shell 访问不可用时,手动将架构 SVG 放入 assets/template.html,使用 CSS 语义类而非内联颜色,并遵循 references/delivery-contract.md 中的视觉审查约定。
输出
返回检查后的 HTML 路径、图表类型、验证摘要、规范/工件回执以及真实的视觉审查状态。不要为非零命令宣称成功,也不要声明您未执行的视觉检查。