feat(tag): 支持从多个配置文件读取版本并交互选择

将 `read_project_version` 重构为 `read_project_versions`,支持从 Cargo.toml、package.json、pyproject.toml 等多个配置文件同时读取版本。当检测到多个版本时,提供交互式选择界面让用户决定使用哪个版本。
This commit is contained in:
2026-08-07 15:41:37 +08:00
parent 35fe6e09b7
commit cc80604710
7 changed files with 397 additions and 62 deletions

View File

@@ -17,7 +17,7 @@
- **AI智能生成**使用LLM APIOllama本地、OpenAI、Anthropic Claude、Kimi、DeepSeek、OpenRouter生成提交信息、标签和变更日志
- **规范化提交**支持Conventional Commits和commitlint格式规范
- **多配置管理**为不同场景管理多个Git身份支持SSH密钥和GPG签名配置
- **智能标签管理**基于语义版本自动检测升级AI生成标签信息
- **智能标签管理**基于语义版本自动检测升级AI生成标签信息;支持从 16+ 种项目配置文件Cargo.toml、package.json、pom.xml、pubspec.yaml 等)自动读取版本
- **变更日志生成**自动生成Keep a Changelog格式的变更日志
- **安全保护**:使用系统密钥环进行安全存储
- **交互式界面**美观的CLI界面支持预览和确认
@@ -86,7 +86,8 @@ quicommit commit --push
# 自动检测版本升级
quicommit tag
# 从 Cargo.toml/pyproject.toml 自动检测版本,回退到基于 commit 的分析
# 从项目配置文件(Cargo.toml、package.json、pom.xml 等)自动检测版本,
# 回退到基于 commit 的分析
quicommit tag --auto
# 指定版本升级类型
@@ -332,7 +333,7 @@ quicommit config reset --force
|------|------|
| `-n, --name` | 标签名称 |
| `-b, --bump` | 版本升级类型major/minor/patch |
| `-A, --auto` | 从 Cargo.toml/pyproject.toml 自动检测版本,回退到基于 commit 的分析(与 `--bump` 互斥) |
| `-A, --auto` | 从项目配置文件(Cargo.toml、package.json、pom.xml 等 16+ 种)自动检测版本,回退到基于 commit 的分析(与 `--bump` 互斥) |
| `-m, --message` | 标签信息 |
| `-g, --generate` | AI生成标签信息 |
| `-S, --sign` | GPG签名标签 |