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:
parent
709aa55b97
commit
398d0348f8
109
.claude/skills/changelog/SKILL.md
Normal file
109
.claude/skills/changelog/SKILL.md
Normal 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
106
CLAUDE.md.template
Normal 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 提交?**
|
||||
|
||||
## 踩坑经验
|
||||
|
||||
<!-- 格式示例:
|
||||
|
||||
### {{问题简述}}
|
||||
|
||||
**问题现象**:{{描述现象}}
|
||||
|
||||
**根因**:{{分析根因}}
|
||||
|
||||
**解决方案**:{{解决方案}}
|
||||
|
||||
**注意事项**:{{补充说明}}
|
||||
|
||||
-->
|
||||
Loading…
x
Reference in New Issue
Block a user