Release v0.7.0
Automation & Integration - JSON Output + Commit Feedback + Git Error Suggestions
This release focuses on improving automation capabilities and developer experience with JSON output support, command-line feedback parameter, and enhanced Git error messages.
JSON Output Format Support
All major commands now support structured JSON output, making gcop-rs easy to integrate with other tools, scripts, and CI/CD pipelines.
New options:
--format json- Full format specification--json- Shorthand for--format json
Example usage:
# Generate commit message as JSON
$ gcop-rs commit --json
{
"success": true,
"data": {
"message": "feat: add user authentication module"
}
}
# Review changes as JSON
$ gcop-rs review changes --json
{
"success": true,
"data": {
"review": "...",
"suggestions": [...]
}
}
# Get stats as JSON
$ gcop-rs stats --json
{
"success": true,
"data": {
"total_commits": 150,
"contributors": 3,
...
}
}
# Error output in JSON format
$ gcop-rs commit --json
{
"success": false,
"error": {
"code": "NO_STAGED_CHANGES",
"message": "No staged changes found"
}
}JSON mode behavior:
- Automatically disables colored output and UI spinners
commitcommand implicitly enables dry-run mode- Errors are output in structured format with error codes
Commit Feedback Parameter
Pass initial instructions to the commit message generator directly from the command line.
# Use conventional commits format
$ gcop-rs commit --feedback "use conventional commits format"
# Request specific language
$ gcop-rs commit --feedback "write in Chinese"
# Add specific context
$ gcop-rs commit --feedback "this is a breaking change, mention migration steps"Use cases:
- Scripting and automation workflows
- Consistent commit message style across team
- Quick one-liner commits without interactive prompts
Git Error Suggestions
Git errors now come with actionable suggestions to help you resolve issues quickly.
Before v0.7.0:
Error: reference 'refs/heads/main' not foundAfter v0.7.0:
Error: reference 'refs/heads/main' not found
Suggestion: The branch 'main' does not exist. Try:
- Check available branches with `git branch -a`
- Create the branch with `git checkout -b main`Covered error scenarios:
- Repository state issues (dirty worktree, unborn branch)
- Merge conflicts and rebase in progress
- Authentication and permission errors
- Network and remote operation failures
- Reference not found errors
Upgrade Notes
Upgrading from v0.6.x requires no action. This release is fully backward compatible.
What stays the same:
- All existing CLI options work unchanged
- Configuration file format unchanged
- Default behavior unchanged (text output)
What's new:
--json/--format jsonoptions on commit, review, stats--feedbackoption on commit command- Enhanced error messages with suggestions
Breaking Changes
None. This is a minor release with new features only.
Installation
# Homebrew (macOS/Linux)
brew tap AptS-1547/tap
brew upgrade gcop-rs
# pipx (Python users, recommended)
pipx upgrade gcop-rs
# cargo-binstall (no compilation)
cargo binstall gcop-rs
# cargo install (compile from source)
cargo install gcop-rs --forceOr download pre-built binaries from Releases.
Statistics
- Files changed: 14
- Lines added: +590
- Lines removed: -165
- Commits: 4
Contributors
- AptS-1547 (Yuhan Bian / 卞雨涵)
- AptS-1548 (48)
Feedback
If you have any issues or suggestions, please submit an Issue.
Full Changelog: v0.6.1...v0.7.0