前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
返回 AI 情报前线
All News · 全部资讯8836
  • Meta Muse 被曝可被诱导泄露全文件系统
  • Black Forest Labs 发布开源机器人控制模型
  • Google Cloud API Gateway原生支持MCP协议
  • 3 万次 AI Agent 调用审计:可验证收据机制实践
  • 用 AgentCore Gateway 和 MCP 构建跨账号 AI Agent 架构
  • AI 性能成本每年下降 13 倍,超越所有前代技术
  • Lovable年化收入超6000万美元,vibe coding进入主流
  • Agent失败的根本原因:从未定义"完成"的标准
  • Agent补丁审查策略:second process重放验证才能合并
  • 我用 Claude Code 九天给 47 个服务接入 OpenTelemetry 链路追踪
  • Google Gemini CLI新增文件修改确认机制
  • DeepSeek推理优化:内核补齐+通信重构,吞吐翻7倍
  • Hugging Face推出LFM2.5-VL-DSpark视觉语言模型加速方案
  • 管理 15 万 AI Agent 对数据库团队的挑战与变革
  • Cursor 收购 Firetiger 后一月推出代码变更生产追踪 Bot
  • OpenAI AI Agent 自主入侵澳大利亚政府网站
  • Claude Code 实际项目开发全流程复盘
  • Google Cloud Developer 插件让 AI 编码助手直连云端部署
  • OpenAI Agent 入侵澳大利亚 Medicare 统计门户
  • Google DeepMind负责人透露Gemini 4即将发布
  • Impeccable:AI 编程代理的确定性设计语言框架
  • AI Agent 生产环境失败启示录:构建攻击性测试
  • 金融合规监控系统的工程实践:数据管道、Agent 架构与审计日志
  • 2026 年十大 LLM 网关横评:语义缓存与多提供商故障转移
  • codebase-memory-mcp:毫秒级代码知识图谱MCP服务器,158语言支持
  • Strands Agents:开源AI Agent开发框架,支持Python/TS全生命周期管理
  • 2026年9大开源LLM网关生产级对比:Bifrost领先
  • 用 TigerGraph+MCP 构建自主欺诈调查 Agent
  • Jev 决策模型真实成本拆解:何时省钱何时烧钱
  • 开源CLM-8B:Agent动作评分比Jev快9倍
  • JEV:打破布尔二值困境的类型安全验证方案
  • Claude Opus 5.5降价40%逼近前沿性能
  • VS Code 1.139:Agent 会话首次加载提速约 12 倍
  • 定时 Agent 总重复干活?用完成分类账让它知道什么是「做完」
  • TypeSafe AI Jev 编码指南:类型化决策、置信度校准与推测式广播
  • Vercel Connect 新增 TanStack AI 集成
  • Anthropic与OpenAI 90分钟内相继降价
  • 选LLM API的六个价格陷阱
  • Agent记忆正常仍出错:问题在状态不在记忆
  • Mercury 2.5 推理速度达 770 tokens/秒
  • GitHub Copilot 代码审查新增个人配置选项
  • MCP单人上手容易,团队规模落地是另一回事
  • 影子测试100%一致率背后:模型实际正确率仅75%
  • 两个都通过的测试,代价却不同:重试的隐性成本
  • 定时运行AI Agent输出飘移的根因与修复
  • Anthropic如何两周将Claude.ai速度提升3倍
  • claude-code-templates:一键装配 Claude Code 开发套件,含 100+ Agent/MCP
  • Agent 删改测试必须拦截:CI 合并门禁实操方案
  • Google Antigravity SDK 支持本地 AI 模型:Gemma 4 26B 可离线跑
  • NVIDIA Warp 与 MjWarp 加速机器人仿真工作流
  • HEMA 用 MCP 和 Amazon Bedrock 实现内部 AI 助手转型
  • 已加载 51 / 8836
8.0
热点
AI SCORE
编程提效2026-09-24 16:19

Impeccable:AI 编程代理的确定性设计语言框架

GitHub Trending#AI编程#设计系统#开源
Editor brief · 编辑速览

为 AI 编码代理提供结构化设计指导的开源框架,通过 24 条设计命令和 61 条检测规则解决 AI 生成前端「同质化」问题,支持 npx 一键接入。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

AI 编码智能体的设计指南。1 个 Skill、24 条命令、实时浏览器迭代,以及 61 条确定性检测规则,用于检测 AI 生成的前端设计效果。

快速上手:在项目根目录运行 npx impeccable install,然后在 AI 编码工具中运行 /impeccable init。完整文档:impeccable.style。

Anthropic 的 frontend-design 是首个被广泛使用的 Claude 设计 Skill。Impeccable 由此发展而来。

所有模型都在相同的 SaaS 模板上训练。如果缺乏设计指导,每个项目都会出现相同的几个特征:所有地方都用 Inter 字体、紫到蓝的渐变色、卡片里嵌套卡片、彩色背景上的灰色文字、每个标题上方都是圆角方形图标瓦片。

一次设置流程。/impeccable init 将持久的产品真相记录到 PRODUCT.md 中,后续命令就知道受众、目的、运行环境、约束条件、语气风格,以及证据,而不会将这些事实与表面视觉方向混淆。

24 条命令。与 AI 共享一套设计词汇:polish、audit、critique、distill、animate、bolder、quieter 等等。

61 条确定性检测规则加上仅限 LLM 的批判性检查。CLI 和浏览器扩展以无 LLM、无 API key 的方式运行确定性规则。

The Skill: impeccable

该 skill 以一条命令安装:

/impeccable <command> <target>

每个新项目都以以下命令开始:

/impeccable init

init 检查项目,仅就持久产品真相中的实质性缺口提问,然后写入 PRODUCT.md。访客模式和视觉方向稍后为每个界面单独选择;已有的或新构建的视觉系统单独记录在 DESIGN.md 中。

所有命令均通过 /impeccable 访问:

使用 /impeccable pin <command> 创建独立快捷方式(例如 pin audit 创建 /audit)。

/impeccable audit blog           # 审计博客中心 + 文章页面
/impeccable critique landing     # UX 设计评审
/impeccable polish settings      # 发布前的最终检查
/impeccable harden checkout      # 添加错误处理 + 边界情况

或直接用描述性语言使用 /impeccable:

/impeccable redo this hero section

该 skill 包含明确的避坑指南:

不要使用滥用的字体(Arial、Inter、系统默认字体)

不要在彩色背景上使用灰色文字

不要使用纯黑/灰色(始终加色调)

不要把所有东西都包在卡片里或让卡片嵌套卡片

不要使用弹跳/弹性缓动(感觉过时)

访问 Neo Mirai 案例研究,查看一个真实项目使用 Impeccable 命令改造的前后对比。

该 skill 无需自己的运行时。每个 skill 副本都附带一个小型启动器(scripts/impeccable,外加 Windows 的 impeccable.cmd),运行 Impeccable 引擎——一个自包含的二进制文件,既可以放在启动器旁边,也可以在首次运行时下载到 ~/.impeccable/bin/。只有在使用 npx impeccable 安装器时才会涉及 Node;下面的手动方式和 Git 方式无需它。

Option 1: CLI 安装器(推荐)

在项目根目录运行:

npx impeccable install

这会显示检测到的 harness 文件夹或已安装的 CLI(例如 ~/.claude、~/.codex、~/.grok、~/.hermes、~/.veto,或项目本地的 .cursor),你可以保留检测到的集合或自定义提供商,然后询问是安装到当前项目还是全局安装。使用 --providers=claude,codex,cursor,grok,hermes,veto 和 --scope=project|global 可在脚本中跳过这些选择。在 Claude Code、Cursor、Codex、GitHub Copilot 和 Grok Build 上,它还会为当前项目安装提供商原生的 hook 清单。Veto 将打包的 skill 放在 ~/.veto/skills/ 下,不运行原生 Impeccable 编辑 hook。支持 Cursor、Claude Code、Gemini CLI、Codex CLI、Grok Build、Hermes Agent、Veto,以及所有其他支持的工具。之后请重新加载你的 harness。

刷新现有安装:

npx impeccable update

Codex 用户应在安装或更新后打开 /hooks,并在出现提示时批准项目 hook。Codex 按 hook 定义追踪信任,因此更新更改了 .codex/hooks.json 可能需要重新审批。Grok Build 用户在 .grok/hooks/ 脚本运行之前需要项目文件夹信任(/hooks-trust 或以 --trust 启动)。

参阅 Allow the hook in your harness 获取各 harness 特定的信任和验证步骤。

Option 2: Git 子模块

对于希望通过 Git 管理 Impeccable 依赖并更新的团队,将其作为子模块添加,并将编译好的提供商构建链接到 harness 文件夹:

git submodule add https://github.com/pbakaus/impeccable .impeccable
npx impeccable link --source=.impeccable --providers=claude,cursor
git add .gitmodules .impeccable .claude .cursor
git commit -m "Add Impeccable skills"

使用你项目需要的提供商,例如 claude、cursor、gemini、codex、github、grok、hermes、opencode、pi、qoder、trae、trae-cn、rovo-dev、vibe 或 veto。该命令从 .impeccable/dist/universal/ 链接各个 skill 文件夹,除非你传入 --force,否则不会影响现有的真实 skill 目录。

git submodule update --remote .impeccable
npx impeccable link --source=.impeccable --providers=claude,cursor

Option 3: 插件安装

GitHub Copilot in VS Code:

从 Visual Studio Marketplace 安装 Impeccable,或运行:

code --install-extension renaissance-geek.impeccable

需要 VS Code 1.109.3+、Copilot Chat 访问权限,以及可信的本地工作区。在 Agent 模式下打开 Chat 并尝试 /impeccable polish。此纯 skill 扩展不会安装自动 hook;避免在同一工作区/配置文件中重复 Impeccable skill。参阅 VS Code 分发详情。

/plugin marketplace add pbakaus/impeccable

仅限 Claude Code。添加 marketplace 后,打开 /plugin 并从列表中安装 Impeccable。

grok plugin install pbakaus/impeccable#plugin --trust

仅限 Grok Build。#plugin 后缀安装精简插件包(skills、agents 和 hooks)而非完整 monorepo。然后在 Grok 会话中运行 /impeccable init。通过 npx impeccable install --providers=grok 的项目级安装同样有效,会写入 .grok/skills/ 和 .grok/hooks/impeccable.json。

Option 4: 从网站下载

访问 impeccable.style,下载你工具对应的 ZIP 包,解压到项目中。

Option 5: 从仓库复制

cp -r dist/cursor/.cursor your-project/

注意:Cursor skills 需要设置:

在 Cursor Settings → Beta 中切换到 Nightly 频道

在 Cursor Settings → Rules 中启用 Agent Skills

了解更多关于 Cursor skills 的信息

# 项目特定
cp -r dist/claude-code/.claude your-project/

# 或全局(适用于所有项目)
cp -r dist/claude-code/.claude/* ~/.claude/
cp -r dist/opencode/.opencode your-project/
# 项目本地
cp -r dist/dsh/.dsh your-project/

# 或全局(适用于所有项目)
mkdir -p "${DSH_HOME:-$HOME/.dsh}/skills"
cp -r dist/dsh/.dsh/skills/* "${DSH_HOME:-$HOME/.dsh}/skills/"

CLI 仅在解析结果位于主目录内(或主目录本身)时遵循 DSH_HOME;否则使用 ~/.dsh。主目录外部的手动复制不受 impeccable install/update 管理。

# 全局(适用于所有项目;使用活动 profile,或默认为 ~/.hermes)
cp -r dist/hermes/.hermes/skills/* "${HERMES_HOME:-$HOME/.hermes}/skills/"

# 或项目特定
cp -r dist/hermes/.hermes your-project/

注意:Hermes 将项目本地 skills 置于每仓库信任决策之后(它们是过程文档,因此从任何克隆的仓库自动加载被视为提示注入向量)。项目级安装后,从项目根目录运行一次 hermes skills trust。全局安装到活动 $HERMES_HOME/skills/(或未设置时的 ~/.hermes/skills/)无需信任步骤即可加载。之后 /impeccable <command> 通过 skill 的 Commands 表路由;设计 hook 不会安装在 Hermes 上(无 hook 暴露)。

了解更多关于 Hermes skills 的信息

cp -r dist/pi/.pi your-project/
cp -r dist/gemini/.gemini your-project/

注意:Gemini CLI skills 需要设置:

安装预览版本:npm i -g @google/gemini-cli@preview

运行 /settings 并启用 "Skills"

运行 /skills list 验证安装

了解更多关于 Gemini CLI skills 的信息

# 项目本地
cp -r dist/agents/.agents your-project/
mkdir -p your-project/.codex
cp dist/codex/.codex/hooks.json your-project/.codex/hooks.json

# 或用户级安装 skill。将 .codex/hooks.json 复制到每个希望设计 hook 运行的项目
mkdir -p ~/.agents/skills
cp -r dist/agents/.agents/skills/* ~/.agents/skills/

资产生成子代理随 skill 自己的 agents/ 文件夹一起发布,Codex 会自动发现。无需单独的 .codex/agents/ 副本。hook 是项目本地的,因为 Codex 从可信项目配置旁边的 .codex/hooks.json 发现 hook。

cp -r dist/github/.github your-project/

Trae China(国内版)

cp -r dist/trae/.trae-cn/skills/* ~/.trae-cn/skills/

Trae International

cp -r dist/trae/.trae/skills/* ~/.trae/skills/

注意:Trae 有两个版本,配置目录不同:

Trae China: ~/.trae-cn/skills/

Trae International: ~/.trae/skills/

复制完成后,重启 Trae IDE 以激活 skills。

# 项目级
cp -r dist/rovo-dev/.rovodev your-project/

# 或全局(应用于所有项目)
cp -r dist/rovo-dev/.rovodev/skills/* ~/.rovodev/skills/
# 项目级
cp -r dist/qoder/.qoder your-project/

# 或全局(应用于所有项目)
cp -r dist/qoder/.qoder/skills/* ~/.qoder/skills/
# 项目级
cp -r dist/vibe/.vibe your-project/

# 或全局(应用于所有项目)
cp -r dist/vibe/.vibe/skills/* ~/.vibe/skills/
# 项目级
cp -r dist/grok/.grok your-project/

# 或全局(应用于所有项目)
cp -r dist/grok/.grok/skills/* ~/.grok/skills/

推荐使用 npx impeccable install --providers=grok 或 grok plugin install pbakaus/impeccable#plugin --trust,以便设计 hook 也能安装。项目级 hook 需要每个文件夹执行一次 /hooks-trust(或 --trust)。

# 项目级
cp -r dist/antigravity/.agent your-project/

# 或全局(应用于所有项目)
mkdir -p ~/.gemini/config/skills
cp -r dist/antigravity/.agent/skills/* ~/.gemini/config/skills/

安装完成后,所有命令都通过单一的 /impeccable skill 运行:

/impeccable audit        # 查找问题
/impeccable polish       # 最终清理
/impeccable distill      # 移除复杂性
/impeccable critique     # 完整设计审查

单独输入 /impeccable 可查看完整命令列表。

大多数命令接受一个可选参数,用于聚焦特定区域:

/impeccable audit the header
/impeccable polish the checkout form

如果某个命令使用频繁,可以用 /impeccable pin audit 将其固定为独立快捷方式 /audit。

注意:Codex 在这里使用的是 skills,而非 /prompts: commands。请打开 /skills 或输入 $impeccable。仓库级安装位于 .agents/skills/;用户级安装位于 ~/.agents/skills/。GitHub Copilot 使用 .github/skills/。如果新安装的 skill 没有出现,请重启工具。

将 .impeccable 排除在 git 之外

运行命令时,Impeccable 会在 .impeccable/ 下写入工作文件:critique 和 polish 的截图、实时模式会话和预览状态、运行时缓存,以及每个开发者的配置。其中大部分是临时的,不应提交,而少数文件是共享的项目产物,应该保留在仓库中。将以下内容添加到项目的 .gitignore:

# impeccable-ignore-start
# Ephemeral output, runtime state, and per-dev overrides.
# The **/ prefix covers .impeccable at the repo root or in a nested workspace.
# Shared artifacts stay tracked: config.json, live/config.json,
# design.json, surfaces/*.md, critique/*.md.
**/.impeccable/config.local.json
**/.impeccable/hook.cache.json
**/.impeccable/hook.pending.json
**/.impeccable/*.png
**/.impeccable/review/
**/.impeccable/questions/
**/.impeccable/live/server.json
**/.impeccable/live/sessions/
**/.impeccable/live/previews/
**/.impeccable/live/annotations/
**/.impeccable/live/cache/
**/.impeccable/live/manual-edit-apply-transaction.json
**/.impeccable/live/manual-edit-events.jsonl
**/.impeccable/live/manual-edit-evidence/
**/.impeccable/live/pending-manual-edits.json
**/.impeccable/live/deferred-svelte-component-accepts.json
**/.impeccable/live/*.png
# impeccable-ignore-end

这个块用 # impeccable-ignore-start / # impeccable-ignore-end 标记包裹,便于以后识别和刷新。**/ 前缀使每个模式都能匹配,无论活动项目的 .impeccable/ 目录是在仓库根目录还是在 apps/web/ 等嵌套工作区路径下。

保留这些文件的跟踪(它们是共享的项目产物,不要将它们添加到 .gitignore):

.impeccable/config.json(统一共享配置)

.impeccable/live/config.json(实时模式框架接线)

.impeccable/design.json(共享设计规范)

.impeccable/surfaces/*.md(路由或产物特定策略和方向契约)

.impeccable/critique/*.md(审查报告)

如果某个临时文件(如截图、config.local.json)在添加此块之前已被提交,.gitignore 不会自动取消跟踪它。运行 git rm --cached <path> 可以停止跟踪而不删除本地副本。

关于 Hook

在 Claude Code、GitHub Copilot、Codex、Cursor 和 Grok Build 上,npx impeccable install 和 npx impeccable update 会随 skill 载荷一起安装provider 原生的 hook 清单。Hook 在直接编辑 UI 文件时运行 Impeccable 设计检测器,并将发现结果反馈到 agent 流程中。Claude Code、GitHub Copilot 和 Codex 在编辑后展示发现结果(并在支持的平台上于 Stop 时运行更深入的传递)。Grok Build 在编辑后扫描以预热 Stop,然后在 Stop 时展示结果;PostToolUse stdout 永远不会到达模型。Cursor 在不良编辑提议落地之前将其阻止。

已安装 hook 的展示平台:

Claude Code: .claude/settings.local.json(被 gitignore,机器本地)运行 ${CLAUDE_PROJECT_DIR}/.claude/skills/impeccable/scripts/impeccable hook。如果将 hook 移入共享的 settings.json,则会在该位置被启用。

GitHub Copilot: .github/hooks/impeccable.json(已提交,由 Copilot CLI 和云 agent 共享)运行 .github/skills/impeccable/scripts/impeccable hook。一旦文件在仓库的默认分支上且文件夹受信任,Copilot CLI 就会激活它。

Cursor: .cursor/hooks.json 运行 .cursor/skills/impeccable/scripts/impeccable hook-before-edit。

Codex: .codex/hooks.json 运行 .agents/skills/impeccable/scripts/impeccable hook,同时有一个 commandWindows 同类文件调用 impeccable.cmd 用于 cmd.exe。

Grok Build: .grok/hooks/impeccable.json 运行 .grok/skills/impeccable/scripts/impeccable hook。需要 /hooks-trust 或 --trust。结果在 Stop 时到达模型,而非每次编辑后。

每个命令都通过 skill scripts/ 目录中附带的启动器运行(impeccable,或 Windows 上的 impeccable.cmd),启动器受保护以确保缺少启动器时为静默无操作。启动器运行与之一起发布的引擎二进制文件,或一次性下载固定版本到 ~/.impeccable/bin/。Hook 和 skill 都不需要 Node 或其他运行时。

在 Claude Code 中,已安装的命令 hook 独立于模型-工具批准运行。因此,第一次编辑或 Stop 事件可以在会话拒绝模型的启动器命令时下载并缓存引擎。在无人值守运行之前审查已安装的 hook;要禁用某个运行的所有 Claude Code hook,请传递 --settings '{"disableAllHooks": true}'。参见 Claude Code 的 hook 安全指南。

安装程序保留无关的 hook 条目和设置。如果 hook 清单格式不正确,安装/更新默认中止;使用 --force 重新运行可将格式错误的文件备份为 .bak 并替换它。

在交互式安装/更新时,Impeccable 会解释 hook 并提供安装选项(默认同意)。你的选择会按开发者在被 gitignore 的 .impeccable/config.local.json 中记住,因此不会再被询问;--no-hooks 跳过该次运行而不记录任何内容。Hook 生命周期设置位于 .impeccable/config.json 的 hook 键下;detector.ignores live 位于 detector 下,由 /impeccable hooks 和 npx impeccable detect 共享。

要进行调试,请在 .impeccable/config.json 中将 hook.auditLog 设置为某个路径(或使用旧版 IMPECCABLE_HOOK_LOG 环境变量)以写入每个 hook 调用的一条 NDJSON 行。正常使用时保持未设置。

构建路径:comp-first 或 code-first

当设计一个新 surface 时,Impeccable 要么先生成完全保真的 comp,然后构建以匹配它,要么直接在代码中构建,并将野心写入 surface 简报中的开发时方向契约,在结束时进行检查。Comp-first 组合更大胆但耗时更长;code-first 更精简快速。/impeccable init 询问一次并将答案记录为 .impeccable/config.json 中的 buildPath:

{ "buildPath": "comp" }

值为 comp 和 code,不会读取其他内容。在 .impeccable/config.local.json(被 gitignore)中设置它可以覆盖团队在某台机器上提交的值为本地值,当你的测试工具没有图像生成能力时这正是你需要的。在 monorepo 中,在仓库根目录提交一次,任何想要不同设置的工作区都可以设置自己的。只有在有图像生成能力的地方才会显示这个选择,因为没有图像生成就无法进行 comp。

你不需要在一个早于该设置的项目上重新运行 init,也不需要手动编辑配置文件。记录下来的只是默认值而非锁定:每个决策页面底部都有一个开关,切换它只会绑定当前会话。如果在一个没有任何记录的项目上切换它,Impeccable 会在这一轮结束后询问一次是否保留该设置,然后将你的回答写入配置文件。这就是现有项目的完整迁移路径:当默认值不符合需求时使用开关,并回答后续的问题。

Codex 需要一个 Impeccable 无法安全跳过的平台步骤:安装或更新后打开 /hooks 并批准项目钩子。这里没有 Codex marketplace/plugin 的安装流程来处理这个钩子。

完整的钩子文档:impeccable.style/docs/hooks。

Stop 阶段会在存在已验证的编辑前基线时(目前是文本扫描的 Claude Edit/Write 结果)抑制已确认的预先存在的问题。其他问题会被标记为新增或归属未知;未知状态并不意味着你的会话导致了该问题。显式的 detect 扫描保持不变。

手动复制命令是备用/调试指令。正常流程是:

npx impeccable install
npx impeccable update

实时模式和正式站点

实时模式通过开发服务器或本地静态 HTML 编辑本地代码库。不支持将其 localhost HTTP 辅助脚本注入已部署的正式站点(包括 HTTPS 站点)。不要为了使其工作而禁用浏览器安全或削弱正式环境的 CSP。

仅在信任的本地项目中使用的实时模式。应用复制编辑会自动运行 package.json 中的可选脚本 scripts["impeccable:manual-edit-validate"],使用你的用户权限运行;在不熟悉的代码库中使用实时模式前,请先检查该脚本。

对于正式环境检查,使用 npx impeccable detect https://example.com 或浏览器扩展。这些工具会检查渲染后的页面,但不提供实时变体编辑或写入源代码的更改。

Impeccable 包含一个独立的 CLI,用于在不需要 AI 智能体的情况下检测反面模式。npx impeccable 是一个小型垫片程序,运行与 skill 相同的引擎二进制文件(作为平台特定的 optional 依赖安装,或一次性获取到 ~/.impeccable/bin/);Node 仅用于 npx 本身,你也可以直接下载二进制文件并放到你的 PATH 中。

npx impeccable detect src/                   # 扫描一个目录
npx impeccable detect index.html             # 扫描一个 HTML 文件
npx impeccable detect https://example.com    # 扫描一个 URL(使用已安装的 Chrome、Chromium 或 Edge)
npx impeccable detect --json .               # CI 友好的 JSON 输出
npx impeccable detect --no-config src/       # 原始扫描,忽略项目配置/上下文
npx impeccable ignores list                  # 显示检测器的忽略项
npx impeccable ignores add-file "src/legacy/**"
npx impeccable ignores add-value overused-font Inter --reason "Brand font"

检测器能够捕捉 61 个确定性问题,涵盖 AI 劣质内容(侧边栏边框、紫色渐变、弹跳缓动、黑色光晕)和通用设计质量(行长度、拥挤的内边距、过小的触摸目标、跳过的标题层级等)。

人类可读的结果是写入 stderr 的诊断信息,因此可以使用 2> findings.txt 进行重定向。使用 --json 在 stdout 上输出机器可读的结果。退出码 0 表示扫描完成且没有主要发现,退出码 2 表示扫描完成且有主要发现,退出码 1 表示至少有一个请求的目标无法扫描;操作失败在多目标部分扫描中优先。URL 扫描会检查渲染后的 DOM、计算的布局和可访问的链接样式表;浏览器安全机制仍会阻止在没有 CORS 的情况下读取跨域 CSS。检测器的干净运行是证据,但不是视觉或可访问性质量的证明:它不能替代在相关视口上检查渲染后的体验。

默认情况下,detect 遵循与设计钩子相同的 .impeccable/config.json 和 .impeccable/config.local.json 检测器配置:detector.ignoreRules、detector.ignoreFiles、detector.ignoreValues 和 detector.designSystem.enabled。钩子生命周期设置(如 hook.enabled)仅影响自动钩子执行。

对于应该随单个文件一起传递而不是随仓库配置一起传递的豁免,在文件中添加内联注释:<!-- impeccable-disable overused-font: exported brand doc -->。该标记适用于任何注释语法,作用域为整个文件(或使用 impeccable-disable-line / impeccable-disable-next-line 作用于单行),并可通过 --no-inline-ignores 或 --no-config 绕过。

完整的检测器文档:impeccable.style/docs/detector。

社区与生态系统

加入社区和生态系统讨论:

GitHub Discussions:提交 bug、功能请求,并帮助新手。

Impeccable on npm:获取 CLI、关注版本发布,并为项目加星。

在 Twitter 上关注 @pbakaus 获取版本说明、示例 lint 报告和新规则的视频演示。

有关贡献者指南和构建说明,请参阅 DEVELOP.md。

采用 Apache 2.0 许可证。详见 LICENSE。

由 Paul Bakaus 创建

Original source

本文由 AI 翻译整理自 GitHub Trending,原文版权归原作者所有。

阅读英文原文
上一篇
Google DeepMind负责人透露Gemini 4即将发布
下一篇
AI Agent 生产环境失败启示录:构建攻击性测试