소스 정보
- 저장소
- Hoshino-Yumetsuki/kiro.rs
- 최근 소스 활동
- 2026년 3월 31일 14:21
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 5
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/Hoshino-Yumetsuki/kiro.rs --skill version-bump명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | version-bump |
| description | 升级项目版本号并提交git,支持patch/minor/major版本升级或指定具体版本号,自动从git log生成CHANGELOG |
| version | 1.2.1 |
| author | https://github.com/BenedictKing/kiro.rs/ |
| allowed-tools | Bash, Read, Write, Edit |
| context | fork |
当用户输入包含以下关键词时,自动触发版本升级流程:
patch: patch 版本 +1minor: minor 版本 +1, patch 归零major: major 版本 +1, minor 和 patch 归零2.1.0): 直接使用该版本号⚠️ 重要: 默认情况下,版本升级后必须创建 tag 并推送!只有推送 tag 才能触发 GitHub Actions 自动编译发布。除非用户明确说"不要 tag"或"--no-tag",否则始终创建并推送 tag。
--no-tag 或 "不要 tag": 不创建 git tag(仅提交版本变更)--push 或 "并推送"、"push": 推送 commit 到远程仓库(默认行为)⚠️ 每次版本升级必须同时修改以下所有位置,缺一不可!Rust 项目还必须同步检查并更新
Cargo.lock中当前包(如kiro-rs)的版本号,确保与发布版本一致。
| # | 文件 | 字段/内容 | 格式 | 示例 |
|---|---|---|---|---|
| 1 | VERSION | 整个文件内容 | v{major}.{minor}.{patch} | v1.0.1 |
| 2 | Cargo.toml | version = "..." (第3行) | {major}.{minor}.{patch} (无 v 前缀) | "1.0.1" |
| 3 | Cargo.lock | 当前包(如 kiro-rs)的 version = "..." | {major}.{minor}.{patch} (无 v 前缀) | "1.0.1" |
| 4 | CHANGELOG.md | ## [Unreleased] → ## [v{版本}] - 日期 | [v{major}.{minor}.{patch}] - YYYY-MM-DD | [v1.0.1] - 2026-02-08 |
cat VERSION
根据用户指定的升级类型计算:
| 当前版本 | 升级类型 | 新版本 |
|---|---|---|
| v1.0.0 | patch (默认) | v1.0.1 |
| v1.0.0 | minor | v1.1.0 |
| v1.0.0 | major | v2.0.0 |
| v1.0.0 | 2.1.5 | v2.1.5 |
# 更新 VERSION 文件
echo "v{新版本号}" > VERSION
# 更新 Cargo.toml 中的 version 字段(不带 v 前缀)
# 使用 Edit 工具将 version = "旧版本" 替换为 version = "新版本"
# Rust 项目额外要求:同步更新 Cargo.lock 中当前包(如 kiro-rs)的 version 字段
# 使用 Edit 工具将 Cargo.lock 中对应 [[package]] 段落里的 version = "旧版本" 替换为 version = "新版本"
前置检查(必须):
## [Unreleased] 区块## [Unreleased] 与下一个 ## [v 之间是否存在非空行)| 情况 | 行为 |
|---|---|
有 [Unreleased] 且有变更内容 | ✅ 正常替换为新版本号和日期 |
有 [Unreleased] 但下方无变更内容 | 进入 git log 自动生成 流程 |
无 [Unreleased] 区块 | 进入 git log 自动生成 流程 |
git log 自动生成流程:
当 CHANGELOG 中没有现成的变更内容时,从 git log 自动生成:
获取上一个版本 tag 到 HEAD 的提交记录:
git log v{上一个版本}..HEAD --pretty=format:"%h %s"
如果没有提交记录,❌ 中止流程,提示用户没有新的变更
按 Conventional Commits 的 type 将提交分组为 CHANGELOG 分类:
| type | CHANGELOG 分类 |
|---|---|
feat | 新增 |
fix | 修复 |
perf | 优化 |
refactor | 重构 |
docs | 文档 |
chore, ci, build | 其他 |
revert | 回滚 |
为每个提交生成简洁的 CHANGELOG 条目,参考已有 CHANGELOG 条目的风格(含加粗标题和详情描述)
在 CHANGELOG.md 顶部插入新版本区块(在第一个 ## [v 之前):
## [v{新版本号}] - YYYY-MM-DD
### 新增
- **功能标题** - 简要描述
### 修复
- **修复标题** - 简要描述
仅保留有内容的分类,跳过空分类
替换规则(有 Unreleased 时):
# 替换前
## [Unreleased]
# 替换后
## [v{新版本号}] - YYYY-MM-DD
cat VERSION
grep '^version' Cargo.toml
grep -A2 '^name = "kiro-rs"' Cargo.lock
cat CHANGELOG.md | head -20
git status
git diff --stat
检查工作区状态:
如果工作区有未提交的修改(除 VERSION、Cargo.toml、Cargo.lock 和 CHANGELOG.md 外),询问用户:
git add -A 提交所有修改提交信息规则:
chore: bump version to v{新版本号}# 包含所有修改
git add -A
git commit -m "{用户确认的提交信息}"
# 或仅提交版本文件
git add VERSION Cargo.toml Cargo.lock CHANGELOG.md
git commit -m "chore: bump version to v{新版本号}"
⚠️ 除非用户明确说"不要 tag",否则必须创建 tag!
git tag v{新版本号}
# 推送 commit
git push origin master
# 推送 tag(触发 GitHub Actions 自动编译发布)
git push origin v{新版本号}
用户输入: "升级版本号并提交" 或 "更新版本并推送"
自动执行流程:
v1.0.0v1.0.1v1.0.1用户输入: "升级 minor 版本"
自动执行流程:
v1.0.0v1.1.0用户输入: "版本号改为 2.0.0"
自动执行流程:
v1.0.0v2.0.0用户输入: "发布新版本并打 tag 推送"
自动执行流程:
v1.0.0v1.0.1v1.0.1用户输入: "给当前版本打 tag 并推送"
自动执行流程:
v1.0.0v1.0.0版本升级完成:
- 原版本: v1.0.0
- 新版本: v1.0.1
- 升级类型: patch
是否提交 git? (Y/n)
版本升级完成:
- 原版本: v1.0.0
- 新版本: v1.0.1
- 升级类型: patch
✅ Git commit 已创建
✅ Git tag v1.0.1 已创建
是否推送到远程仓库? (Y/n)
- 推送后将自动触发 GitHub Actions
- 自动编译 Linux/Windows/macOS 版本
- 自动发布到 GitHub Releases
当推送 v* 格式的 tag 时,会自动触发以下 workflow:
| Workflow | Runner | 产物 |
|---|---|---|
release-linux.yml | ubuntu-latest | kiro-rs-linux-amd64, kiro-rs-linux-arm64 |
release-macos.yml | macos-latest | kiro-rs-darwin-arm64, kiro-rs-darwin-amd64 |
release-windows.yml | windows-latest | kiro-rs-windows-amd64.exe, kiro-rs-windows-arm64.exe |
docker-build.yml | ubuntu-latest | Docker 镜像 (阿里云容器镜像服务, linux/amd64 + linux/arm64) |
每个 release workflow 使用独立的 concurrency group,确保三个平台并行编译:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false
${{ github.workflow }} 使用 workflow 名称作为前缀,避免不同平台的构建相互阻塞cancel-in-progress: false 确保发布构建不会被取消v{x}.{y}.{z}(无后缀)chore: bump version 格式master