docs: update readme with new installation methods and cli options
This commit is contained in:
240
readme_zh.md
240
readme_zh.md
@@ -4,8 +4,10 @@
|
||||
|
||||
一款强大的AI驱动的Git助手,用于生成规范化的提交信息、标签和变更日志,并支持管理多个Git配置。
|
||||
|
||||

|
||||

|
||||
【目前还处在早期开发阶段,依然有一些功能未完善,欢迎反馈和贡献。】
|
||||
|
||||

|
||||

|
||||
|
||||
## 主要功能
|
||||
|
||||
@@ -19,11 +21,19 @@
|
||||
|
||||
## 安装
|
||||
|
||||
目前,整体工具还在开发,并不保证各项功能准确达到既定目标。但依然十分欢迎参与贡献、反馈问题和建议。
|
||||
### cargo安装
|
||||
|
||||
cargo安装版本可能暂时不如源码进展快速。
|
||||
|
||||
```bash
|
||||
git clone https://github.com/yourusername/quicommit.git
|
||||
cd quicommit
|
||||
cargo install quicommit
|
||||
```
|
||||
|
||||
### 从源代码安装
|
||||
|
||||
```bash
|
||||
git clone https://git.lyz.one/SidneyZhang/QuiCommit.git
|
||||
cd QuiCommit
|
||||
cargo build --release
|
||||
cargo install --path .
|
||||
```
|
||||
@@ -52,6 +62,12 @@ quicommit commit -a
|
||||
|
||||
# 跳过确认直接提交
|
||||
quicommit commit --yes
|
||||
|
||||
# 使用日期格式的提交信息
|
||||
quicommit commit --date
|
||||
|
||||
# 提交后推送到远程
|
||||
quicommit commit --push
|
||||
```
|
||||
|
||||
### 创建标签
|
||||
@@ -65,6 +81,12 @@ quicommit tag --bump minor
|
||||
|
||||
# 自定义标签名
|
||||
quicommit tag -n v1.0.0
|
||||
|
||||
# AI生成标签信息
|
||||
quicommit tag --generate
|
||||
|
||||
# 创建标签并推送到远程
|
||||
quicommit tag --push
|
||||
```
|
||||
|
||||
### 生成变更日志
|
||||
@@ -75,6 +97,15 @@ quicommit changelog
|
||||
|
||||
# 为特定版本生成
|
||||
quicommit changelog -v 1.0.0
|
||||
|
||||
# AI生成变更日志
|
||||
quicommit changelog --generate
|
||||
|
||||
# 初始化新的变更日志文件
|
||||
quicommit changelog --init
|
||||
|
||||
# 指定输出文件
|
||||
quicommit changelog -o RELEASE_NOTES.md
|
||||
```
|
||||
|
||||
### 配置管理
|
||||
@@ -86,11 +117,41 @@ quicommit profile add
|
||||
# 查看配置列表
|
||||
quicommit profile list
|
||||
|
||||
# 显示配置详情
|
||||
quicommit profile show
|
||||
|
||||
# 切换配置
|
||||
quicommit profile switch
|
||||
|
||||
# 设置默认配置
|
||||
quicommit profile set-default personal
|
||||
|
||||
# 设置当前仓库的配置
|
||||
quicommit profile set-repo personal
|
||||
|
||||
# 应用配置到当前仓库
|
||||
quicommit profile apply
|
||||
|
||||
# 全局应用配置
|
||||
quicommit profile apply --global
|
||||
|
||||
# 复制配置
|
||||
quicommit profile copy personal work
|
||||
|
||||
# 编辑配置
|
||||
quicommit profile edit personal
|
||||
|
||||
# 删除配置
|
||||
quicommit profile remove old-profile
|
||||
|
||||
# 检查配置
|
||||
quicommit profile check
|
||||
|
||||
# 查看使用统计
|
||||
quicommit profile stats
|
||||
|
||||
# 管理配置的令牌
|
||||
quicommit profile token
|
||||
```
|
||||
|
||||
### LLM配置
|
||||
@@ -111,17 +172,41 @@ quicommit config set-anthropic-key YOUR_API_KEY
|
||||
# 配置Kimi
|
||||
quicommit config set-llm kimi
|
||||
quicommit config set-kimi-key YOUR_API_KEY
|
||||
quicommit config set-kimi --base-url https://api.moonshot.cn/v1 --model moonshot-v1-8k
|
||||
|
||||
# 配置DeepSeek
|
||||
quicommit config set-llm deepseek
|
||||
quicommit config set-deepseek-key YOUR_API_KEY
|
||||
quicommit config set-deepseek --base-url https://api.deepseek.com/v1 --model deepseek-chat
|
||||
|
||||
# 配置OpenRouter
|
||||
quicommit config set-llm openrouter
|
||||
quicommit config set-openrouter-key YOUR_API_KEY
|
||||
quicommit config set-openrouter --base-url https://openrouter.ai/api/v1 --model openai/gpt-4
|
||||
|
||||
# 设置提交格式
|
||||
quicommit config set-commit-format conventional
|
||||
|
||||
# 设置版本前缀
|
||||
quicommit config set-version-prefix v
|
||||
|
||||
# 设置变更日志路径
|
||||
quicommit config set-changelog-path CHANGELOG.md
|
||||
|
||||
# 设置输出语言
|
||||
quicommit config set-language zh
|
||||
|
||||
# 设置保持提交类型为英文
|
||||
quicommit config set-keep-types-english true
|
||||
|
||||
# 设置保持变更日志类型为英文
|
||||
quicommit config set-keep-changelog-types-english true
|
||||
|
||||
# 测试LLM连接
|
||||
quicommit config test-llm
|
||||
|
||||
# 重置配置为默认值
|
||||
quicommit config reset
|
||||
```
|
||||
|
||||
## 命令参考
|
||||
@@ -139,17 +224,23 @@ quicommit config test-llm
|
||||
|
||||
| 选项 | 说明 |
|
||||
|------|------|
|
||||
| `-t, --commit-type` | 提交类型(feat、fix等) |
|
||||
| `--commit-type` | 提交类型(feat、fix等) |
|
||||
| `-s, --scope` | 提交范围 |
|
||||
| `-m, --message` | 提交描述 |
|
||||
| `--body` | 提交正文 |
|
||||
| `--breaking` | 标记为破坏性变更 |
|
||||
| `-b, --breaking` | 标记为破坏性变更 |
|
||||
| `-d, --date` | 使用日期格式的提交信息 |
|
||||
| `--manual` | 手动输入,跳过AI生成 |
|
||||
| `-a, --all` | 暂存所有更改 |
|
||||
| `-S, --sign` | GPG签名提交 |
|
||||
| `--amend` | 修改上一次提交 |
|
||||
| `--dry-run` | 试运行,不实际提交 |
|
||||
| `--conventional` | 使用Conventional Commits格式 |
|
||||
| `--commitlint` | 使用commitlint格式 |
|
||||
| `--no-verify` | 不验证提交信息 |
|
||||
| `-y, --yes` | 跳过确认提示 |
|
||||
| `--push` | 提交后推送到远程 |
|
||||
| `--remote` | 指定远程仓库(默认:origin) |
|
||||
|
||||
### tag命令选项
|
||||
|
||||
@@ -160,15 +251,36 @@ quicommit config test-llm
|
||||
| `-m, --message` | 标签信息 |
|
||||
| `-g, --generate` | AI生成标签信息 |
|
||||
| `-S, --sign` | GPG签名标签 |
|
||||
| `--lightweight` | 创建轻量标签 |
|
||||
| `--push` | 推送到远程 |
|
||||
| `-l, --lightweight` | 创建轻量标签 |
|
||||
| `-f, --force` | 强制覆盖已存在的标签 |
|
||||
| `-p, --push` | 推送到远程 |
|
||||
| `-r, --remote` | 指定远程仓库(默认:origin) |
|
||||
| `--dry-run` | 试运行 |
|
||||
| `-y, --yes` | 跳过确认提示 |
|
||||
|
||||
### changelog命令选项
|
||||
|
||||
| 选项 | 说明 |
|
||||
|------|------|
|
||||
| `-o, --output` | 输出文件路径 |
|
||||
| `-v, --version` | 为特定版本生成 |
|
||||
| `-f, --from` | 从指定标签生成 |
|
||||
| `-t, --to` | 生成到指定引用(默认:HEAD) |
|
||||
| `-i, --init` | 初始化新的变更日志文件 |
|
||||
| `-g, --generate` | AI生成变更日志 |
|
||||
| `--prepend` | 添加到现有变更日志开头 |
|
||||
| `--include-hashes` | 包含提交哈希 |
|
||||
| `--include-authors` | 包含作者信息 |
|
||||
| `--format` | 格式(keep-a-changelog、github-releases) |
|
||||
| `--dry-run` | 试运行(输出到stdout) |
|
||||
| `-y, --yes` | 跳过确认提示 |
|
||||
|
||||
## 配置文件
|
||||
|
||||
配置文件位置:
|
||||
- Linux/macOS: `~/.config/quicommit/config.toml`
|
||||
- Windows: `%APPDATA%\quicommit\config.toml`
|
||||
- Linux: `~/.config/quicommit/config.toml`
|
||||
- macOS: `~/Library/Application Support/quicommit/config.toml`
|
||||
- Windows: `%APPDATA%\quicommit/config.toml`
|
||||
|
||||
```toml
|
||||
version = "1"
|
||||
@@ -176,15 +288,27 @@ default_profile = "personal"
|
||||
|
||||
[profiles.personal]
|
||||
name = "personal"
|
||||
user_name = "John Doe"
|
||||
user_email = "john@example.com"
|
||||
user_name = "Your Name"
|
||||
user_email = "your.email@example.com"
|
||||
description = "个人项目"
|
||||
is_work = false
|
||||
|
||||
[profiles.work]
|
||||
name = "work"
|
||||
user_name = "John Doe"
|
||||
user_email = "john@company.com"
|
||||
user_name = "Your Name"
|
||||
user_email = "your.name@company.com"
|
||||
description = "工作项目"
|
||||
is_work = true
|
||||
organization = "Acme Corp"
|
||||
organization = "Your Company"
|
||||
|
||||
[profiles.work.ssh]
|
||||
private_key_path = "/home/user/.ssh/id_rsa_work"
|
||||
agent_forwarding = true
|
||||
|
||||
[profiles.work.gpg]
|
||||
key_id = "YOUR_GPG_KEY_ID"
|
||||
program = "gpg"
|
||||
use_agent = true
|
||||
|
||||
[llm]
|
||||
provider = "ollama"
|
||||
@@ -200,19 +324,50 @@ model = "llama2"
|
||||
model = "gpt-4"
|
||||
base_url = "https://api.openai.com/v1"
|
||||
|
||||
[llm.anthropic]
|
||||
model = "claude-3-sonnet-20240229"
|
||||
|
||||
[llm.kimi]
|
||||
model = "moonshot-v1-8k"
|
||||
|
||||
[llm.deepseek]
|
||||
model = "deepseek-chat"
|
||||
|
||||
[llm.openrouter]
|
||||
model = "openai/gpt-4"
|
||||
|
||||
[commit]
|
||||
format = "conventional"
|
||||
auto_generate = true
|
||||
allow_empty = false
|
||||
gpg_sign = false
|
||||
max_subject_length = 100
|
||||
require_scope = false
|
||||
require_body = false
|
||||
body_required_types = ["feat", "fix"]
|
||||
|
||||
[tag]
|
||||
version_prefix = "v"
|
||||
auto_generate = true
|
||||
gpg_sign = false
|
||||
include_changelog = true
|
||||
|
||||
[changelog]
|
||||
path = "CHANGELOG.md"
|
||||
auto_generate = true
|
||||
format = "keep-a-changelog"
|
||||
include_hashes = false
|
||||
include_authors = false
|
||||
group_by_type = true
|
||||
|
||||
[theme]
|
||||
colors = true
|
||||
icons = true
|
||||
date_format = "%Y-%m-%d"
|
||||
|
||||
[repo_profiles]
|
||||
"/path/to/work/project" = "work"
|
||||
"/path/to/personal/project" = "personal"
|
||||
```
|
||||
|
||||
## 环境变量
|
||||
@@ -229,14 +384,32 @@ group_by_type = true
|
||||
# 查看当前配置
|
||||
quicommit config list
|
||||
|
||||
# 显示配置详情
|
||||
quicommit config show
|
||||
|
||||
# 编辑配置文件
|
||||
quicommit config edit
|
||||
|
||||
# 设置配置值
|
||||
quicommit config set llm.provider ollama
|
||||
|
||||
# 获取配置值
|
||||
quicommit config get llm.provider
|
||||
|
||||
# 测试LLM连接
|
||||
quicommit config test-llm
|
||||
|
||||
# 列出可用模型
|
||||
quicommit config list-models
|
||||
|
||||
# 编辑配置文件
|
||||
quicommit config edit
|
||||
# 导出配置
|
||||
quicommit config export -o config-backup.toml
|
||||
|
||||
# 导入配置
|
||||
quicommit config import -i config-backup.toml
|
||||
|
||||
# 重置配置
|
||||
quicommit config reset --force
|
||||
```
|
||||
|
||||
## 贡献
|
||||
@@ -255,8 +428,8 @@ quicommit config edit
|
||||
|
||||
```bash
|
||||
# 克隆仓库
|
||||
git clone https://github.com/YOUR_USERNAME/quicommit.git
|
||||
cd quicommit
|
||||
git clone https://git.lyz.one/SidneyZhang/QuiCommit.git
|
||||
cd QuiCommit
|
||||
|
||||
# 安装依赖
|
||||
cargo fetch
|
||||
@@ -284,11 +457,36 @@ cargo fmt --check
|
||||
```
|
||||
src/
|
||||
├── commands/ # CLI命令实现
|
||||
│ ├── commit.rs
|
||||
│ ├── tag.rs
|
||||
│ ├── changelog.rs
|
||||
│ ├── profile.rs
|
||||
│ ├── config.rs
|
||||
│ └── init.rs
|
||||
├── config/ # 配置管理
|
||||
│ ├── manager.rs
|
||||
│ └── profile.rs
|
||||
├── generator/ # AI内容生成
|
||||
├── git/ # Git操作封装
|
||||
│ ├── commit.rs
|
||||
│ ├── tag.rs
|
||||
│ └── changelog.rs
|
||||
├── llm/ # LLM提供商实现
|
||||
└── utils/ # 工具函数
|
||||
│ ├── ollama.rs
|
||||
│ ├── openai.rs
|
||||
│ ├── anthropic.rs
|
||||
│ ├── kimi.rs
|
||||
│ ├── deepseek.rs
|
||||
│ └── openrouter.rs
|
||||
├── i18n/ # 国际化支持
|
||||
│ ├── messages.rs
|
||||
│ └── translator.rs
|
||||
├── utils/ # 工具函数
|
||||
│ ├── validators.rs
|
||||
│ ├── formatter.rs
|
||||
│ ├── crypto.rs
|
||||
│ └── editor.rs
|
||||
└── main.rs # 程序入口
|
||||
```
|
||||
|
||||
## 许可证
|
||||
|
||||
Reference in New Issue
Block a user