| Crates.io | gim |
| lib.rs | gim |
| version | 1.1.7 |
| created_at | 2024-07-15 17:13:53.59169+00 |
| updated_at | 2025-07-22 18:15:55.829883+00 |
| description | Commit-driven development Git CLI utility with smart commit queues, AI integration, and beautiful terminal UI |
| homepage | |
| repository | https://github.com/yv-was-taken/gim |
| max_upload_size | |
| id | 1304057 |
| size | 66,565 |
╔═══════════════════════════════════════════════════════════════╗
║ ║
║ ██████╗ ██╗███╗ ███╗ ║
║ ██╔════╝ ██║████╗ ████║ Commit-Driven Development ║
║ ██║ ███╗██║██╔████╔██║ Git CLI Utility ║
║ ██║ ██║██║██║╚██╔╝██║ v1.0.1 ║
║ ╚██████╔╝██║██║ ╚═╝ ██║ ║
║ ╚═════╝ ╚═╝╚═╝ ╚═╝ Plan → Code → Commit → Push ║
║ ║
╚═══════════════════════════════════════════════════════════════╝
Gim is a powerful commit-driven development CLI utility for Git that revolutionizes your workflow. Plan your commits before coding, maintain structured commit messages, and seamlessly integrate with AI assistants.
# Set your commit message
gim set "feat: add user authentication"
# Add implementation details
gim add --desc "Implement JWT token validation and user session management"
# Plan future commits
gim add --next "feat: add password reset functionality"
gim add --next "test: add auth integration tests"
# Check your commit queue
gim status
# Commit without pushing (great for multiple commits)
gim commit
# Or commit and push in one command
gim push
gim set {MESSAGE}Sets the current commit message, replacing any existing message.
gim add {MESSAGE}Adds to the current commit title (comma-separated by default).
gim add --desc {DESCRIPTION}Adds a detailed description below the commit title.
gim add --next {MESSAGE}Plans a future commit that will auto-load after the current commit.
gim editOpens your configured editor to edit the current commit message.
gim commitCommits changes without pushing (allows multiple local commits).
gim pushCommits and pushes changes in one command.
gim status or gimShows formatted current commit and upcoming commits with git status.
gim status --fullDisplays the complete .COMMIT_MESSAGE file with all comments.
gim configShows current configuration settings.
gim config editOpens the configuration file in your editor.
Available Settings:
editor - Default editor (vim, nano, code, etc.)default_add_as_desc - Make gim add create descriptions by defaultverbose - Show labels in status displaygim reorderInteractive reordering of upcoming commits:
gim integrateAutomatically adds gim workflow documentation to AI instruction files:
.cursorrules, CLAUDE.md, etc.gim clearClears the current commit message (preserves comments).
gim clear fullCompletely clears the commit file including all comments.
Gim stores its configuration at ~/.config/gim/config.toml:
# Controls default behavior of 'gim add'
default_add_as_desc = false
# Controls status display format
verbose = false
# Default editor for 'gim edit' and 'gim config edit'
editor = "vim"
# 1. Plan your feature
gim set "feat: implement shopping cart"
gim add --desc "Add cart state management and UI components"
# 2. Plan upcoming work
gim add --next "test: add shopping cart unit tests"
gim add --next "docs: update API documentation for cart endpoints"
# 3. Implement and commit
# ... write your code ...
gim commit # Creates local commit, advances to next
# 4. Continue with tests
# ... write tests ...
gim commit # Another local commit
# 5. Push all commits
git push # Push both commits together
Run gim integrate in any project to automatically configure AI assistants (Claude, Cursor, etc.) to use gim for commit-driven development. This adds instructions for the AI to:
gim status to understand current workgim add --nextMIT License - see LICENSE for details.
Contributions are welcome! Feel free to submit issues and pull requests on GitHub.
Made with ❤️ for developers who plan before they code