配置、工具链与依赖
配置的具体格式由项目框架决定;标准要求说明每个值来自哪里、何时生效、由哪个组件校验,以及凭据如何保管。
配置契约
明确已提交默认值、非秘密配置文件、环境覆盖、进程环境、CLI 参数和秘密来源的优先级。对关键字段验证类型、范围和跨字段条件;关键配置缺失时应报出可操作错误,不要选择一个真实环境作为静默回退。
每个配置记录名称、用途、是否必填、默认值、秘密分类、权威来源,以及修改需要重启、重建还是重新部署。区分本地、隔离测试、staging 和 production;环境名本身不要求不同的源码仓库。
浏览器 bundle 中不能保存服务端秘密。客户端构建时变量不是部署时服务端配置。公开 callback URL、外部浏览器地址、内部容器地址和服务端 URL 分开管理。
本机 .env、凭据、路径映射、解析后的敏感配置和支持包不进入 Git、镜像、公开截图或日志。实际线上环境使用平台秘密存储或受控注入,并记录所有者、作用域、轮换和撤销方式。
工具链与可复现构建
版本输入以项目维护的 runtime、版本文件、manifest 和锁文件为准。应用/包使用单一且有维护责任的包管理器策略。CI 使用锁文件的确定性安装模式;分支尖端或未固定 latest 不是可复现证据。
记录干净 clone 需要的原生库、代码生成器、服务和运行时约束。配置变更应使用无害 fixture 验证优先级、缺字段和类型错误,不打印实际凭据。Windows/Linux 路径大小写、换行、可执行权限和本地化解析应针对宣称支持的平台验证。
依赖与供应链
添加依赖前确认实际解决的问题、维护状态、框架兼容、包来源、传递依赖、许可和长期维护责任。升级包时一起评审 manifest 与锁文件,针对消费者 API 和干净安装路径验证,不在无关任务里进行大规模升级。
发布镜像和构建物使用有意义的版本;支持时记录不可变摘要。依赖扫描、SBOM、签名和来源证明按发布风险和消费者需要决定。某项扫描通过不代表完成安全审计。
不得把私有 registry token 放进锁文件、镜像历史、生成文档或公开流水线。第三方代码、数据和模型权重按原许可证与分发条件处理;不替其他项目臆加许可。