ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

【计算机工具类-版本控制Skills】codebase-audit-pre-push 技能

2026/8/19 11:36:05 拓冰建站 浏览量
【计算机工具类-版本控制Skills】codebase-audit-pre-push 技能 GitHub推送前的深度审计删除垃圾文件、死代码、安全漏洞和优化问题。逐行检查每个文件的生产就绪性。技能概述codebase-audit-pre-push 技能是一个专门用于GitHub推送前深度审计的技能。作为高级工程师在将代码推送到GitHub之前进行最终审查仔细检查所有内容并立即修复问题确保代码的生产就绪性。下载地址https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/codebase-audit-pre-push主要功能垃圾文件清理: 删除不应出现在GitHub上的文件死代码删除: 删除注释掉的代码块、未使用的导入和变量代码质量改进: 修复模糊的名称、魔法数字、调试语句安全检查: 检查硬编码密码、API密钥和令牌逻辑问题修复: 修复缺少的null检查、异步问题等触发条件在以下情况下应该调用此技能:用户请求审计代码库或推送前审查首次推送到GitHub之前将存储库公开之前生产部署前审查用户要求清理代码或优化一切审计过程1. 清理垃圾文件首先查找不应出现在GitHub上的文件:立即删除这些:OS文件: .DS_Store、Thumbs.db、desktop.ini日志: *.log、npm-debug.log*、yarn-error.log*临时文件: *.tmp、*.temp、*.cache、*.swp构建输出: dist/、build/、.next/、out/、.cache/依赖项: node_modules/、vendor/、__pycache__/、*.pycIDE文件: .idea/、.vscode/先询问用户、*.iml、.project备份文件: *.bak、*_old.*、*_backup.*、*_copy.*测试工件: coverage/、.nyc_output/、test-results/个人垃圾: TODO.txt、NOTES.txt、scratch.*、test123.*关键 - 检查秘密:.env文件永远不应提交包含以下内容的文件password、api_key、token、secret、private_key*.pem、*.key、*.cert、credentials.json、serviceAccountKey.json如果在代码中发现秘密将其标记为关键阻塞问题。2. 修复.gitignore检查.gitignore文件是否存在且完整。如果缺失或不完整更新它以包含上述所有垃圾文件模式。确保.env.example存在且包含键但没有值。3. 审计每个源文件查看每个代码文件并检查:死代码立即删除:注释掉的代码块未使用的导入/requires未使用的变量已声明但从未使用未使用的函数已定义但从未调用无法访问的代码在return之后、在if (false)内部重复逻辑多个地方相同的代码 — 合并代码质量边进行边修复问题:模糊的名称data、info、temp、thing → 重命名为描述性的魔法数字if (status 3) → 提取为命名常量调试语句删除console.log、print()、debuggerTODO/FIXME注释要么解决它们要么删除它们TypeScript any添加适当的类型或解释为什么使用any在JavaScript中使用而不是超过50行的函数考虑拆分嵌套代码超过3层使用早期返回重构逻辑问题关键:缺少null/undefined检查对可能为空的数组进行数组操作未等待的异步函数没有.catch()或try/catch的Promise无限循环的可能性switch语句中缺少default4. 安全检查零容忍秘密: 搜索硬编码的密码、API密钥和令牌。它们必须在环境变量中。注入漏洞:SQL: 查询中没有字符串连接 — 仅使用参数化查询命令注入: 没有使用用户提供的输入的exec()路径遍历: 没有来自用户输入的文件路径没有验证XSS: 没有使用用户数据的innerHTML或dangerouslySetInnerHTML最佳实践逐文件审查: 审查整个代码库文件逐文件立即修复: 不要只是注意问题 — 进行必要的更改检查秘密: 搜索硬编码的密码、API密钥和令牌验证.gitignore: 确保.gitignore完整且正确零容忍安全: 对安全问题采取零容忍态度