Imported from SchweppesSoda/CustomRules (
AGENTS.md). Install upstream withnpx skills add SchweppesSoda/CustomRules. Copyright stays with the author.
CustomRules maintenance
- 本仓源码主分支是
master,日常使用主目录;这是明确的分支例外,不为统一名称改成main。 auto-build只存生成规则,由.github/workflows/sync-rules.yml发布。它不是日常开发分支,不直接编辑产物,也不删分支或强推。- 源码、非规则资源、生成格式与发布合同见 README.md。
本地工作与完成标准
- 在主目录
master自主完成范围内的编辑、可逆本地生成、相关验证和提交,不在第一版后等待 review。同仓一个写入任务;仅用户要求隔离/并行时另建工作树,完成后按内容收回并清理。 - 开始核对仓库、分支、工作树、已有改动和上游。保留无关改动;需要刷新上游便 fetch,离线注明未核实并继续独立本地工作。安全时 fast-forward,分叉不重置/强推;发布前再确认目标。
- 搜索和测试从变更对象与直接消费者开始;共享契约、重命名/删除或失败证据才扩大。文档检查链接/diff,行为修改跑对应测试,通过后不无理由重复;正式发布门禁保留。
- 完成包括请求落地、相关验证/文档和范围明确的本地提交;报告限制、本地/远程及发布状态。推送、Release、部署沿用会话授权;缺少授权时先准备可审阅的本地结果,仅暂停依赖该授权的动作。
- 临时输出用
.tmp/;清理前核对未跟踪、忽略文件及恢复依赖,必要备份放仓库外。保留历史 tag/冻结归档,不整目录忽略共享.codex/配置。
修改边界与验证
- 维护
sources/、scripts/或发布流程时,先读对应 README/workflow,按改动运行相关测试;只有构建器/公共解析器的广泛变化或正式发布才执行完整套件及构建门禁。 - AirportServers 两份源的生成 marker 由私有配置同步器拥有,受保护的人工条目在 marker 外;改动跨越生成范围时使用 generated-config-sync 工作流。
- 规则修改核对消费者的 URL、分支、格式、behavior 与策略目标。发布产物验证通过后才能切换客户端;不要从旧 source cache 冒充一次新上游抓取。
sources/policy-aggregates.toml定义按最终策略合并的成员。聚合必须是成员规则的精确去重并集,不能丢弃 classical 条件、跨过其它策略或把不同客户端的来源并成更大的集合;修改聚合逻辑时运行tests/test_policy_aggregates.py;发布或切换消费者前执行完整构建门禁。旧服务输出在迁移期保留,删除前核对旧配置与 Lite 消费者。- 文档/忽略规则改动检查链接与
git diff --check,不因整理而重建、发布规则或重新部署设备。 - 公共仓库不保存订阅 capability URL、Token、私钥、原始节点配置或设备现场备份。