
Impeccable 无参数路由指南如何用 context 与 signals 驱动上下文感知命令菜单【免费下载链接】impeccableThe design language that makes your AI harness better at design.项目地址: https://gitcode.com/GitHub_Trending/im/impeccable导读当用户在 AI 编程助手中敲下{{command_prefix}}impeccable例如/impeccable或npx impeccable却不带任何参数时Impeccable 需要一个明确的路由决策是直接执行某个命令还是给用户一份建议菜单本指南完整讲解 Impeccable 的**无参数路由no-argument routing**机制——它如何通过impeccable context加载项目上下文、通过impeccable signals采集项目实时信号再基于信号推理出 2–3 条最值得执行的命令而不是输出一份千篇一律的静态菜单。读完本文你将掌握这套信号驱动路由的完整决策规则、signalsJSON 的每个字段含义、detect本地扫描的接入方式以及建议但不代跑的 Agent 行为边界。一、无参数路由是什么Impeccable 的命令行由 skill/scripts/impeccable 启动器引导最终落到随包分发的引擎二进制支持大量动词init、document、critique、audit、polish、live等。但用户有时不明确指定动词只敲下命令本身——此时他们实际在问我下一步该做什么what should I do?。skill/reference/routing.md 定义了这类调用的处理契约只给建议不执行命令菜单仅用于裸调用bare invocation场景。如果用户同时要求执行才按请求执行。菜单必须上下文感知context-aware而非静态同样的无参数面对一个有 DESIGN.md 但从未被 critique 过的项目与面对一个 git 工作区有一堆改动文件的项目给出的建议应当截然不同。绝不自动执行推荐只是用户确认后的建议suggestionAgent 不得悄悄代跑任何命令。这与 skill/SKILL.src.md 中的 Routing 规则完全对齐SKILL.md中明确写着 No argument:read routing.md and present its context-aware menu; never auto-run a command.二、前置条件setup 与NO_PRODUCT_MD分流路由的第一步不是猜而是确认项目上下文是否已被捕获。按照 skill/SKILL.src.md 的 Setup 约定每个会话应先运行一次impeccable contextWindows 无sh环境用impeccable.cmd它会加载PRODUCT.md、DESIGN.md、surface brief 以及适用的原生平台指南。路由规则规定Setup 已经运行过impeccable context。如果它的输出带有NO_PRODUCT_MD说明项目还没有被捕获任何上下文此时路由的处理是以/impeccable init作为菜单首位推荐附一行理由仍然展示其余菜单项不要悄悄跳进 initdont silently jump into init。从源码看NO_PRODUCT_MD指令由 crates/context/src/context_cli.rs 生成它区分两种情况项目已有既有视觉实现incumbent visual implementationinit、teach、shape或任何新建 surface / 替换视觉世界的请求必须先走 reference/init.md 写出PRODUCT.md而狭窄的细化命令narrow refinement commands可以读取既有 CSS、tokens、组件、资源继续工作不阻塞事后顺带建议init。项目没有任何代码与上下文init/teach/shape必须完成 init 的访谈流程真人或结构化模拟用户并先写PRODUCT.mdinit 只写产品事实绝不写DESIGN.md。换句话说NO_PRODUCT_MD不是一律先 init而是按新建设计 vs 既有代码细化分流——这正是路由第一条规则背后的实现依据。三、信号采集impeccable signals及其 JSON 结构当项目已有上下文没有NO_PRODUCT_MD时路由进入核心步骤运行一次{{scripts_path}}/impeccable signals并读取其 JSON。3.1 信号从哪里来signals别名context-signals的实现在 crates/context/src/signals.rs。gather_signals函数signals.rs聚合五大块信号信号块含义采集方式源码依据setup项目上下文状态调用load_contextcontext.rs读取 PRODUCT.md / DESIGN.md 是否存在及路径并通过extract_platform从 PRODUCT.md 提取平台hasCode则探测package.json与src/app/pages/site/public/components/lib等目录critique最近一次 critique 快照调用read_latest_snapshot_across_targets读取各 surface 的最新评审快照归一化出slug、score、p0、p1、timestamp、file没有快照时为nullgit仓库状态通过git rev-parse、git status --porcelain、git diff --name-only等signals.rs判断是否在 git 仓库、当前分支、基准分支base并收集最多 50 个变更文件路径devServer本地开发服务器对常见端口[4321, 3000, 5173, 5174, 8080, 8000, 4200]signals.rs做 250ms 的 TCP 连接探测返回running与开放的portsscan可扫描目标依据 git 变更文件过滤出.html/.htm/.css/.scss/.jsx/.tsx/.js/.ts/.vue/.svelte/.astro可扫描扩展名并排除 node_modules/dist/build 等 vendored 路径生成目标列表无变更时回退到src/app/components/pages/public源码目录再到index.html最后是根目录3.2scan.via的含义scan块的via字段说明这些扫描目标是怎么来的对应 signals.rs 的决策链git-changes来自 git 脏工作区的标记/样式文件——最相关的集合source-dir来自src、app等源码目录html项目根有index.htmlroot其他有代码迹象时的回退整个目录。四、信号推理规则没有需要服从的分数文档强调Reason over the signals; there is no score to obey.——信号是推理材料不是需要最大化/最小化的分数。逐条推理规则如下完整继承自 skill/reference/routing.mdsetup.hasDesign为 false 而setup.hasCode为 true→ 推荐document捕获视觉系统。此时代码是既有视觉权威缺的只是 DESIGN.md 文档参见 context_cli.rs 中INCUMBENT_WORLD_UNDOCUMENTED指令的逻辑有实现但无 DESIGN.md 时细化命令可直接用实现作为权威。critique.latest为null→ 项目从未被评审对已 setup 且有真实 surface 的项目/impeccable critique surface是强力默认项。critique.latest的score偏低或p0/p1非零→ 推荐polish它把那次快照当作自己的 backlog快照过期或被清空后即关闭。git.changedFiles指向单一 surface→ 将audit或polish的作用域限定到这些具体文件并在建议中点名这些文件。devServer.running为 true→live可用于浏览器内迭代为 false 则不要以live打头。注意live与内置的impeccable detect仅限 Web。若setup.platform是ios、android或adaptive两者都不要推荐——浏览器 overlay 与 HTML 规则引擎不适用于原生应用代码。其他情况→ 按意图分组build new / improve whats there / iterate visually并结合当前 surface 与setup.platform量身裁剪。从 signals.rs 看setup块实际输出的字段为hasProduct、productPath、hasDesign、designPath、hasCode、platformcritique块为latest内含slug、score、p0、p1、timestamp、file这些字段正是上述规则的输入。critique.latest为空对象而非null时规则同样成立——它表示尚无评审记录。五、接入本地检测器impeccable detect --json路由的最后一个数据源是实时信号当scan.targets非空且setup.platform不是ios/android/adaptive时先运行一次{{scripts_path}}/impeccable detect --json scan.targets 以空格连接关键特性文档明确说明与 skill/scripts/impeccable 启动器无需 Node、自带二进制的定位一致内置检测器针对本地文件无网络、无 npx直接读取 HTML/CSS因为读取 HTML/CSS原生项目应跳过这一步scan.via告诉你目标是什么git-changes脏树里的标记/样式文件最相关、source-dir、html或root。命中结果如何折叠进推荐大量质量/对比度类命中 →audit或polish某一类具体的 slop设计偷懒模式家族 → 匹配的命令渐变文字或 eyebrow眉题小标签→quieter/typeset扁平或灰扑扑的调色板 →colorize依此类推。文档特别强调这是真实、当下的信号胜过猜测Its a real, current signal that beats guessing。同时设置了失败降级如果 detect 报错或目录树过大、扫描缓慢跳过它改为建议用户自行运行audit绝不让 detect 阻塞推荐never block the suggestion on it。从命令元数据skill/scripts/command-metadata.json看audit生成带 P0–P3 严重级别与行动计划的有分报告polish做上线前的收尾质量通过quieter调低过度刺激的视觉typeset修复字体层级colorize为单色 UI 增加策略性色彩——这些描述与命中家族 → 匹配命令的折叠规则一一对应。六、输出形态2–3 条精准推荐 完整菜单兜底路由的最终输出遵循严格格式2–3 条精准推荐lede每条附一行从信号推导出的理由并给出可直接输入的确切命令exact command to type完整菜单fallback即 skill/SKILL.src.md 中 Commands 表格按类别Build / Evaluate / Refine / Enhance / Fix / Iterate分组的全部命令推荐是结论在前菜单兜底在后——the recommendation is the lede。为什么是 2–3 条而不是一张大表因为无参数调用时用户需要的是决策辅助而不是被二十多个动词淹没把信号推理收敛成少数高价值选项是路由的核心价值。七、与 SKILL.md 其余路由规则的衔接无参数路由只是 Impeccable 完整路由体系的一条分支。理解它需要看到整棵决策树skill/SKILL.src.md 的 Routing 一节用户输入路由去向无参数读本指南routing.md给出上下文感知菜单绝不自动执行明确或明确暗示运行某个命令加载该命令的 reference原生平台加载原生变体按它执行两个命令都适配时最多问一次工作流或命令选择类问题走 routing.md 的 Workflow questions 一节其他视为普通设计工作缺 PRODUCT.md 的新 surface 或替换视觉世界先走 init 再 new-work对既有代码的窄细化直接以现有实现为准事后建议 init此外pin/unpin创建独立{{command_prefix}}command快捷方式、hooks管理设计检测钩子参考 skill/reference/hooks.md、doctor修复项目 Impeccable 工件与版本之间的漂移参考 skill/reference/doctor.md都有各自独立的入口无参数路由建议的命令应当落在上述动词集合内并把用户引向对应 reference 文件。八、实践要点与常见陷阱把路由规则落到真实 Agent 会话中有几个反复出现的实践要点不要越权执行无论信号多强烈推荐 ≠ 授权。规则的措辞是 Never auto-run a command; the recommendation is a suggestion the user confirms.不要盲信单一信号信号要交叉推理。例如devServer.running为 true 只说明live可用还要确认平台是 web 而非原生critique.latest有低分才推荐polishnull则应推荐critique。detect 是可丢弃的增强信号它失败或过慢就跳过转交audit给用户永远不做阻塞项。平台是硬约束ios/android/adaptive下live与detect都不可用推荐应转向原生适配与原生审计类命令如adapt、audit的原生变体。推荐要可执行不只是说建议做 audit而是给出作用域明确的完整命令例如针对git.changedFiles点名的文件运行{{scripts_path}}/impeccable audit src/App.tsx components/Hero.tsx。结语Impeccable 的无参数路由把用户没有指明方向从一次尴尬的空白变成一次高质量的决策辅助impeccable context确认上下文地基impeccable signals采集项目实时脉搏setup / critique / git / devServer / scan 五类信号本地detect提供文件级事实最终收敛为 2–3 条带理由、可直接执行的具体命令配以完整命令菜单兜底且全程只建议、不代跑。这套机制的关键实现都可以在当前仓库中直接阅读——路由规则本体在 skill/reference/routing.md信号聚合在 crates/context/src/signals.rs上下文加载与指令生成在 crates/context/src/context.rs 与 crates/context/src/context_cli.rs命令全集与描述在 skill/scripts/command-metadata.json 及 skill/SKILL.src.md。【免费下载链接】impeccableThe design language that makes your AI harness better at design.项目地址: https://gitcode.com/GitHub_Trending/im/impeccable创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考