feat: Add CLAUDE.md template and changelog skill

Add reusable CLAUDE.md.template with placeholder-based structure for new projects,
and add /changelog skill for automated release workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
zfc 2026-02-26 14:10:17 +08:00
parent 709aa55b97
commit 398d0348f8
2 changed files with 215 additions and 0 deletions

View File

@ -0,0 +1,109 @@
---
name: changelog
description: 一键发版:生成更新日志 → commit → 打 tag全流程自动化。
---
# Changelog - 一键发版
> **定位**:发版全流程。`/changelog 0.2.0` 一个命令搞定日志生成 + commit + tag。
## 用法
```
/changelog <version> # 例: /changelog 0.2.0
/changelog # 不传版本号则自动推断
```
## 执行流程
### 1. 确定版本号
**有参数**:直接使用用户传入的版本号。
**无参数**:自动推断。读取最新 tag按 semver 规则 bump patch 版本 +1。例如当前最新 `v0.1.2` → 推断为 `0.1.3`。若无 tag 则默认 `0.1.0`
版本格式:`{major}.{minor}.{patch}`(标准 semver
### 2. 获取 Commits
```bash
# 找到上一个 tag
git tag --sort=-creatordate
# 读取 commits从上一个 tag 到 HEAD
git log {prev_tag}..HEAD --oneline --no-merges
```
如果没有上一个 tag则从初始 commit 开始。
### 3. AI 总结
将 commit 列表总结为用户友好的中文更新说明:
| type | emoji | 说明 |
|------|-------|------|
| feat | ✨ | 新功能 / 新 Skill |
| fix | 🐛 | Bug 修复 |
| refactor | ♻️ | 代码重构 |
| docs | 📝 | 文档更新 |
| chore | 🔧 | 杂项维护 |
规则:
- 每条说明 1 句话,简洁明了
- 合并相关的小 commit 为一条
- 面向用户描述(不要出现技术细节如文件名、函数名)
- summary一句话概括本次更新的核心主题
### 4. 展示草稿,等待确认
```
📦 v{version} · {date}
{summary}
✨ 新增 /go 执行按钮 Skill...
📝 更新 README 文档格式...
🐛 修复仓库 URL 配置...
```
**必须等用户确认或修改后才继续**。
### 5. 写入文件
用户确认后,更新 `CHANGELOG.md`
- 文件不存在时创建,头部加 `# Changelog` 标题
- 将新条目插入已有内容**头部**(标题行之后,最新版本在前),保持现有条目不变
- 条目格式:
```markdown
## v{version} ({YYYY-MM-DD})
{summary}
- ✨ xxx
- 🐛 xxx
- ♻️ xxx
```
### 6. Commit + Tag
```bash
# Stage 变更文件
git add CHANGELOG.md
# Commit
git commit -m "release: v{version}"
# 打 tag
git tag v{version}
```
### 7. 完成提示
```
✅ 发版完成!
- 📝 CHANGELOG.md: 新增 v{version} 条目
- 🏷️ git tag: v{version}
需要 push 到远程吗?(git push && git push --tags)
```

106
CLAUDE.md.template Normal file
View File

@ -0,0 +1,106 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## 最重要的事情
1. **TDD 先行** - fix/feat 必须先写失败测试,红黄绿循环
2. **原子提交** - 每个 commit 只做一件事,可独立回滚
3. **文档驱动** - feat 改动关联 doc/ 下文档多输出表格、流程图、ASCII 原型图
4. **知识沉淀** - 有价值的迭代沉淀到 CLAUDE.md拿捏不准主动问我
5. **利用现有工具** - 不重复造轮子,会开车 > 会修车
6. **任务结束后追加** - 主人,用不用我沉淀 or git 提交?
## 项目概述
**{{项目名称}}** — {{一句话描述}}
**产品目标**
- {{目标1}}
- {{目标2}}
- {{目标3}}
## 技术栈
| 层级 | 技术 | 说明 |
|------|------|------|
| 前端 | {{前端技术}} | {{说明}} |
| 后端 | {{后端技术}} | {{说明}} |
| 数据库 | {{数据库}} | {{说明}} |
| 缓存 | {{缓存方案,如无可删除此行}} | {{说明}} |
| AI 服务 | {{AI 服务,如无可删除此行}} | {{说明}} |
| 部署 | {{部署方案}} | {{说明}} |
## 项目结构
```
{{项目名称}}/
├── {{目录1}}/ # {{说明}}
│ ├── {{子目录}}/ # {{说明}}
│ └── {{子目录}}/ # {{说明}}
├── doc/ # 项目文档
│ ├── PRD.md
│ ├── DevelopmentPlan.md
│ └── tasks.md
└── {{其他文件}} # {{说明}}
```
## 常用命令
### 开发
```bash
{{开发启动命令}}
```
### 构建
```bash
{{构建命令}}
```
### 测试
```bash
{{测试命令}}
```
### 部署
```bash
{{部署命令}}
```
## 开发约定
- **包管理器**: 使用 {{包管理器}}(不是 {{其他包管理器}}
- **TDD 流程**: 先写测试再实现,核心业务逻辑覆盖率 100%
- **日志规范**: 使用日志管理器,避免 console.log
- **知识沉淀**: 将有价值的对话迭代沉淀到文档中,包括:
- 重要技术决策和架构演进 → 更新 CLAUDE.md 相关章节
- 新功能实现方案 → 更新组件职责、数据流等章节
- 踩坑经验和解决方案 → 添加到踩坑经验章节
- API 使用技巧和注意事项 → 更新相关技术栈说明
{{在此添加项目特定的开发约定}}
## 交互准则
- 任务彻底结束后,追加一句:**主人,用不用我沉淀 or git 提交?**
## 踩坑经验
<!-- 格式示例:
### {{问题简述}}
**问题现象**{{描述现象}}
**根因**{{分析根因}}
**解决方案**{{解决方案}}
**注意事项**{{补充说明}}
-->