codernew-api-frontend/AGENTS.md
gaoziman 4a6a0c2209 docs(项目文档): 添加项目指南和开发文档
- 添加 AGENTS.md 项目结构和开发指南
- 添加 CLAUDE.md AI辅助开发配置文档
- 更新 .gitignore 忽略 docs 和 .serena 目录
2025-11-18 21:20:10 +08:00

40 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Repository Guidelines
## 项目结构与模块组织
- `src/` 存放核心前端代码:`pages/` 管理业务页面(登录、用户管理、个人信息),`components/` 复用组件,`api/` 与后端交互封装,`store/` 保存全局设置与标签页状态,`utils/` 管理工具函数,`mock/` 仅在本地调试启用。
- `docs/` 收录 API 对接与集成报告,提交前务必同步更新。
- `dist/``pnpm run build` 产物,禁止手动修改;`.env.*` 提供环境变量,请按需复制调整。
## 构建与开发命令
| 命令 | 说明 |
| ---------------------------------------- | --------------------------------------------------------- |
| `pnpm install` | 安装依赖,项目首选 pnpm若使用 npm需同步更新锁文件。 |
| `pnpm run dev` | 启动 Vite 开发服务器,默认走 `/api` 代理到本地 8080。 |
| `pnpm run build` | 生成产物到 `dist/`,用于联调或上线前校验。 |
| `pnpm run preview` | 以本地静态服务验证构建结果。 |
| `pnpm run eslint` / `pnpm run stylelint` | 校验并自动修复 TS/TSX 与 Less。 |
| `pnpm run pre-commit` | 执行 pretty-quick、ESLint、StylelintPR 前必跑。 |
## 编码风格与命名
- 语法统一使用 TypeScript + React 17 Hooks目录与文件采用小写连字符示例`user-management`)。
- ESLint 继承 `plugin:@typescript-eslint/recommended``plugin:react-hooks/recommended`Prettier 约定 2 空格缩进、单引号、强制分号。
- 样式使用 Less + CSS Modules遵循 `.module.less` 命名Stylelint 规则在 `.stylelintrc` 中定义。
## 测试指引
- 当前仓库尚未集成自动化测试;提交复杂功能时,需给出手工测试步骤,并优先在 `src/__tests__`(或相应页面目录)补充 `*.spec.tsx`
- 覆盖重点:核心表单(登录、用户管理)与 API 适配层,可借助 Jest + @testing-library/react命名遵循 `模块名.行为.spec.tsx`
## 提交与 PR 规范
- Commit 信息遵循 `type(scope): 描述`,与现有记录(如 `feat(布局): ...`、`style(导航栏): ...`)保持一致,描述使用简体中文。
- Pull Request 需包含:变更摘要、关联 Issue/需求编号、截图或命令输出、测试与 lint 结果;若改动 API 或配置,同步更新 `docs/``.env.*` 示例。
## 安全与配置提示
- `.env.development` 默认将 `VITE_API_BASE_URL` 指向 `/api`,生产环境务必更新为真实网关地址,避免调试代理泄漏。
- Mock 入口在 `src/main.tsx` 引入,如需生产构建剔除,可通过环境变量包装 `import './mock'`,防止将虚拟数据发布到线上。