SuperAPI AI 工具集

solidcraft-ground-rules

编程与开发

查看项目

更新于 11-03 16:16

技能介绍

SolidCraft Ground Rules 是 SolidCraft 项目的一组不可协商的贡献规则,以技能形式提供。其用途是在提交 PR 之前检查拟添加内容是否合规,尤其适用于新增依赖、图标、图片、字体、测试参考数据或产品文案,以及不确定某些内容是否可以被复制或读取的场景。

独立性方面:软件行为只能来源于公开文档、通用 CAD 惯例和用户反馈,文件格式来源于公开规范;禁止复制其他产品的代码、图标、美术素材、帮助文本、工具提示、模板或材料;参考测试使用解析值(tools/oracle-analytic/)或开源工具,期望值不得来自商业 CAD 产品;不得为项目驱动、脚本化、自动化或提取商业 CAD 产品(Fusion、SolidWorks、Onshape 等)的数据,包括测试数据、测量值、命令列表、ID 或生成的文件;命令 ID 为自有格式,采用小写点分结构 <area>.<thing>[.<variant>]。

许可证方面:禁止阅读、复制或链接 GPL、LGPL、AGPL 代码,包括 OpenCASCADE、FreeCAD(含 planegcs)、SolveSpace、CadQuery/OCP、LibreCAD、QCAD,甚至不得阅读其源码;tools/freecad-oracle/ 以独立程序方式通过 FreeCAD 公开脚本 API 计算参考值,不链接、不内置、不分发 FreeCAD 的任何内容,草图求解器和混合操作均为自有实现;宽松许可证依赖可以使用,但需在 PR 中说明添加的依赖及原因;THIRD-PARTY-LICENSES.txt 在主分支重新生成,不得在 PR 中编辑(cargo xtask licences --check 仅报告);改编自其他宽松项目(MIT 或 Apache-2.0)的代码需记录在 ATTRIBUTION.md 中。

资源方面:项目不得包含任何来自商业 CAD 产品的图标、图片、字体或美术素材,也不得提交商业 CAD 软件截图;每个文件资源必须为原创或开放授权,并在 ATTRIBUTION.md 中有一行记录,由 cargo xtask assets 强制执行;命令图标为 assets/icons/ui/design/svg/ 中的原始 SVG 母版,经 crates/ui-egui/src/icon_svg.rs 编译;编辑图标、图标分配或媒体前需阅读 assets/AGENTS.md、assets/icons/ui/AGENTS.md 和 assets/icons/ui/STYLE_GUIDE.md,使用其中规定的基准和具名成品参考,不得另行发明风格,由 cargo xtask icons 校验。

命名方面:产品名称统一为 SolidCraft,包括 solidcraft-* crate、solidcraft 与 solidcraft-cli 二进制、.sc 设计文件(.solidcraft 仍可打开)、solidcraft/N 格式标签、SOLIDCRAFT_* 环境变量、设置与恢复文件夹、MCP 服务器名、文档、CI 与打包;旧名仅保留在 docs/compatibility.md 列出的兼容层中,不得新增旧名用法;公开文档、网站与 Flatpak 部署使用项目 Pages 路径 /solidcraft/,不添加旧名的永久 Pages 别名;标签、参数文档、消息和文档使用词汇表(docs/book/src/reference/glossary.md)中的术语,每个概念一个术语,新增概念需在词汇表中添加对应术语;内部单位为毫米和弧度,Z 轴向上。具体规则细节可参考 AGENTS.md 与 CONTRIBUTING.md 中“Rules that aren't negotiable”一节。