Files
homeagent-sdk/tools/hmapdev/templates/main.lua.tmpl
JianFeeeee b237787c90 refactor(toolchain)!: 工具链 plugindev 更名为 hmapdev,module path 改回 gitcode
- 目录 tools/plugindev → tools/hmapdev,可执行文件名/平台产物名同步
  (hmapdev_linux_amd64 等;包格式仍叫 .hmap)
- module path github.com/JianFeeeee/homeagent-sdk/tools/... → gitcode.com/...
  (与仓库实际托管一致;核心仓不依赖该 path,改动无外部影响)
- SDK 存储目录 ~/.homeagent/plugindev/sdk → ~/.homeagent/hmapdev/sdk
  新目录不存在而旧目录存在时沿用旧目录 → 已装 SDK 版本不会丢失
- 命令表/usage/--help/生成项目 README/示例 README/NSIS 安装器/
  package/build.sh/build-examples.sh 全部同步;PLUGINDEV 环境变量保留兼容
- sdk/ 目录零改动(公开接口不变)

验证:
- go build ./... ok;go test ./tools/hmapdev/ ok(含模板接线守卫 TestProcTemplate_CoversAllCoreMethods)
- bash -n package/{build,build-examples}.sh ok
- 端到端:hmapdev init demo && hmapdev build → dist/demo_bundle.hmap(linux+darwin)
- 本机安装 /usr/local/bin/hmapdev,旧名以软链保留;sdk list/current 正常
2026-09-12 12:30:20 +08:00

46 lines
934 B
Cheetah

local plugin = {
name = "{{.Plg.Name}}",
tools = {},
stages = {},
settings = {}
}
function plugin:start(sdk)
sdk.log("{{.Plg.Name}} plugin starting...")
-- Register a configuration setting
-- sdk.settings.register({
-- key = "{{.Plg.Name}}.example",
-- default = "hello",
-- type = "string",
-- display_name = "Example Config",
-- description = "An example configuration key"
-- })
-- Register a tool
local ok = sdk:register_tool("{{.Plg.Name}}_hello", {
name = "{{.Plg.Name}}_hello",
description = "A hello world tool",
parameters = {
type = "object",
properties = {}
}
}, function(args)
return { content = "Hello from {{.Plg.Name}} plugin!" }
end)
if not ok then
sdk.log("error: failed to register tool")
return false
end
sdk.log("{{.Plg.Name}} plugin started")
return true
end
function plugin:stop()
return true
end
return plugin