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,115 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/tt-a1i/archify/schemas/common.schema.json",
"title": "Archify Shared Definitions",
"$defs": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]*$"
},
"locale": {
"enum": ["en", "zh-CN"]
},
"animation": {
"enum": ["trace", "none"]
},
"visualPreset": {
"enum": ["classic", "signal-flow", "blueprint", "editorial"]
},
"qualityProfile": {
"enum": ["standard", "showcase"]
},
"side": {
"enum": ["left", "right", "top", "bottom"]
},
"relationshipWidth": {
"type": "number",
"minimum": 0.5
},
"point": {
"type": "array",
"prefixItems": [
{ "type": "number" },
{ "type": "number" }
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"componentType": {
"enum": ["frontend", "backend", "database", "cloud", "security", "messagebus", "external"]
},
"brandMark": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 2048,
"anyOf": [
{ "maxLength": 80, "pattern": "^[^\\r\\n]+$" },
{ "pattern": "^https?://" }
]
},
{
"type": "object",
"additionalProperties": false,
"required": ["url", "sha256"],
"properties": {
"url": { "type": "string", "minLength": 8, "maxLength": 2048, "pattern": "^https?://" },
"sha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
}
}
]
},
"variant": {
"enum": ["default", "emphasis", "security", "dashed"]
},
"legendMode": {
"enum": ["auto", "all", "hidden"]
},
"legendEntry": {
"type": "object",
"additionalProperties": false,
"minProperties": 1,
"properties": {
"label": { "type": "string", "minLength": 1, "maxLength": 80 },
"visible": { "type": "boolean" }
}
},
"guidedViews": {
"type": "array",
"maxItems": 5,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["id", "label", "focus"],
"properties": {
"id": { "$ref": "#/$defs/id" },
"label": { "type": "string", "minLength": 1, "maxLength": 48 },
"focus": {
"type": "array",
"minItems": 1,
"items": { "$ref": "#/$defs/id" }
},
"note": { "type": "string", "maxLength": 140 }
}
}
},
"cards": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["dot", "title", "items"],
"properties": {
"dot": { "enum": ["cyan", "emerald", "violet", "amber", "rose", "orange", "slate"] },
"title": { "type": "string", "minLength": 1 },
"items": {
"type": "array",
"items": { "type": "string" }
}
}
}
}
}
}