chore: migrate project into clean repository

This commit is contained in:
yuuux
2026-08-13 16:50:52 +08:00
commit d1d25a09e7
27405 changed files with 9422808 additions and 0 deletions

View File

@@ -0,0 +1,93 @@
---
name: changelog
description: 根据 git 提交记录生成或更新 CHANGELOG.md 文件,自动分类提交并按语义化版本管理
---
# CHANGELOG 生成器
自动从 git 提交记录生成符合项目规范的 CHANGELOG.md。
## 执行步骤
1. **读取现有 CHANGELOG.md**
- 解析最新版本号(如 0.1.1
- 识别最新版本的日期
2. **获取 git 提交记录**
- 尝试查找最新的 git tag
- 如果有 tag获取从最新 tag 到 HEAD 的所有提交
- 如果没有 tag根据最新版本日期获取之后的所有提交
- 使用命令:`git log --pretty=format:"%h|%s|%b|%ad" --date=short`
3. **解析和分类提交**
- 从提交信息中提取 `type(scope): description` 格式
- 按 type 分类:
- `feat`**Added** 部分
- `fix`**Fixed** 部分
- `refactor`, `perf`, `style`**Changed** 部分
- `chore`, `docs`, `test` → 根据内容判断或忽略
- 按 scope 分组相同类型的改动
- 保留提交的详细说明body中的关键信息
4. **生成新版本内容**
- 询问用户新版本号(提供自动递增建议,如 0.1.1 → 0.1.2
- 使用当前日期YYYY-MM-DD 格式)
- 生成格式:
```markdown
## [新版本号] - YYYY-MM-DD:
- All changes since 上个版本号
### Changed:
- scope: 变更说明
### Fixed:
- scope: 修复说明
### Added:
- scope: 新增说明
### Deprecated:
```
5. **预览和确认**
- 显示生成的新版本内容
- 询问用户是否插入到 CHANGELOG.md
- 如果确认,将新内容插入到文件顶部(在 `# Change Log` 标题之后)
## 格式要求
- **缩进**:使用 2 空格缩进
- **分组**:相同 scope 的改动合并,使用子列表
- **排序**
- 部分顺序Changed → Fixed → Added → Deprecated
- 每部分内按 scope 字母排序
- **空行**:各部分之间保留空行
## 示例输出
```markdown
## [0.1.2] - 2025-01-14:
- All changes since 0.1.1
### Changed:
- drivers/lisa_uart: 防止传输过程中重新配置
### Fixed:
- drivers/lisa_gpio: 修复中断被重复触发的问题
- drivers/lisa_flash: 修复边界检测
### Added:
- boards: 新增rgb pinmux适配
- components/new_feature: 新增功能组件
```
## 注意事项
- **不要**自动 git commit 生成的 CHANGELOG
- **只处理** CHANGELOG.md 文件,不修改其他文件
- 如果提交信息格式不规范,尽量智能提取关键信息
- 对于合并提交Merge commit可以忽略或提取实际改动
- 保持与现有 CHANGELOG.md 相同的格式风格