2.9 KiB
2.9 KiB
AI 协作编程规则(AI Coding Rules)
总则
- 所有代码必须遵循本项目的风格和结构。
- 不允许自动拉取、克隆、下载外部项目或依赖,除非用户明确要求。
- 只允许在本地已有文件和依赖范围内进行开发和修改。
- 遵循用户指令,优先满足用户需求。
- 保持代码风格、接口、参数、行为与用户项目一致。
参考项目代码的强制要求
- 当用户指定参考某个项目(如GitHub仓库、第三方节点等)时,必须严格复制该项目的相关代码实现,保持原有逻辑、参数、shape处理、异常处理等完全一致。
- 不得自行"优化"或"简化"实现,不得随意更改shape、类型、参数声明、默认值、边界处理等。
- 如需适配本地环境,仅允许在不影响核心逻辑的前提下做最小必要的兼容性调整,并需明确告知用户。
- 如遇到与主线ComfyUI不兼容的情况,优先保持参考项目的原始行为,并向用户说明。
代码风格
- 遵循 PEP8 代码风格。
- 类、函数、变量命名需简洁明了,使用英文。
- 关键逻辑必须有中英文注释。
- 遵循PEP8及项目原有风格。
- 变量、函数、类命名与参考项目保持一致。
节点开发
- 节点参数需有默认值、类型、范围说明。
- 输入输出类型必须与 ComfyUI 规范一致。
- 所有节点的输入和输出shape、类型、参数名、返回名,必须严格遵循ComfyUI官方节点开发规范,保证与ComfyUI原生节点和其他插件节点100%兼容。不得自定义非标准shape或类型。
- 新增节点需在
__init__.py注册,并补充到文档。 - 节点参数、UI、输出类型、行为与参考项目完全一致。
- 不得随意增删参数或更改默认值。
依赖管理
- 避免严格的依赖版本限制。除非有兼容性或安全性要求,否则建议只指定主版本或不指定版本。
- 依赖声明与参考项目一致,不随意更改依赖版本。
变更限制
- 不允许删除或覆盖用户已有的自定义节点。
- 不允许修改依赖包的源码。
- 不允许自动生成或修改测试数据文件,除非用户要求。
- 仅在用户明确要求时才可对参考项目代码做自定义扩展或优化。
- 所有变更需在注释中注明原因。
其它
- 如需引入第三方实现,必须先征得用户同意。
- 任何自动化操作前,需先说明理由和影响。
示例
应该做:
- 优化已有节点的参数校验和注释。
- 按照原项目实现方式重构 fill mask 相关逻辑。
- 新增节点时同步更新注册和文档。
- 依赖项如无特殊需求,不要写死具体小版本号。
不应该做:
- 不要自动拉取外部仓库或依赖。
- 不要更改用户未授权的文件。
- 不要随意更改项目结构。
- 不要在 requirements.txt/pyproject.toml 中写死所有依赖的精确版本号。