
贡献 Duster开发者环境搭建、安全流程与社区协作完全指南【免费下载链接】dusterAutomatic configuration for Laravel apps to apply Tightens standard linting code standards.项目地址: https://gitcode.com/gh_mirrors/du/dusterDuster 是一款为 Laravel 项目自动生成 Tighten 标准代码规范检查与修复配置的 PHP 代码检查linting工具。本文将带你完整走通 Duster 开源贡献之路从零搭建本地开发环境、跑通质量检查、遵循安全漏洞报告流程并掌握社区协作规范帮助新手第一次提交就顺利合并。一、快速认识 Duster它检查什么、代码在哪里在动手贡献之前先花 2 分钟了解项目结构会帮你少走很多弯路。Duster 通过组合 4 个工具来完成代码检查与自动修复工具职责TLint检查其他工具覆盖不到的 Laravel/PHP 问题Tighten 预设PHP_CodeSniffer发现无法自动修复的问题以 PSR-1 为主的 Tighten 规则集PHP CS Fixer补充 Pint 不支持的自定义规则PintLaravel 官方代码风格附少量 Tighten 定制所有编译后的规则与示例可以在风格指南 style-guide.md 对应的文件中查阅贡献前务必通读一遍。核心目录速览app/— 命令行应用主体命令、服务、修复器实现standards/— Tighten 规则集与 Pint 配置等标准定义tests/— 基于 Pest 的功能测试、单元测试与修复器测试stubs/— CI 与 Git 钩子模板GitHub Actions、Husky Hooksconfig/app.php— 应用名称与版本号当前版本 3.x二、贡献前必读社区协作三步守则 项目贡献指南位于CONTRIBUTING.md核心可以概括为三条1. 保持友善EtiquetteBe kind. —— 这是全部守则中最简单也最重要的一条。2. 评估可行性Viability开源项目被大量开发者使用。提交新特性前先想一想这个功能对别人有用吗如果你只是解决自己项目的特殊需求可能并不适合进入主库。3. 提交前做足功课Procedure创建 Issue 之前尝试复现问题确认不是一次性的偶发事件确认你建议的特性项目中还没有查看 PR 列表确认没有人在修复该 Bug 或开发该特性提交 Pull Request 之前检查代码库确认特性尚未存在检查 PR 列表避免与他人重复劳动三、开发者环境搭建最快 3 步上手 Duster 要求 PHP 8.2 及以上版本composer.json中声明php: ^8.2.0。搭建本地开发环境只需三步第 1 步克隆仓库git clone https://gitcode.com/gh_mirrors/du/duster cd duster第 2 步安装开发依赖注意本地开发使用的是独立的开发依赖清单composer-dev.json额外包含 Pest、PHPStan、Larastan、Rector 等而不是普通的composer.jsonCOMPOSERcomposer-dev.json composer install这一行也是 CI 安装依赖的方式本地与 CI 保持完全一致是贡献质量的基石。第 3 步验证环境可用运行一次代码检查与测试确认环境没有问题./duster lint vendor/bin/pest如果一切通过恭喜你的贡献环境已就绪四、本地质量检查让 CI 一次通过 ✅项目的 CI 工作流定义在.github/workflows/tests.yml会在 Linux 与 Windows 双平台、PHP 8.2 / 8.3 / 8.4 / 8.5 全矩阵上运行以下检查。建议本地按同样顺序执行Duster 自检用项目自身检查代码风格./duster lint发现问题可用./duster fix一键修复静态分析PHPStan 运行在第 6 级配置见phpstan.neonvendor/bin/phpstan测试套件Pest 运行tests/下的三个测试组Feature、Unit、Fixervendor/bin/pest 小技巧如果 PHPStan 本地因内存不足失败可以调大内存限制重试./vendor/bin/phpstan analyze --memory-limit 1G此外项目还配置了 Rector 用于代码现代化重构rector.php提交前运行composer rector-dry-run可以预览它建议的改动。五、安全流程发现漏洞的正确上报方式 重要发现任何安全相关问题时请不要在 Issue 跟踪器中公开提交正确做法是直接发送邮件至hellotighten.co报告问题邮件中附可复现的最小示例与影响范围说明等待维护者私下响应与修复后再关注后续的安全公告公开渠道报告漏洞会让攻击者抢在修复前利用它这是开源安全流程中最重要的红线。六、进阶了解发布流程 成为熟悉项目的贡献者后你还可以了解维护者的发布规范记录在RELEASE.md核心步骤为遵循语义化版本修复类改动递增补丁号第三位新特性递增次版本号第二位在3.x分支更新config/app.php中的版本号执行composer update并编译 PHAR 可执行文件./duster app:build打包规则见box.json本地运行一次./builds/duster fix验证产物可用提交并推送改动然后创建 Release 并从已合并的 PR 自动生成发布说明结语Duster 的欢迎态度非常明确Contributions are welcome and will be fully credited.欢迎贡献且会完整署名。从COMPOSERcomposer-dev.json composer install搭好环境到跑通 Duster 自检 PHPStan Pest 三道关卡再到友善协作与安全合规——按本文的路径走你的第一个 Pull Request 就会离合并只差一步。拿起扫帚开始除尘吧【免费下载链接】dusterAutomatic configuration for Laravel apps to apply Tightens standard linting code standards.项目地址: https://gitcode.com/gh_mirrors/du/duster创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考