feat: introduce archify skill for generating architecture diagrams

- Added a new Archify skill, enabling users to create polished architecture, workflow, sequence, data-flow, and lifecycle diagrams.
- Implemented comprehensive functionality including rendering, validation, and delivery of diagrams in various formats.
- Integrated a user-friendly command-line interface for generating and previewing diagrams.
- Developed supporting files including package.json, LICENSE, and SKILL.md for documentation and licensing.
- Added unit tests to ensure reliability and functionality of the new skill.

These changes enhance the application by providing a structured approach to visualizing system architecture and workflows, improving user experience and data representation.
This commit is contained in:
shancheas
2026-08-31 11:31:29 +07:00
parent 050fafd731
commit 166e0d40ac
221 changed files with 191228 additions and 1 deletions
@@ -0,0 +1,18 @@
{
"schema_version": 2,
"diagram_type": "workflow",
"meta": {
"title": "Sanitized custom widths",
"legend": { "mode": "hidden" }
},
"lanes": [
{ "id": "main", "label": "Main flow" }
],
"nodes": [
{ "id": "compact", "lane": "main", "col": 1, "type": "frontend", "label": "In", "width": 32 },
{ "id": "wide", "lane": "main", "col": 2, "type": "database", "label": "Sanitized downstream service", "width": 240 }
],
"edges": [
{ "id": "compact-wide", "from": "compact", "to": "wide" }
]
}
@@ -0,0 +1,28 @@
{
"schema_version": 2,
"diagram_type": "workflow",
"meta": {
"title": "Sanitized explicit route",
"viewBox": [900, 420],
"legend": { "mode": "hidden" }
},
"lanes": [
{ "id": "source", "label": "Source" },
{ "id": "target", "label": "Target" }
],
"nodes": [
{ "id": "producer", "lane": "source", "col": 1, "type": "backend", "label": "Producer" },
{ "id": "consumer", "lane": "target", "col": 1, "type": "backend", "label": "Consumer" }
],
"edges": [
{
"id": "producer-consumer",
"from": "producer",
"to": "consumer",
"fromSide": "right",
"toSide": "right",
"route": "outside-right",
"channelX": 720
}
]
}
@@ -0,0 +1,19 @@
{
"schema_version": 2,
"diagram_type": "workflow",
"meta": {
"title": "Sanitized explicit viewBox",
"viewBox": [1600, 520],
"legend": { "mode": "hidden" }
},
"lanes": [
{ "id": "main", "label": "Main flow" }
],
"nodes": [
{ "id": "start", "lane": "main", "col": 0, "type": "frontend", "label": "Start" },
{ "id": "finish", "lane": "main", "col": 5, "type": "backend", "label": "Finish" }
],
"edges": [
{ "id": "start-finish", "from": "start", "to": "finish", "label": "complete" }
]
}
@@ -0,0 +1,18 @@
{
"schema_version": 2,
"diagram_type": "workflow",
"meta": {
"title": "Sanitized semantic labels",
"legend": { "mode": "hidden" }
},
"lanes": [
{ "id": "main", "label": "Main flow" }
],
"nodes": [
{ "id": "request", "lane": "main", "col": 3, "type": "frontend", "label": "Request" },
{ "id": "result", "lane": "main", "col": 4, "type": "backend", "label": "Result" }
],
"edges": [
{ "id": "request-result", "from": "request", "to": "result", "label": "同步 ✅ ready" }
]
}