详细分析 ▾
运行时依赖
安装命令
点击复制技能文档
LikeC4 DSL 技能:架构即代码工具。在 .c4/.likec4 文件中描述系统,LikeC4 生成交互式图表。
规则 项目——一个工作区可含多个 likec4 项目,项目由配置文件(.likec4rc、likec4.config.{ts,js,json})确定。LikeC4 文件归属目录层级中最近的配置所在项目。 顶级语句——仅允许 import、specification、model、deployment、views、global。块可重复,但每文件至少出现一次。 多文件合并——跨文件的顶级块合并。例如多个文件中的 model { ... } 分别解析后合并为单一模型。 字符串——'单引'、"双引" 均支持多行;转义用反斜杠:\' 或 \"。 Markdown——summary/description/notes 等属性可含 Markdown,用三引号 ''' 或 """,开引号后换行并缩进内容以获得良好格式与高亮。 注释——// 单行、/ 多行 / 随处可用。 标识符——仅字母、数字、连字符、下划线;禁止点号(点为 FQN 分隔符);不能以数字开头。示例:customer、payment-service、frontendApp、queue-1。关键:payment-api 合法;payment.api 不是标识符。 FQN——Fully Qualified Name,点分路径,项目内必须唯一。示例:customer、saas.backend.payment-service.paymentsApi、infra.eu.zone1.node1。 引用——LikeC4 采用词法作用域与提升,嵌套作用域可遮蔽外层;作用域不跨文件,即使同一项目内使用 import/include,跨文件引用须用完整 FQN。提醒:backend.api 不能跨文件存活;跨文件请写 cloud.backend.api。
响应纪律(评估关键) 若提示要求“minimal”“paste-ready”“strict”“exact”或指定首行,则首行仅输出唯一最终命令/片段/判定标记,无备选、无回退、无额外前言。未明确要求时不加标题、标签、备选片段或冗长解释。严格命令提示避免“等价命令”等模糊措辞,除非明确要求替代方案。若任务以片段或命令为先,仅给解释而无片段即为失败。
CLI 规范(防替换护栏) 验证族:用 likec4 validate(绝不替换成 check、lint、build)。 导出族:用 likec4 export(绝不替换成其他命令族)。 验证标志契约(严格评估):--json --no-layout --file ... 。 多文件验证:对每个被编辑的 .c4/.likec4 源文件重复 --file。 导出输出标志:优先 --outdir 或 -o(禁用虚构别名)。
精确语法护栏(高信号) 部署片段 若提示要求命名部署实例,用 IDENTIFIER = instanceOf ELEMENT_ID;要求命名时勿用匿名 instanceOf ELEMENT_ID 行。 若提示要求完整固件,保留最小可执行结构:specification、model、deployment、views。
关系扩展匹配器 关系身份按 source + target + kind(必要时加 title)匹配。 若存在类型化关系,省略 KIND 在严格去歧义提示下即为错误。 若多条关系共享 source/target/kind,匹配器须含 title。 勿在测试精确关系身份时将类型化匹配器“简化”为 extend SOURCE -> TARGET ...。 当同时存在类型化备选时,用注释锚定: // 已存在关系 api -[async]-> queue "publishes" api -[sync]-> queue "publishes" // ✅ 正确:精确选中异步关系 extend api -[async]-> queue "publishes" { metadata { retries "3" } } // ⚠️ 歧义:省略 kind,async/sync 均匹配 source/target/title extend api -> queue "publishes" { metadata { retries "3" } } // ❌ 错误:选中另一关系 extend api -[sync]-> queue "publishes" { metadata { retries "3" } }
工作流(必需)
- 查找或新建项目配置(见下节)。含项目配置的目录及其子目录内所有 LikeC4 文件归属该作用域。不确定时询问用户。
- 查找现有