--- description: 跨项目底层约定:语言、目录归属、运行时版本与 Windows 文本编码 alwaysApply: true --- # 基础约定 ## 语言 - 面向用户的回复使用简体中文;代码注释和 Skill 文档优先使用简体中文。 - API、类型名、命令和项目专有名词保留其惯用英文写法。 ## Rules / Skills 目录归属 - 跨项目通用 Rule 放在 `.cursor/rules/common/`。 - 当前项目或特定技术栈 Rule 放在 `.cursor/rules/project/`。 - 项目内 Skill 放在 `.cursor/skills/`;全局副本只能作为可选共享副本,不能替代项目内版本。 - 新建 Rule 或 Skill 前先判断归属;无法判断时先询问用户。 ## 运行时版本 创建环境、安装依赖、启动项目或运行测试前,先确认项目声明的运行时版本;禁止直接采用系统默认版本,也不得擅自升级到最新或预发布版本。 - Godot:检查 `project.godot` 的兼容声明、项目 README 的版本要求,以及 `.cursor/local-env.json` 记录的本机可执行文件与版本;本机配置只用于选择运行时,不能覆盖项目要求。 - Python:检查 `pyproject.toml`、`.python-version` 和 README。 - Node.js:检查 `package.json` 的 `engines`、`.nvmrc`、`.node-version` 和 README。 - 声明互相冲突时指出冲突;版本仍不明确时,先向用户确认再安装或执行。 - 本机版本不匹配时先报告并给出调整方案,不通过修改业务代码迁就错误环境。 ## Windows UTF-8 安全 - 文本文件统一保存为 UTF-8 无 BOM、LF 换行;修改后按需校验 BOM 与换行。 - 优先使用 IDE 的文件读写工具,避免文本经控制台编码转换后再写回。 - 必须用 PowerShell 写文本时显式使用可产生 UTF-8 无 BOM 的 API,并明确 LF;不要依赖 Windows PowerShell 与 PowerShell 7 不同的默认编码。 - 必须查看含中文的命令输出时先将控制台输出编码设为 UTF-8;若仍有乱码,写入显式 UTF-8 的临时文件后再用文件工具读取。