Files
happy-life-star/docs/superpowers/plans/2026-06-27-backend-single-rename-to-server.md

463 lines
10 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.
# backend-single 重命名为 server 实施计划
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:**`backend-single` 目录重命名为 `server`,同步更新 Maven artifactId、部署脚本、配置文件、项目文档和历史文档中的所有引用。
**Architecture:** 分 10 个任务按依赖顺序执行。先移动目录(Task 1),再更新构建配置(Task 2-3),然后更新根级脚本(Task 4-5),接着更新文档(Task 6-8),最后批量替换历史文档(Task 9)并全面验证(Task 10)。
**Tech Stack:** Git, Maven, Python (deploy scripts), Bash, sed (batch replace)
---
### Task 1: 目录重命名
**Files:**
- Move: `backend-single/``server/`
- [ ] **Step 1: 使用 git mv 重命名目录**
```bash
cd /g/IdeaProjects/emotion-museun
git mv backend-single server
```
Expected: 目录从 `backend-single/` 重命名为 `server/`Git 历史完整保留。
- [ ] **Step 2: 确认目录已移动**
```bash
ls -d server/
ls server/pom.xml
```
Expected: 两个命令都成功,无报错。
- [ ] **Step 3: 提交目录移动**
```bash
git commit -m "refactor: 重命名 backend-single 目录为 server"
```
---
### Task 2: 更新 Maven pom.xml
**Files:**
- Modify: `server/pom.xml:8,12`
- [ ] **Step 1: 修改 artifactId 和 name**
`server/pom.xml` 中,将第 8 行和第 12 行的 `backend-single` 替换为 `server`
```xml
<!-- 第 8 行 -->
<artifactId>server</artifactId>
<!-- 第 12 行 -->
<name>server</name>
```
- [ ] **Step 2: 验证 pom.xml 修改**
```bash
grep -n "backend-single" server/pom.xml
```
Expected: 无任何输出(无残留引用)。
- [ ] **Step 3: 提交 pom.xml 修改**
```bash
git add server/pom.xml
git commit -m "refactor: 更新 Maven artifactId 为 server"
```
---
### Task 3: 更新后端部署脚本 JAR 名称
**Files:**
- Modify: `server/deploy.py:22`
- Modify: `server/deploy.sh:10`
- [ ] **Step 1: 修改 server/deploy.py 中的 JAR_NAME**
`server/deploy.py` 第 22 行:
```python
JAR_NAME = "backend-single-1.0.0.jar"
```
改为:
```python
JAR_NAME = "server-1.0.0.jar"
```
- [ ] **Step 2: 修改 server/deploy.sh 中的 JAR_NAME**
`server/deploy.sh` 第 10 行:
```bash
JAR_NAME="backend-single-1.0.0.jar"
```
改为:
```bash
JAR_NAME="server-1.0.0.jar"
```
- [ ] **Step 3: 验证后端部署脚本无残留**
```bash
grep -n "backend-single" server/deploy.py server/deploy.sh
```
Expected: 无任何输出。
- [ ] **Step 4: 提交后端部署脚本修改**
```bash
git add server/deploy.py server/deploy.sh
git commit -m "refactor: 更新后端部署脚本 JAR 名称为 server-1.0.0.jar"
```
---
### Task 4: 更新根目录部署脚本
**Files:**
- Modify: `deploy.py:398,405,413`
- Modify: `deploy.sh:77,81,82,86`
- [ ] **Step 1: 修改根目录 deploy.py**
`deploy.py` 中 3 处 `backend-single` 替换为 `server`
第 398 行注释:
```python
# 后端 - 调用 server/deploy.sh remote
```
第 405 行路径拼接:
```python
deploy_script = PROJECT_DIR / "server" / "deploy.py"
```
第 413 行 cwd
```python
cwd=str(PROJECT_DIR / "server"),
```
- [ ] **Step 2: 修改根目录 deploy.sh**
`deploy.sh` 中 4 处 `backend-single` 替换为 `server`
第 77 行注释:
```bash
# 后端 - 调用 server/deploy.sh
```
第 81 行存在性检查:
```bash
if [ ! -f "server/deploy.sh" ]; then
```
第 82 行错误信息:
```bash
log_error "后端部署脚本不存在: server/deploy.sh"
```
第 86 行 cd 命令:
```bash
cd server
```
- [ ] **Step 3: 验证根部署脚本无残留**
```bash
grep -n "backend-single" deploy.py deploy.sh
```
Expected: 无任何输出。
- [ ] **Step 4: 提交根部署脚本修改**
```bash
git add deploy.py deploy.sh
git commit -m "refactor: 更新根部署脚本中的后端目录引用为 server"
```
---
### Task 5: 更新 .gitignore
**Files:**
- Modify: `.gitignore:386`
- [ ] **Step 1: 修改 .gitignore**
`.gitignore` 第 386 行:
```
backend-single/backend.err
```
改为:
```
server/backend.err
```
- [ ] **Step 2: 验证并提交**
```bash
grep -n "backend-single" .gitignore
git add .gitignore
git commit -m "refactor: 更新 .gitignore 中的后端日志路径"
```
Expected: grep 无输出,提交成功。
---
### Task 6: 更新核心项目文档
**Files:**
- Modify: `CLAUDE.md` (4 处)
- Modify: `AGENTS.md` (4 处)
- Modify: `README.md` (1 处)
- [ ] **Step 1: 修改 CLAUDE.md**
`CLAUDE.md` 中所有 `backend-single` 替换为 `server`
第 23 行项目结构树:
```
├── server/ # Spring Boot 单体后端服务
```
第 37 行标题:
```
### 后端 (server)
```
第 41 行命令:
```
cd server
```
第 50 行 JAR 名称:
```
java -jar target/server-1.0.0.jar
```
- [ ] **Step 2: 修改 AGENTS.md**
`AGENTS.md` 中所有 `backend-single` 替换为 `server`(与 CLAUDE.md 相同的 4 处位置和内容)。
- [ ] **Step 3: 修改 README.md**
`README.md` 第 73 行:
```
├── backend-single/ # SpringBoot单体后端服务
```
改为:
```
├── server/ # SpringBoot单体后端服务
```
- [ ] **Step 4: 验证并提交**
```bash
grep -n "backend-single" CLAUDE.md AGENTS.md README.md
git add CLAUDE.md AGENTS.md README.md
git commit -m "docs: 更新核心文档中的后端目录引用为 server"
```
Expected: grep 无输出,提交成功。
---
### Task 7: 更新部署相关文档
**Files:**
- Modify: `server/部署说明.md` (1 处)
- Modify: `快速部署参考.md` (4 处)
- Modify: `一键部署说明.md` (5 处)
- [ ] **Step 1: 修改 server/部署说明.md**
`server/部署说明.md` 第 14 行:
```
# 在 backend-single 目录下执行
```
改为:
```
# 在 server 目录下执行
```
- [ ] **Step 2: 修改 快速部署参考.md**
`快速部署参考.md` 中所有 `backend-single` 替换为 `server`4 处:第 71、83、134、136 行)。
- [ ] **Step 3: 修改 一键部署说明.md**
`一键部署说明.md` 中所有 `backend-single` 替换为 `server`5 处:第 78、152、156、301、304 行)。注意第 156 行 `backend-single-1.0.0.jar` 变为 `server-1.0.0.jar`
- [ ] **Step 4: 验证并提交**
```bash
grep -n "backend-single" "server/部署说明.md" "快速部署参考.md" "一键部署说明.md"
git add "server/部署说明.md" "快速部署参考.md" "一键部署说明.md"
git commit -m "docs: 更新部署文档中的后端目录引用为 server"
```
Expected: grep 无输出,提交成功。
---
### Task 8: 更新前端代码和其他文档
**Files:**
- Modify: `web/src/types/auth.ts:5`
- Modify: `web-admin/AI_CONFIG_TEST_SAVE_FEATURE.md:284-287`
- [ ] **Step 1: 修改 web/src/types/auth.ts 注释**
将第 5 行:
```ts
// 登录请求(对齐 backend-single:手机号 + 短信验证码)
```
改为:
```ts
// 登录请求(对齐 server:手机号 + 短信验证码)
```
- [ ] **Step 2: 修改 web-admin/AI_CONFIG_TEST_SAVE_FEATURE.md**
将文件中 4 处 `backend-single/src/main/java/` 替换为 `server/src/main/java/`(第 284-287 行)。
- [ ] **Step 3: 验证并提交**
```bash
grep -rn "backend-single" web/ web-admin/
git add "web/src/types/auth.ts" "web-admin/AI_CONFIG_TEST_SAVE_FEATURE.md"
git commit -m "docs: 更新前端代码和文档中的后端目录引用为 server"
```
Expected: grep 无输出(在这两个目录中),提交成功。
---
### Task 9: 批量替换历史文档
**Files:**
- Modify: `docs/superpowers/` 下约 37 个 `.md` 文件(排除本次新建的设计文档)
- [ ] **Step 1: 使用 sed 批量替换**
在 Windows Git Bash 中执行:
```bash
cd /g/IdeaProjects/emotion-museun
find docs/superpowers -name "*.md" \
! -name "2026-06-27-backend-single-rename-to-server-design.md" \
-exec sed -i 's/backend-single/server/g' {} +
```
说明:
- `sed -i` 原地替换
- `! -name` 排除本次设计文档自身(避免修改自己的文件名引用)
- `s/backend-single/server/g` 全局替换
- [ ] **Step 2: 验证 docs/superpowers/ 中无残留**
```bash
grep -rn "backend-single" docs/superpowers/ \
--include="*.md" \
! --include="2026-06-27-backend-single-rename-to-server-design.md"
```
Expected: 无任何输出。
- [ ] **Step 3: 提交历史文档更新**
```bash
git add docs/superpowers/
git commit -m "docs: 批量更新历史文档中的 backend-single 引用为 server"
```
---
### Task 10: 全面验证
**Files:** 无新增修改
- [ ] **Step 1: 全项目 grep 验证无残留**
```bash
grep -rn "backend-single" --include="*.md" --include="*.py" --include="*.sh" \
--include="*.xml" --include="*.ts" --include="*.java" --include="*.yml" \
--include="*.yaml" --include="*.json" --include="*.properties" .
```
Expected: **无任何输出**。如果有残留,逐一修复。
**注意**:以下文件中出现 `backend-single` 是允许的(不需要修改):
- `docs/superpowers/specs/2026-06-27-backend-single-rename-to-server-design.md`(本次设计文档自身)
- `docs/superpowers/plans/2026-06-27-backend-single-rename-to-server.md`(本次计划文档自身)
- [ ] **Step 2: Maven 编译验证**
```bash
cd /g/IdeaProjects/emotion-museun/server
mvn clean install -DskipTests
```
Expected: BUILD SUCCESS,生成 `target/server-1.0.0.jar`
- [ ] **Step 3: 验证 JAR 文件名称**
```bash
ls -lh server/target/server-1.0.0.jar
```
Expected: 文件存在,名称正确。
- [ ] **Step 4: 验证 Git 历史保留**
```bash
git log --follow --oneline server/pom.xml | head -5
```
Expected: 能看到旧的重命名之前的提交历史。
- [ ] **Step 5: 验证 .gitignore 生效**
```bash
git status
```
Expected: 工作区干净(无意外未跟踪文件)。
- [ ] **Step 6: 最终提交(如有修复)**
如果 Step 1 中发现了残留并修复了,执行:
```bash
git add -A
git commit -m "fix: 修复遗漏的 backend-single 引用"
```