用途:为 OpenZeppelin 合约库 contracts/ 目录下的 .sol 源文件提供统一的风格与安全约定,供编写或修改 Solidity 合约时遵循。这些约定不由 solhint 强制,lint 规则另见项目根 CLAUDE.md。
主要能力与要点: 错误处理优先使用 if (condition) revert CustomError(args);;自定义错误遵循 ERC-6093,带域名前缀并包含触发值,禁止跨库重复声明同名错误,并按底层 ERC、接口/库、实现、扩展的顺序确定声明位置。 事件应在状态变更后发出,使用过去式 CapWords 命名(ERC 标准事件按 ERC 规定的时态),在接口或合约顶部声明。 NatSpec 以 @dev 为主标签;单行用 /// @dev,多行用 /** @dev */;重写时用 @inheritdoc 或 @dev See {Interface-functionName};交叉引用格式为 {ContractName-functionName}。 导入使用具名花括号形式与相对路径,不用通配符;文件顺序为 SPDX、last updated 注释、pragma、导入、合约级 NatSpec、合约声明,函数体内按 using、结构体/枚举、常量、状态变量、事件、错误、修饰器、构造函数、external/public、internal、private 排列。 pragma 通过 npm run pragma 自动生成最小版本,CI 用 npm run test:pragma 校验。 内联汇编必须标注 "memory-safe",内存相关字面量用十六进制,位运算用十进制。 unchecked 需附命名不变量的注释。窄化类型转换须使用 SafeCast。继承顺序需全局一致,改动后用 npm run compile && npm run test:inheritance 校验。过程生成文件不可直接编辑,应改模板后运行 npm run generate。
限制:属项目内部约定,未提供通用安装命令或运行环境要求;价格、收费方式等暂无信息。