Now vibe coding, so learning hammer FE ?
《十个防止 AI 代码泛滥的前端项目护栏》

标签:
#前端 #TypeScript #React #AI编程 #代码质量 #ESLint #测试策略 #CI_CD #代码审查 #工程实践

总结:

本文针对 AI 生成代码速度远超人类审查能力的前端项目,提供了一套实用的十项防护清单。核心思路是通过自动化工具链(类型系统、Linter、变异测试、CI 门禁)在代码合并前拦截机械性错误,而非依赖人工逐行审查。

文章要点:

1. 用 OpenAPI 契约替代手写类型:通过 Hey API 等工具从 OpenAPI 规范直接生成 TypeScript 类型、客户端和 Zod 校验,避免 AI 臆造不存在的 API 字段(如 user.fullName),让编译器在构建期就报错。

2. 开启严格 TypeScript 配置:启用 noUncheckedIndexedAccess 等严格标志,让数组索引访问返回 T | undefined,迫使代码显式处理边界情况,减少 AI 常见的"想当然"代码。

3. 把 Linter 当作行为过滤器:使用 SonarJS、react-you-might-not-need-an-effect、vitest/playwright 插件、jsx-a11y 等 ESLint 插件,自动拦截认知复杂度过高、不必要的 Effect、可访问性违规等问题。

4. 设定架构层边界:使用 eslint-plugin-boundaries 或 dependency-cruiser 强制实施分层架构(如 UI 层不得直接访问 API 层),防止 AI 生成的代码逐渐退化为"GitHub 平均水平"的混乱结构。

5. 将重复出现的错误转化为自定义 Linter 规则:当同一种 bug 第二次出现时,立即编写自定义 ESLint 规则禁止该模式。例如禁止在服务层函数中使用 Math.roundtoFixed,避免双重取整导致的薪资计算错误。

6. 把规则直接喂给 AI 模型:通过项目规则文件(如 .cursor/rulesCLAUDE.md)或技能文件(如 react-doctor),将项目约定、架构决策和禁止模式直接提供给 AI,让模型在生成代码时就遵循规范。

7. 用变异测试验证测试有效性:使用 Stryker 故意破坏代码(翻转运算符、反转条件、交换返回值),检查现有测试是否能捕获这些变异。存活的变异体通常暴露"只测形状不测内容"的无效测试。一个项目约 4,700 个变异体在 6 分钟内完成扫描。

8. 用 Knip 清理死代码:Knip 可以检测未使用的文件、导出和依赖,配合自定义可达性脚本填补其盲区,防止 AI 生成大量"以防万一"却无人调用的冗余代码。

9. 用 jscpd 检测重复代码:AI 倾向于在不同地方生成几乎相同的逻辑,jscpd 能发现这些重复,提示抽象机会或错误的复制粘贴。

10. 将所有检查强制设为 CI 门禁:上述所有工具(类型检查、Lint、测试、变异测试、重复检测)必须作为 CI 的强制通过项,而非可选建议,确保 AI 生成的代码无法绕过质量关卡。

11. 成本与局限:这些护栏会产生噪音(误报)、规则过时和新人上手摩擦等成本,建议按"类型 → Lint → 测试 → CI"的顺序渐进式推行。同时需注意,这些检查只能捕获机械性错误,无法识别糟糕的品味或错误的抽象。

URL:
https://evilmartians.com/chronicles/ten-anti-ai-slop-moves-for-frontend-projects-going-faster-than-humans-can-review 10 anti-AI slop moves for frontend projects going faster than humans can review—Martian Chronicles, Evil Martians’ team blog
《Shadscan:shadcn 应用的确定性 UI 审计工具》

标签:#前端 #shadcn/ui #React #UI审计 #CLI工具 #可访问性 #CI/CD #AI_Agent

总结:
Shadscan 是一款面向 React/shadcn 应用的静态 UI 审计 CLI 工具,通过 59 条确定性规则从 Foundation、Interaction、States、Accessibility、Forms 和 Production Polish 六个维度为应用打分(0-100),无需启动应用或调用 AI 即可在终端和 CI 中完成审计。它支持生成 JSON 报告、AI Agent 修复指令(--prompt)和 GitHub Action 集成,适用于 Next.js、React Router、TanStack Start、Astro 等多种框架,并支持 monorepo 多包扫描。

文章要点:
1. 零侵入式审计:无需启动应用、修改文件或调用 AI 模型,纯静态分析即可给出可复现的评分结果,适合嵌入 CI 流水线。
2. 六维评分体系:涵盖基础配置、交互体验、状态处理、无障碍访问、表单输入和生产级打磨,共 59 条规则,每条都附带证据和修复建议。
3. AI Agent 友好:支持 --prompt 生成可直接粘贴给 Claude Code、Codex CLI 等编码 Agent 的修复计划,也支持 --apply 直接唤起本地 Agent 执行。
4. 多框架与 Monorepo 支持:自动识别 Next.js App/Pages Router、React Router、TanStack Start、Astro、Vite 等框架,智能区分应用包和库包,避免设计系统被误扣分。
5. GitHub Action 一键集成:提供复合 Action,可自动写评分到 Job Summary、设置分数门槛拦截 CI,还能持续更新跟踪 Issue 并嵌入 Agent 修复指令。

URL:https://www.shadscan.com shadscan: Audit shadcn apps for UI fundamentals
《关于SourceMap你需要知道的一切》

标签:#前端 #SourceMap #Vite #NextJS #Webpack #安全 #CI_CD

总结:SourceMap是前端开发中用于将压缩后的代码映射回原始代码的JSON文件,能极大提升调试体验。但文章重点警示了其安全隐患——默认配置下SourceMap会内联完整源代码,若不慎部署到生产环境,任何人都能通过浏览器或curl获取你的原始代码、目录结构甚至敏感信息。文章以Apple和Anthropic的泄露事件为例,详细说明了如何正确配置构建工具、设置服务器规则以及在CI/CD中自动化检测,防止源代码泄露。

文章要点:
1. SourceMap本质上是一个JSON文件,包含sources(原始文件路径)、names(原始变量名)、mappings(位置映射)和sourcesContent(完整源代码)四个关键字段,能将压缩后的代码精准还原
2. 构建流程通常是TypeScript编译→JS代码→压缩混淆,而SourceMap则反向执行这个流程,让浏览器DevTools能显示原始代码和变量名
3. 最大的安全风险在于sourcesContent默认会内联完整源代码,泄露后不仅暴露目录结构和模块名,还可能泄露API密钥、端点信息和未发布的功能开关
4. Apple在2025年11月因部署SourceMap到生产环境导致App Store前端源码泄露;Anthropic在2026年3月因npm包包含59.8MB的SourceMap文件,导致Claude Code核心代码被永久镜像传播
5. 防护措施包括:构建工具关闭生产环境SourceMap(Vite设sourcemap:false,NextJS设productionBrowserSourceMaps:false)、使用hidden模式仅上传错误追踪平台、服务器对.map请求返回404
6. 建议在CI/CD中添加自动化检查脚本,扫描输出目录中的.map文件,若包含sourcesContent则中断构建,从源头杜绝人为疏忽导致的泄露

URL:https://neciudan.dev/everything-you-need-to-know-about-sourcemaps Everything you need to know about Sourcemaps
《大规模AI代码审查编排实践》

标签:#DevOps #AI辅助编程 #CodeReview #CI_CD #LLM #多智能体系统 #Cloudflare #OpenCode #插件架构

总结:
Cloudflare为解决代码审查瓶颈,放弃单一LLM直接审diff的噪音方案,转而基于开源代理OpenCode构建CI原生编排系统。该系统采用可组合插件架构,通过风险分级(Trivial/Lite/Full)动态调度最多7个专业审查智能体(安全、性能、质量等),由协调者代理去重、过滤并做出审批决策。系统已在数万MR上运行,能精准拦截真实漏洞,同时保留"break glass"人工逃生通道。

文章要点:
- **从噪音到精准**:早期直接把git diff塞给LLM的方案产生了大量幻觉和模糊建议,团队很快意识到需要专业化分工而非单一通用提示词
- **插件化架构**:系统基于OpenCode构建,采用完全解耦的插件体系(GitLab、AI网关、合规检查、遥测等各自独立),通过`ConfigureContext` API贡献配置,最终组装成`opencode.json`
- **多智能体协作**:最多同时启动7个专业审查者各司其职,协调者代理负责去重、重新分类、合理性验证,并按严格规则做出approve/approve_with_comments/unapprove/request_changes四级决策
- **风险分级省成本**:按代码行数和文件数将MR分为Trivial/Lite/Full三级,小改动只派2个轻量代理且降级模型,安全相关文件永远触发Full审查,避免用大模型审typo
- **工程细节满满**:使用JSONL流式处理避免内存爆炸;通过磁盘patch文件共享上下文节省7倍token;清理XML边界标签防止提示注入;30秒心跳日志消除"模型思考中"的误取消

文章URL:https://blog.cloudflare.com/ai-code-review Orchestrating AI Code Review at scale
《AI编码代理生产级工程技能集》

标签:#AI辅助编程 #开发工具 #AI_Agent #工程规范 #ClaudeCode #Cursor #代码审查 #测试驱动开发 #CI_CD

总结:
这是一个为AI编码代理(如Claude Code、Cursor、GitHub Copilot等)设计的生产级工程技能仓库,由Addy Osmani维护。它将资深工程师在真实项目中的工作流、质量门禁和最佳实践编码为20个结构化技能,覆盖从需求定义到上线发布的完整开发生命周期,让AI代理在每次编码时都能保持一致的专业水准,避免走"最短路径"而跳过测试、审查等关键环节。

文章要点:
- 六阶段开发流水线:从Define(定义需求)→ Plan(拆解任务)→ Build(增量编码)→ Verify(验证测试)→ Review(质量门禁)→ Ship(安全发布),像工厂流水线一样规范AI的每一步动作
- 7个斜杠命令即开即用:/spec写需求文档、/build增量开发、/test跑测试、/review代码审查……输入命令就能自动激活对应的技能组合,非常顺手
- 20个实战技能全覆盖:从API设计、前端工程、TDD测试驱动,到性能优化、安全加固、Git工作流、CI/CD自动化,每个技能都自带步骤清单、验证标准和"反找借口"表格(比如AI想跳过测试时,会被技能里的反驳论据怼回去😄
- 多工具无缝兼容:Claude Code一键插件安装,Cursor复制到rules目录,Gemini CLI、Windsurf、GitHub Copilot、Kiro等主流AI编程工具都能直接用,技能就是纯Markdown,通吃所有支持系统提示词的代理
- Google工程文化落地:融入了Hyrum定律、Beyonce规则、测试金字塔、Chesterton围栏等Google实战智慧,不是泛泛而谈的理论,而是嵌入到每一步工作流中的可执行标准

文章URL:https://github.com/addyosmani/agent-skills GitHub - addyosmani/agent-skills: Production-grade engineering skills for AI coding agents.
 
 
Back to Top