diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..568338a --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,88 @@ +# Company Celebration 项目指南 + +## 项目概述 + +年会庆典系统,包含投票、抽奖、大屏展示等功能。 + +## 技术栈 + +- **前端**: Vue 3 + TypeScript + Vite +- **后端**: Node.js + Express + Socket.IO +- **数据库**: MySQL + Redis +- **部署**: PM2 + +## 项目结构 + +``` +packages/ +├── client-mobile/ # 移动端(投票、扫码登录) +├── client-screen/ # 大屏端(展示、管理控制台) +├── server/ # 后端服务 +└── shared/ # 共享类型和常量 +``` + +--- + +## 运维部署流程 + +### 服务器信息 + +- **SSH 别名**: `vote` +- **项目目录**: `/root/company-celebration` +- **进程管理**: PM2 (`gala-server`) + +### 标准部署流程 + +```bash +# 1. 本地提交并推送 +git add +git commit -m "commit message" +git push origin main + +# 2. SSH 到服务器拉取代码 +ssh vote "cd /root/company-celebration && git pull" + +# 3. 构建项目 +ssh vote "cd /root/company-celebration && pnpm build" + +# 4. 重启服务 +ssh vote "pm2 restart all && pm2 status" +``` + +### 常见问题处理 + +#### 服务器有本地修改冲突 + +```bash +ssh vote "cd /root/company-celebration && git stash && git pull" +``` + +#### 构建失败 + +1. 检查 TypeScript 类型错误 +2. 本地修复后重新提交推送 +3. 服务器重新拉取构建 + +#### 查看服务状态 + +```bash +ssh vote "pm2 status" +ssh vote "pm2 logs gala-server --lines 50" +``` + +--- + +## 开发规范 + +### 类型定义 + +- 共享类型定义在 `packages/shared/src/types/` +- 修改类型后需确保所有引用处同步更新 + +### 提交规范 + +使用 Conventional Commits: +- `feat`: 新功能 +- `fix`: 修复 +- `chore`: 杂项 +- `refactor`: 重构