- 添加项目配置文件:.vercelignore、.codex/config.toml、postcss.config.js、.prettierrc 等 - 设置构建工具链:Vite + React + TypeScript + TailwindCSS - 添加核心组件:HeaderBar、TierRow、ItemCard、Pool - 配置 CI/CD 和部署相关文件:vercel.json、DEPLOY.md - 添加开发工具配置:ESLint、Prettier、EditorConfig - 实现基础功能:拖拽排序、图片处理、状态管理
31 lines
2.9 KiB
Markdown
31 lines
2.9 KiB
Markdown
# Repository Guidelines
|
||
|
||
## 所有给我的提示都用简体中文表示
|
||
|
||
## 项目结构与模块组织
|
||
- 仓库目前处于初始化阶段,建议约定目录:`src/` 放核心源码或脚本;`tests/` 放单元与集成用例;`scripts/` 放自动化脚本(格式化、发布等);`docs/` 存放设计与决策记录;`assets/` 存放示例数据或静态资源;`tmp/`(如需)用于本地运行产物且应在 `.gitignore` 中排除。
|
||
- 在提交前确保新增模块自带简要 README 或注释,描述职责、入口文件与主要依赖,以便后续贡献者快速定位。
|
||
|
||
## 构建、测试与本地开发
|
||
- 推荐在根目录提供 `Makefile` 或 `justfile` 统一命令。建议约定:`make init` 安装依赖;`make lint` 运行静态检查;`make test` 运行全部测试;`make dev` 以默认配置启动本地开发(如适用)。若暂未创建这些脚本,请先补充后再提交功能代码。
|
||
- 运行任何生成产物(构建、压缩、代码生成)时,将输出定向到 `build/` 或 `dist/`,并确保可通过 `make clean` 清理。
|
||
|
||
## 代码风格与命名约定
|
||
- 统一使用 UTF-8 编码,行宽上限 100,换行使用 LF。缩进优先 2 空格;如语言/工具强制 4 空格,请在对应目录的配置文件中显式声明。
|
||
- 文件命名:目录与通用脚本使用 `kebab-case`,测试文件以 `.spec` 或 `.test` 结尾;类/类型用 PascalCase,变量与函数用 camelCase,常量使用 UPPER_SNAKE_CASE。
|
||
- 建议为主语言引入格式化与静态检查(如 Prettier、ESLint、ruff、gofmt 等),并将配置置于仓库内(如 `.editorconfig`、`.eslintrc.*`),避免依赖全局默认。
|
||
|
||
## 测试准则
|
||
- 为每个可测试模块提供最小单元测试与一条端到端或集成路径,目标覆盖率≥80%,并在 CI 中强制检查。
|
||
- 测试命名遵循 Given-When-Then 或行为导向描述;保持测试数据最小化且可重复。需要外部服务时,优先使用本地 mock/fixture。
|
||
- 新增或修改行为时同步更新回归用例,并在 PR 描述中列出已执行的测试命令(如 `make test`、`make lint`)。
|
||
|
||
## 提交与 Pull Request 准则
|
||
- 推荐使用 Conventional Commits(如 `feat: ...`、`fix: ...`、`chore: ...`),单次提交聚焦单一变更集,并在提交信息中注明动机或关联问题编号。
|
||
- PR 需包含:变更概要、动机/背景、测试结果、风险与回滚策略。涉及界面或输出的改动请附截图或示例日志。
|
||
- 在评审前确保分支可干净合并(rebase 优先),并避免提交构建产物或本地环境文件(如 `.env`、`node_modules/`)。
|
||
|
||
## 安全与配置
|
||
- 不要提交任何密钥、令牌或真实数据。使用 `.env.example` 提供占位,并在 README/脚本中说明所需变量。
|
||
- 如需访问外部服务,优先提供可在本地自托管或模拟的方案,并记录最小权限策略与旋转流程。
|