zco-claude 0.0.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ClaudeSettings/DOT.claudeignore +7 -0
- ClaudeSettings/README.md +100 -0
- ClaudeSettings/commands/generate_changelog.sh +49 -0
- ClaudeSettings/commands/show_env +92 -0
- ClaudeSettings/commands/zco-clean +164 -0
- ClaudeSettings/commands/zco-git-summary +15 -0
- ClaudeSettings/commands/zco-git-tag +42 -0
- ClaudeSettings/hooks/CHANGELOG.md +157 -0
- ClaudeSettings/hooks/README.md +254 -0
- ClaudeSettings/hooks/save_chat_plain.py +148 -0
- ClaudeSettings/hooks/save_chat_spec.py +398 -0
- ClaudeSettings/rules/README.md +270 -0
- ClaudeSettings/rules/go/.golangci.yml.template +170 -0
- ClaudeSettings/rules/go/GoBuildAutoVersion.v250425.md +95 -0
- ClaudeSettings/rules/go/check-standards.sh +128 -0
- ClaudeSettings/rules/go/coding-standards.md +973 -0
- ClaudeSettings/rules/go/example.go +207 -0
- ClaudeSettings/rules/go/go-testing.md +691 -0
- ClaudeSettings/rules/go/list-comments.sh +85 -0
- ClaudeSettings/settings.sample.json +71 -0
- ClaudeSettings/skills/README.md +225 -0
- ClaudeSettings/skills/zco-docs-update/SKILL.md +381 -0
- ClaudeSettings/skills/zco-help/SKILL.md +601 -0
- ClaudeSettings/skills/zco-plan/SKILL.md +661 -0
- ClaudeSettings/skills/zco-plan-new/SKILL.md +585 -0
- ClaudeSettings/zco-scripts/co-docs-update.sh +150 -0
- ClaudeSettings/zco-scripts/test_update_plan_metadata.py +328 -0
- ClaudeSettings/zco-scripts/update-plan-metadata.py +324 -0
- zco_claude-0.0.8.dist-info/METADATA +190 -0
- zco_claude-0.0.8.dist-info/RECORD +34 -0
- zco_claude-0.0.8.dist-info/WHEEL +5 -0
- zco_claude-0.0.8.dist-info/entry_points.txt +3 -0
- zco_claude-0.0.8.dist-info/top_level.txt +1 -0
- zco_claude_init.py +1732 -0
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zco-docs-update
|
|
3
|
+
description: 更新 CLAUDE.md 文档的 Git 元信息(提交 ID、分支、最新提交等)。当用户需要同步项目文档、维护代码库文档,或明确要求更新 CLAUDE.md 时使用此 Skill。
|
|
4
|
+
allowed-tools: Bash, Read, Glob
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 更新 CLAUDE.md 文档元信息
|
|
8
|
+
|
|
9
|
+
## 🎯 Skill 用途
|
|
10
|
+
|
|
11
|
+
自动更新项目根目录下 `CLAUDE.md` 文件中的 Git 相关元信息,保持项目文档与代码仓库同步。
|
|
12
|
+
|
|
13
|
+
**更新内容包括**:
|
|
14
|
+
- **Git Commit ID**(完整哈希 + 短版本)
|
|
15
|
+
- **当前 Git 分支**
|
|
16
|
+
- **最新提交信息**(消息、作者、时间)
|
|
17
|
+
- **应用版本**(从 main.go 自动提取)
|
|
18
|
+
- **文档更新时间戳**
|
|
19
|
+
|
|
20
|
+
## 📋 何时使用此 Skill
|
|
21
|
+
|
|
22
|
+
当以下情况发生时,Claude 会自动提议使用此 Skill(或您也可以手动请求):
|
|
23
|
+
|
|
24
|
+
1. **用户明确请求**
|
|
25
|
+
- "更新 CLAUDE.md 的 Git 信息"
|
|
26
|
+
- "同步项目文档"
|
|
27
|
+
- "运行 co-docs-update 脚本"
|
|
28
|
+
|
|
29
|
+
2. **代码提交后**
|
|
30
|
+
- 完成重要功能开发后
|
|
31
|
+
- 准备提交代码前
|
|
32
|
+
- 发布新版本前
|
|
33
|
+
|
|
34
|
+
3. **分支切换后**
|
|
35
|
+
- 从一个分支切换到另一个分支
|
|
36
|
+
- 需要确认当前环境信息
|
|
37
|
+
|
|
38
|
+
4. **定期维护**
|
|
39
|
+
- 每日/每周的文档维护
|
|
40
|
+
- Code Review 前的文档检查
|
|
41
|
+
|
|
42
|
+
## 🚀 使用步骤
|
|
43
|
+
|
|
44
|
+
### Step 1: 查看当前状态
|
|
45
|
+
|
|
46
|
+
首先,我会显示 CLAUDE.md 当前的元信息状态:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# 查看当前文档元信息
|
|
50
|
+
head -20 CLAUDE.md
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Step 2: 执行更新脚本
|
|
54
|
+
|
|
55
|
+
运行项目的文档更新脚本:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# 执行更新
|
|
59
|
+
bash .claude/zco-scripts/co-docs-update.sh
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**脚本执行流程**:
|
|
63
|
+
1. ✅ 验证当前目录是 Git 仓库
|
|
64
|
+
2. ✅ 检查 CLAUDE.md 文件是否存在
|
|
65
|
+
3. ✅ 创建备份文件(格式:`CLAUDE.md._.YYMMDD_HHMM`)
|
|
66
|
+
4. ✅ 收集 Git 元信息(commit、branch、author 等)
|
|
67
|
+
5. ✅ 从 main.go 提取应用版本
|
|
68
|
+
6. ✅ 使用 sed 更新文档中的对应字段
|
|
69
|
+
7. ✅ 显示更新前后的差异
|
|
70
|
+
8. ✅ 询问是否删除备份文件
|
|
71
|
+
|
|
72
|
+
### Step 3: 查看更新结果
|
|
73
|
+
|
|
74
|
+
我会展示更新后的差异,并确认更新是否成功:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# 查看更新后的元信息
|
|
78
|
+
head -20 CLAUDE.md
|
|
79
|
+
|
|
80
|
+
# 查看 Git 状态
|
|
81
|
+
git status CLAUDE.md
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Step 4: 提交更改(可选)
|
|
85
|
+
|
|
86
|
+
如果需要,我会帮您提交更改到 Git:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
git add CLAUDE.md
|
|
90
|
+
git commit -m "docs: update CLAUDE.md metadata"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## 📝 更新的字段说明
|
|
94
|
+
|
|
95
|
+
脚本会精确更新 CLAUDE.md 中以下字段(位于 "文档元信息" 部分):
|
|
96
|
+
|
|
97
|
+
| 字段 | 说明 | 示例 |
|
|
98
|
+
|------|------|------|
|
|
99
|
+
| **更新时间** | 当前时间戳 | `2026-01-08 16:30:45` |
|
|
100
|
+
| **Git Commit** | 短哈希 + 完整哈希 | `` `280e2ba` (280e2bae6...) `` |
|
|
101
|
+
| **Git Branch** | 当前分支名 | `` `server_idc_alpha` `` |
|
|
102
|
+
| **最新提交** | 提交信息 + 作者 + 时间 | `ignore: ai-forge (by 宁蓉, 2026-01-06 23:01:23 +0800)` |
|
|
103
|
+
| **应用版本** | 从 main.go 提取 | `25.12.31` |
|
|
104
|
+
| **最后更新** | 文档底部时间戳 | `2026-01-08 16:30:45` |
|
|
105
|
+
|
|
106
|
+
## 🔧 脚本功能详解
|
|
107
|
+
|
|
108
|
+
### 自动备份机制
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# 备份文件命名规则
|
|
112
|
+
CLAUDE.md._.YYMMDD_HHMM
|
|
113
|
+
|
|
114
|
+
# 示例
|
|
115
|
+
CLAUDE.md._.260108_1630
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
- ✅ 更新前自动创建备份
|
|
119
|
+
- ✅ 时间戳命名,易于追溯
|
|
120
|
+
- ✅ 更新失败时可快速回滚
|
|
121
|
+
- ✅ 更新成功后可选择保留或删除
|
|
122
|
+
|
|
123
|
+
### Git 信息采集
|
|
124
|
+
|
|
125
|
+
脚本使用以下 Git 命令采集信息:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# 完整 Commit 哈希
|
|
129
|
+
git log -1 --pretty=format:"%H"
|
|
130
|
+
|
|
131
|
+
# 短 Commit 哈希
|
|
132
|
+
git log -1 --pretty=format:"%h"
|
|
133
|
+
|
|
134
|
+
# 提交消息
|
|
135
|
+
git log -1 --pretty=format:"%s"
|
|
136
|
+
|
|
137
|
+
# 作者
|
|
138
|
+
git log -1 --pretty=format:"%an"
|
|
139
|
+
|
|
140
|
+
# 提交时间
|
|
141
|
+
git log -1 --pretty=format:"%ad" --date=iso
|
|
142
|
+
|
|
143
|
+
# 当前分支
|
|
144
|
+
git rev-parse --abbrev-ref HEAD
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### 版本提取逻辑
|
|
148
|
+
|
|
149
|
+
从 `main.go` 中提取版本号:
|
|
150
|
+
|
|
151
|
+
```go
|
|
152
|
+
// main.go 中的版本定义
|
|
153
|
+
const version string = "25.12.31"
|
|
154
|
+
|
|
155
|
+
// 脚本提取命令
|
|
156
|
+
grep -E 'const version string = "' main.go | sed -E 's/.*"(.*)".*/\1/'
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### 安全的文本替换
|
|
160
|
+
|
|
161
|
+
使用 `sed` 进行精确的正则替换,确保只更新目标字段:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
sed -e "s|^- \*\*更新时间\*\*:.*|- **更新时间**: $CURRENT_TIME|" \
|
|
165
|
+
-e "s|^- \*\*Git Commit\*\*:.*|- **Git Commit**: \`$GIT_COMMIT_SHORT\` ($GIT_COMMIT_FULL)|" \
|
|
166
|
+
...
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## ⚠️ 注意事项
|
|
170
|
+
|
|
171
|
+
### 前置条件
|
|
172
|
+
|
|
173
|
+
- ✅ 必须在 Git 仓库根目录或子目录运行
|
|
174
|
+
- ✅ 项目根目录必须存在 `CLAUDE.md` 文件
|
|
175
|
+
- ✅ 脚本必须有执行权限(`chmod +x .claude/zco-scripts/co-docs-update.sh`)
|
|
176
|
+
- ✅ main.go 中需要有 `const version string = "..."` 定义
|
|
177
|
+
|
|
178
|
+
### 安全性
|
|
179
|
+
|
|
180
|
+
- ✅ 更新前自动创建备份,防止数据丢失
|
|
181
|
+
- ✅ 使用 `sed` 替换特定行,不影响其他内容
|
|
182
|
+
- ✅ 显示更新差异,允许用户审查
|
|
183
|
+
- ✅ 出错时自动退出,不破坏文档
|
|
184
|
+
|
|
185
|
+
### 兼容性
|
|
186
|
+
|
|
187
|
+
- ✅ 支持 Linux 和 macOS
|
|
188
|
+
- ⚠️ Windows 需要 Git Bash 或 WSL 环境
|
|
189
|
+
- ✅ 需要 bash 4.0+、sed、git 命令
|
|
190
|
+
|
|
191
|
+
## 🐛 失败排查
|
|
192
|
+
|
|
193
|
+
### 错误 1: "未找到 Git 仓库"
|
|
194
|
+
|
|
195
|
+
**原因**:不在 Git 项目目录中
|
|
196
|
+
|
|
197
|
+
**解决方案**:
|
|
198
|
+
```bash
|
|
199
|
+
# 进入项目根目录
|
|
200
|
+
cd /path/to/yj3d-anno-server
|
|
201
|
+
|
|
202
|
+
# 验证 Git 仓库
|
|
203
|
+
git status
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### 错误 2: "CLAUDE.md 文件不存在"
|
|
207
|
+
|
|
208
|
+
**原因**:项目根目录缺少 CLAUDE.md
|
|
209
|
+
|
|
210
|
+
**解决方案**:
|
|
211
|
+
```bash
|
|
212
|
+
# 方式 1: 手动创建(如果已经创建过)
|
|
213
|
+
ls CLAUDE.md
|
|
214
|
+
|
|
215
|
+
# 方式 2: 重新生成文档
|
|
216
|
+
# 请求 Claude 重新创建 CLAUDE.md
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### 错误 3: 版本显示 "unknown"
|
|
220
|
+
|
|
221
|
+
**原因**:main.go 中没有 `const version string` 定义
|
|
222
|
+
|
|
223
|
+
**解决方案**:
|
|
224
|
+
```bash
|
|
225
|
+
# 检查 main.go
|
|
226
|
+
grep "const version" main.go
|
|
227
|
+
|
|
228
|
+
# 如果没有,添加版本定义:
|
|
229
|
+
# const version string = "XX.YY.ZZ"
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### 错误 4: 权限不足
|
|
233
|
+
|
|
234
|
+
**原因**:脚本没有执行权限
|
|
235
|
+
|
|
236
|
+
**解决方案**:
|
|
237
|
+
```bash
|
|
238
|
+
# 添加执行权限
|
|
239
|
+
chmod +x .claude/zco-scripts/co-docs-update.sh
|
|
240
|
+
|
|
241
|
+
# 验证权限
|
|
242
|
+
ls -l .claude/zco-scripts/co-docs-update.sh
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### 错误 5: sed 命令失败
|
|
246
|
+
|
|
247
|
+
**原因**:CLAUDE.md 格式被手动修改,导致正则不匹配
|
|
248
|
+
|
|
249
|
+
**解决方案**:
|
|
250
|
+
```bash
|
|
251
|
+
# 查看备份文件
|
|
252
|
+
ls CLAUDE.md._.*.md
|
|
253
|
+
|
|
254
|
+
# 检查元信息部分格式
|
|
255
|
+
head -20 CLAUDE.md
|
|
256
|
+
|
|
257
|
+
# 确保元信息格式为:
|
|
258
|
+
# - **更新时间**: YYYY-MM-DD HH:MM:SS
|
|
259
|
+
# - **Git Commit**: `short` (full)
|
|
260
|
+
# ...
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
## 📚 使用示例
|
|
264
|
+
|
|
265
|
+
### 示例 1: 日常更新
|
|
266
|
+
|
|
267
|
+
**用户请求**:
|
|
268
|
+
```
|
|
269
|
+
更新一下 CLAUDE.md 的 Git 信息
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
**Claude 执行**:
|
|
273
|
+
1. 运行 `bash .claude/zco-scripts/co-docs-update.sh`
|
|
274
|
+
2. 显示更新前后的差异
|
|
275
|
+
3. 询问是否保留备份
|
|
276
|
+
4. 确认更新成功
|
|
277
|
+
|
|
278
|
+
### 示例 2: 提交前检查
|
|
279
|
+
|
|
280
|
+
**用户请求**:
|
|
281
|
+
```
|
|
282
|
+
我准备提交代码了,帮我同步一下项目文档
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
**Claude 执行**:
|
|
286
|
+
1. 运行文档更新脚本
|
|
287
|
+
2. 显示 Git 状态
|
|
288
|
+
3. 建议是否一起提交 CLAUDE.md
|
|
289
|
+
4. 提供提交命令
|
|
290
|
+
|
|
291
|
+
### 示例 3: 发布新版本
|
|
292
|
+
|
|
293
|
+
**用户请求**:
|
|
294
|
+
```
|
|
295
|
+
我们要发布 v26.01.08 版本,更新所有文档
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
**Claude 执行**:
|
|
299
|
+
1. 确认 main.go 中的版本号已更新
|
|
300
|
+
2. 运行文档更新脚本
|
|
301
|
+
3. 验证版本号正确提取
|
|
302
|
+
4. 建议创建版本标签
|
|
303
|
+
|
|
304
|
+
## 🔗 相关资源
|
|
305
|
+
|
|
306
|
+
### 项目文件
|
|
307
|
+
|
|
308
|
+
- **文档位置**: `CLAUDE.md`(项目根目录)
|
|
309
|
+
- **脚本位置**: `scripts/co-docs-update.sh`
|
|
310
|
+
- **版本定义**: `main.go:21`(`const version string = "..."`)
|
|
311
|
+
|
|
312
|
+
### 相关 Skills
|
|
313
|
+
|
|
314
|
+
如果您有其他文档相关的 Skills,可以组合使用:
|
|
315
|
+
|
|
316
|
+
- `zco-docs-update`: 更新 CLAUDE.md 元信息(本 Skill)
|
|
317
|
+
- `/init`: 初始化新的 CLAUDE.md 文档(如果存在)
|
|
318
|
+
- 其他自定义 `zco-*` 命令(按您的命名规范)
|
|
319
|
+
|
|
320
|
+
### 团队协作
|
|
321
|
+
|
|
322
|
+
- ✅ 将此 Skill 提交到 Git,团队共享
|
|
323
|
+
- ✅ 在 CI/CD 中集成自动更新(可选)
|
|
324
|
+
- ✅ 定期运行保持文档最新
|
|
325
|
+
|
|
326
|
+
## 💡 最佳实践
|
|
327
|
+
|
|
328
|
+
### 1. 定期更新
|
|
329
|
+
|
|
330
|
+
建议在以下时机更新文档:
|
|
331
|
+
- 每次重要 feature 完成后
|
|
332
|
+
- 每天工作结束前
|
|
333
|
+
- 提交 Pull Request 前
|
|
334
|
+
- 发布新版本前
|
|
335
|
+
|
|
336
|
+
### 2. 与 Git 工作流集成
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
# Git Pre-commit Hook 示例
|
|
340
|
+
# .git/hooks/pre-commit
|
|
341
|
+
#!/bin/bash
|
|
342
|
+
if [ -f "CLAUDE.md" ]; then
|
|
343
|
+
bash .claude/zco-scripts/co-docs-update.sh -y # 自动更新
|
|
344
|
+
git add CLAUDE.md
|
|
345
|
+
fi
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
### 3. CI/CD 集成
|
|
349
|
+
|
|
350
|
+
在 `.gitlab-ci.yml` 中添加文档检查:
|
|
351
|
+
|
|
352
|
+
```yaml
|
|
353
|
+
check-docs:
|
|
354
|
+
stage: test
|
|
355
|
+
script:
|
|
356
|
+
- bash .claude/zco-scripts/co-docs-update.sh
|
|
357
|
+
- git diff --exit-code CLAUDE.md || (echo "文档需要更新" && exit 1)
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
## 🎓 技术细节
|
|
361
|
+
|
|
362
|
+
### Skill 调用逻辑
|
|
363
|
+
|
|
364
|
+
1. **自动触发**:当用户请求与文档更新相关时,Claude 自动调用
|
|
365
|
+
2. **工具限制**:仅允许使用 Bash、Read、Glob 工具(安全性)
|
|
366
|
+
3. **上下文感知**:Claude 会检查当前项目状态,决定是否合适运行
|
|
367
|
+
|
|
368
|
+
### 脚本输出格式
|
|
369
|
+
|
|
370
|
+
脚本使用彩色输出,便于阅读:
|
|
371
|
+
|
|
372
|
+
- 🔵 蓝色 `[INFO]` - 信息提示
|
|
373
|
+
- 🟢 绿色 `[SUCCESS]` - 成功消息
|
|
374
|
+
- 🟡 黄色 `[WARN]` - 警告信息
|
|
375
|
+
- 🔴 红色 `[ERROR]` - 错误信息
|
|
376
|
+
|
|
377
|
+
---
|
|
378
|
+
|
|
379
|
+
**Skill 版本**: 1.0.0
|
|
380
|
+
**最后更新**: 2026-01-08
|
|
381
|
+
**维护者**: 开发团队
|