diff --git a/.cursor/skills/dukang-release/SKILL.md b/.cursor/skills/dukang-release/SKILL.md new file mode 100644 index 0000000..61eede8 --- /dev/null +++ b/.cursor/skills/dukang-release/SKILL.md @@ -0,0 +1,89 @@ +--- +name: dukang-release +description: >- + 杜康好客生产发布流程:dev_jacy 提交合并到 dev,并用 deploy.sh 发版。 + Use when the user says 发布、上传、deploy、上线、发版, or @杜康发布 / @dukang-release. +--- + +# 杜康发布 + +将已完成改动发到生产(`aliyun-smarthr`)。**仅用户明确要求发布时执行。** + +## 分支约定 + +| 分支 | 用途 | +|------|------| +| `dev_jacy` | 日常开发 / 提交 | +| `dev` | **发布分支**(服务器拉这个) | + +默认:`dev_jacy` → merge → `dev` → 部署。勿 force push `main`/`dev`。 + +## 标准流程(Windows) + +PowerShell 下 **分支名必须加引号**(否则 `checkout` 与 `dev` 会被粘成 `checkoutdev`)。 + +### 1. 提交(在 `dev_jacy`) + +```powershell +git status -sb +git add +git commit -m @" +fix(scope): summary + +Optional body. +"@ +``` + +- Conventional Commits;不提交 `.env` / `dist` / `node_modules` +- 用户未要求 commit 时不要擅自提交 + +### 2. 推送并合并到 `dev` + +```powershell +git push -u origin HEAD +git checkout "dev" +git pull origin "dev" +git merge "dev_jacy" -m "merge(dev_jacy): <简述>" +git push origin "dev" +git checkout "dev_jacy" +``` + +### 3. 远程发版 + +本机无 WSL bash 时用 **Git Bash**: + +```powershell +& "C:\Program Files\Git\bin\bash.exe" "/deploy/deploy.sh" --branch "dev" -- --skip-db +``` + +- 默认加 `--skip-db`(无迁移时) +- 有 Prisma 迁移时去掉 `--skip-db`,按用户确认是否 `--seed` / `--accept-data-loss` +- `deploy/deploy.env` 提供 `DEPLOY_HOST` 等(勿提交密钥) + +### 4. 等待完成 + +后台跑部署时轮询终端输出,成功标志: + +- 出现 `发版完成` +- `exit_code: 0` +- `mini-user(h5): 200`(或对应前端 200) + +说明:API 健康检查短暂 `FAIL`/`000` 多为重启中,以 `发版完成` + `exit_code: 0` 为准。 + +### 5. 回复用户 + +一句说明:已合并 commit、发版结果、建议微信强刷验证。 + +## 常用变体 + +| 场景 | 做法 | +|------|------| +| 仅部署已推送的 `dev` | 跳过 commit/merge,直接跑 `deploy.sh --branch "dev" -- --skip-db` | +| 检查服务器 | `deploy.sh --branch "dev" --check` | +| 含 DB | `deploy.sh --branch "dev" --`(无 skip-db)或按用户给 seed 参数 | + +## 禁止 + +- 不 amend 已推送 commit;不 force push `main`/`master`/`dev` +- 不把 `.env` / 私钥打进仓库 +- 用户只说「修好」未说发布时 → **只改代码,不发版** diff --git a/AGENTS.md b/AGENTS.md index d5ac38f..a150ea3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -90,6 +90,7 @@ Mock 验证码:`123456`。测试账号见 [`README.md`](./README.md)。 | 需求 Skill | `.cursor/skills/dukang-project/` | @dukang-project | | preV1 Skill | `.cursor/skills/dukang-prev1/` | Mock / Feature Flag | | 任务卡 Skill | `.cursor/skills/dukang-task-card/` | DLV-W* / P1-* / M*-* | +| 发布 Skill | `.cursor/skills/dukang-release/` | @杜康发布 / @dukang-release | ## 子 Agent(按职责选用) @@ -115,6 +116,7 @@ Mock 验证码:`123456`。测试账号见 [`README.md`](./README.md)。 | `dukang-project` | PRD/需求评审、原型对照、任务卡规划(**不用于日常编码**) | | `dukang-prev1` | Mock 开关、preV1 裁剪、Feature Flag | | `dukang-task-card` | 领取任务卡 `DLV-W*-*` / `P1-*` / `M*-*` 并按 DoD 交付 | +| `dukang-release`(杜康发布) | `dev_jacy`→`dev` 合并 + `deploy.sh` 发版 | ## 快速指令