Skip to content

Commit 3b5c3b3

Browse files
committed
fix(env): 移除同步前自动配置备份
删除 backup-config.sh、backup.json 模板及相关文档,避免 pre-push 因用户目录备份写入失败而中断。
1 parent 8e3d47e commit 3b5c3b3

6 files changed

Lines changed: 2 additions & 162 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## 2026-08-14
44

5+
- **移除自动配置备份**: 同步前不再备份 Git 已管理的 `env/mcp/` 与 `env/platforms/`;删除备份脚本、配置模板及文档,避免 pre-push 因用户目录备份写入失败而中断。
56
- **CodeBuddy models 同步改为 marker 机制 (`_managed_by`)**: `sync/platforms/codebuddy.py` 的模型合并逻辑不再依赖外部 sidecar,改为把 `"_managed_by": "ai-coding-kit"` 持久写入 `~/.codebuddy/models.json` 的每个同步模型项。按 `id` 的合并规则:带 marker 的同 id 项由配置整条覆盖(所有字段正确同步);无 marker 的同 id 项视为用户自有、绝不覆盖;带 marker 但 id 不在配置中的项在下次同步时精确删除;无 marker 且不在配置的项原样保留。已实测验证:codebuddy IDE 能正常识别并回写保留 `_managed_by` 字段(重启 VSCodeX 后模型列表正常)。同步契约文档 `docs/platform-sync-contract.md` 的 CodeBuddy Reference 同步更新。
67
- **CodeBuddy availableModels 修正为真正整表覆盖**: 文档原声明"整表覆盖"但实现实为"配置优先+保留用户 ID",二者相反。按用户"保持整列表覆盖"的意图,`_merge_available_models` 改为每次同步直接用配置列表整体替换,用户/UI 添加的 ID 在下次同步时移除。同步契约文档描述与实现现已一致。
78
- **CodeBuddy 升级认领(legacy claim)**: 旧版本(pre-marker)同步的条目没有 `_managed_by`,升级后会被误判为用户项而失去更新/删除能力。新增 `_claim_legacy_entries`:无 marker 且与配置解析值一致的条目被认领并打上 marker,恢复管理;用户改动过值的条目不认领、原样保留。已知边界:升级前就已在配置中删除的 legacy 条目无法被认领(无配置可匹配),安全侧保留,需手动删除一次。

‎env/README.md‎

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ env/
1313
│
1414
├── review.json ← auto-code-review 配置(gitignored)
1515
├── review.json.example ← review 配置模板(已提交)
16-
├── backup.json ← 配置备份保存路径(gitignored)
17-
├── backup.json.example ← backup 配置模板(已提交)
1816
├── user-profile.json ← 跨会话用户画像同步开关(gitignored)
1917
├── user-profile.json.example ← 用户画像同步配置模板(已提交)
2018
├── user-profile.md ← 跨会话用户画像内容(gitignored)
@@ -90,22 +88,6 @@ env/
9088

9189
复制 `review.json.example` 为 `review.json` 后填写即可(`bash install.sh` 会一并从模板创建,无需手动 cp)。仅在用户显式启动 `/auto-review` 后加载。
9290

93-
## backup.json
94-
95-
`sync/scripts/backup-config.sh` 默认把同步前备份保存到 `~/.ai-coding-kit-backups`。
96-
如果要改保存目录,复制 `backup.json.example` 为 `backup.json`:
97-
98-
```json
99-
{
100-
"backupDir": "~/Backups/ai-coding-kit"
101-
}
102-
```
103-
104-
- `backupDir` 留空或删除时回退到默认 `~/.ai-coding-kit-backups`。
105-
- 支持 `~` 和环境变量展开。
106-
- 相对路径会按仓库根目录解析。
107-
- `env/backup.json` 是本地用户配置,不提交。
108-
10991
## user-profile.json + user-profile.md
11092

11193
跨会话用户画像用于让 Codex / Claude / Gemini 等 Agent 在不同会话中共享你的稳定偏好、角色和约束。

‎env/backup.json.example‎

Lines changed: 0 additions & 4 deletions
This file was deleted.

‎install.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# ai-coding-kit 初始化脚本
44
#
55
# clone 项目后运行一次,完成本地配置初始化:
6-
# - 从 env/*.example 模板复制出缺失的本地配置(config/backup/review/secrets/user-profile.json)
6+
# - 从 env/*.example 模板复制出缺失的本地配置(config/review/secrets/user-profile.json)
77
# (幂等:目标已存在则跳过,绝不覆盖你已填好的真实配置)
88
# - 不自动创建 user-profile.md:它是含占位符的「内容模板」,若自动复制会被
99
# sync-user-profile.sh 当成真实画像同步成假的全局用户画像。需要画像时再手动

‎sync/scripts/backup-config.sh‎

Lines changed: 0 additions & 136 deletions
This file was deleted.

‎sync/scripts/sync_all.sh‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,6 @@ if [ ! -f "$SECRETS_FILE" ]; then
4141
exit 0
4242
fi
4343

44-
# Auto-backup config before sync (keeps last 10 in the configured backup dir)
45-
bash "$SCRIPT_DIR/backup-config.sh" backup
46-
4744
echo "[1/2] Sync config to Cursor / CodeBuddy / Codex / Claude / Cline / Xcode"
4845
python3 "$REPO_ROOT/sync/cli/main.py" sync --target all
4946

0 commit comments

Comments
 (0)