refactor(aidd-context): 00-onboard resolves its providers at runtime

未关闭
#883 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
52/100
Issue 类型
重构
描述清晰度
描述清楚
活跃度
活跃
技术栈
javascript
领域
tooling

调研方向

Start with docs/ARCHITECTURE.md and the five reference locations listed in the issue, then inspect the runtime description-matching mechanism used by other recipe skills. Trace the exemption constant and comment in scripts/lib/architecture-rules.js and the guard's tree check. Done means menus resolve and render runnable addresses, missing providers degrade usefully, and the exemption is removed without guard findings.

由索引模型根据 Issue 内容生成。

描述

docs/ARCHITECTURE.md says a recipe skill never hardcodes a sibling provider: it discovers cross-plugin capabilities at runtime through description matching. aidd-context:00-onboard does the opposite — its reference menus name seven sibling addresses outright.

plugins/aidd-context/skills/00-onboard/references/flow.md:27
plugins/aidd-context/skills/00-onboard/references/order/idle-menu.md:7   (two on one line)
plugins/aidd-context/skills/00-onboard/references/state/zones.md:39,40,41
plugins/aidd-context/skills/00-onboard/references/run/tiers.md:12

They are there for a reason: those addresses are what the skill hands a person to type. Replacing them with concept names does not read worse, it stops the menu working. So the fix is not a reword — it is making 00-onboard resolve each menu entry at runtime, by description matching, and render the address it resolved.

Why now

#250 shipped a PreToolUse guard that refuses an edit leaving a plugin's dispatch surface naming a sibling. 00-onboard is exempt from it by a named constant in scripts/lib/architecture-rules.js, carrying a comment that points here. That exemption is the only hole in rule one, and it should close when this lands.

Done when

  • 00-onboard names no sibling plugin address in any of its own files.
  • Its menus still show the user a runnable command, resolved at run time.
  • A menu entry whose provider is not installed degrades to something useful rather than a dead address.
  • The exemption constant and its comment are gone from scripts/lib/architecture-rules.js, and the guard is still silent on the tree.
主要语言
TypeScript
星标
481
派生
45
平均合并
14 小时 36 分钟
30 天内合并 PR
110

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

ai-driven-dev/framework 的其他 Issue

查看 ai-driven-dev/framework 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。