SuperAPI AI 工具集

generate-resource-stubs

部署与运维

查看项目

更新于 10-16 05:49

技能介绍

用途:使用 gcx dev generate 为仪表盘(dashboard)和告警规则(alertrule)生成可直接编辑的 Go 桩文件,代码采用 grafana-foundation-sdk builder 模式,生成后可正常编译。该技能只负责脚手架搭建;若需决定仪表盘应包含哪些面板、变量、查询和布局,应在生成桩文件后使用 create-dashboard。

主要能力:

  • 单文件生成:gcx dev generate dashboards/my-service-overview.go;gcx dev generate alerts/high-cpu-usage.go
  • 批量生成:gcx dev generate dashboards/a.go dashboards/b.go alerts/c.go
  • 类型推断:依据直接父目录判断资源类型,dashboards/ 或 dashboard/ 推断为 dashboard,alerts/、alertrules/ 或 alertrule/ 推断为 alertrule;目录不匹配时用 --type 覆盖,如 gcx dev generate internal/monitoring/cpu-alert.go --type alertrule
  • 输出规范化:文件名转为 snake_case(my-dashboard.go → my_dashboard.go),函数名转为 CamelCase(my-dashboard → MyDashboard()),包名由父目录派生。

生成后定制:桩文件只是起点,可参考 references/foundation-sdk-guide.md 使用完整 builder API 定制。仪表盘可使用 dashboard.NewDashboardBuilder、Panel、AutoGridLayout 等;告警规则可使用 alerting.NewRuleBuilder,设置 Condition、For、FolderUID、RuleGroup、Labels 与 Annotations。

常见问题:出现 “cannot infer resource type” 时用 --type dashboard 或 --type alertrule 指定;出现 “file already exists” 时先删除已有文件或改用其他名称;如需加入注册表,需手动把函数调用加入 all.go 中的 All() 函数。

限制:该技能止步于脚手架,不判断仪表盘内容设计;具体功能、收费与平台信息暂无更多提供。