35 lines
1.8 KiB
Plaintext
35 lines
1.8 KiB
Plaintext
---
|
||
description: 跨项目底层约定:语言、目录归属、运行时版本与 Windows 文本编码
|
||
alwaysApply: true
|
||
---
|
||
|
||
# 基础约定
|
||
|
||
## 语言
|
||
|
||
- 面向用户的回复使用简体中文;代码注释和 Skill 文档优先使用简体中文。
|
||
- API、类型名、命令和项目专有名词保留其惯用英文写法。
|
||
|
||
## Rules / Skills 目录归属
|
||
|
||
- 跨项目通用 Rule 放在 `.cursor/rules/common/`。
|
||
- 当前项目或特定技术栈 Rule 放在 `.cursor/rules/project/`。
|
||
- 项目内 Skill 放在 `.cursor/skills/`;全局副本只能作为可选共享副本,不能替代项目内版本。
|
||
- 新建 Rule 或 Skill 前先判断归属;无法判断时先询问用户。
|
||
|
||
## 运行时版本
|
||
|
||
创建环境、安装依赖、启动项目或运行测试前,先确认项目声明的运行时版本;禁止直接采用系统默认版本,也不得擅自升级到最新或预发布版本。
|
||
|
||
- 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 的临时文件后再用文件工具读取。
|