核心用法
wip-license-guard 是一款面向开源仓库维护者的 CLI 合规工具,专注于解决许可证声明的自动化治理。其核心功能围绕三大场景展开:
1. 全局审计 (check):扫描代码库中所有源文件的版权头完整性,检测 LICENSE 文件是否存在,并支持 --fix 模式自动修复缺失或错误的声明。
2. 初始化配置 (init):提供交互式向导或 --from-standard 一键应用 WIP Computer 组织级默认配置,快速建立合规基线。
3. README 许可证区块管理 (readme-license):针对多仓库场景设计,支持审计、预览 (--dry-run)、自动修复 (--fix) 三种模式,智能识别主仓库与子工具 README 的差异(子工具 README 自动去除许可证区块,主仓库标准化为 MIT/AGPLv3 双许可证声明)。
显著优点
- 双许可证原生支持:针对 MIT/AGPLv3 混合授权场景提供内置模板,避免手动维护的多版本漂移。
- 批量治理能力:支持单仓库或目录级多仓库批量处理,适合组织级合规基线管理。
- 非侵入式修复:
--dry-run模式提供变更预览,降低误操作风险;修复操作精准定位非标准区块,保留其余文档内容。 - CI/CD 友好:纯 Node.js 实现,依赖仅要求
node与git,易于集成至发布前检查流水线。
潜在局限与风险
- 生态锁定倾向:
--from-standard模式隐含 WIP Computer 组织的默认配置,跨组织迁移时需手动调整模板。 - 授权模式单一:内置模板针对 MIT/AGPLv3 双许可证优化,GPL-2.0、Apache-2.0 等其他组合需自定义配置。
- 误覆盖风险:
--fix模式虽声称保留非许可证内容,但正则匹配逻辑若遇非标准格式 README 仍可能产生意外变更,建议强制前置--dry-run。 - 子工具识别启发式:自动区分"主仓库"与"子工具 README"的逻辑若遇 monorepo 复杂结构可能误判。
适合人群
- 维护多仓库开源项目的组织级开发者
- 采用 MIT/AGPL 双许可证策略的独立开发者
- 需在 CI 中强制许可证合规的检查点配置者
常规风险
| 风险点 | 等级 | 说明 |
|--------|------|------|
| 自动化修复覆盖人工调整 | 中 | `--fix` 可能重写自定义措辞的许可证声明 |
| 模板硬编码组织偏好 | 低 | `--from-standard` 非通用,需审核后使用 |
| Node 版本兼容性 | 低 | 依赖现代 Node.js,老旧环境需验证 |