已开启
feat: add my-first-plugin #1
feat: add my-first-plugin #1
已开启
thgertaba创建于 6月28日
共 3 个文件变更+16-0
@@ -0,0 +1,7 @@
1+{
2+ "name": "my-first-plugin",
3+ "version": "1.0.0",
4+ "description": "我的第一个 AtomCode 插件",
5+ "asset_dir": "..",
atomgit-bot
atomgit-botatomgit-bot6月28日

🟡 Medium Priority

变更行:my-first-plugin/.atomcode-plugin/plugin.json 第5行 "asset_dir": ".."。

问题: 该插件清单使用了非标准字段 asset_dir,而非 AtomCode 插件规范中定义的 skills 字段。且其值 ".." 是路径穿越模式,指向插件目录的父目录。

证据链:

  1. 项目模板 templates/plugin-template/.atomcode-plugin/plugin.json 使用 "skills": "skills"。
  2. 所有已有插件(plugins/atomcode-workflows、plugins/commit-craft、plugins/git-worktree)均使用 "skills": "skills"。
  3. CONTRIBUTING.md 的插件目录结构明确展示 skills/<skill>/SKILL.md 模式。
  4. 验证脚本 scripts/validate.py 仅识别 LOADABLE_ASSET_KEYS = {"skills", "commands"},asset_dir 不在其中,会被静默忽略。
  5. 值 ".." 是一个目录穿越路径,若任何下游系统读取该字段并按路径解析,将逃逸出插件目录。

影响:

  • 若 AtomCode 引擎依赖 manifest 中的 skills 键来发现技能,则该插件的技能将不会被加载。
  • 作为名为"my-first-plugin"的示例插件,它向新插件作者示范了错误的 manifest 格式。
  • .. 路径值存在被误用的安全风险。

建议:将 "asset_dir": ".." 替换为 "skills": "skills",与模板和所有已有插件保持一致。同时删除第6行的 "verified": false(该字段属于 market 目录层级,不属于 plugin 清单)。

likedislike
不准确?
6+ "verified": false
7+}
@@ -0,0 +1,3 @@
1+# My First Plugin
2+ 
3+我的第一个 AtomCode 插件。
@@ -0,0 +1,6 @@
1+---
2+name: hello
3+description: 一个简单的打招呼技能
4+---
5+ 
6+当被调用时,用中文回复"你好!"。