git-intent

git-intent is a Git workflow tool designed for creating intentional commits.
Why git-intent?
Most developers write code first and craft commit messages as an afterthought. This practice often leads to large, unclear, and unfocused commits. Inspired by the Test-Driven Development (TDD) approach, git-intent encourages defining clear intentions before you begin coding, transforming your commit process into a proactive part of development.
By focusing on your intentions upfront, git-intent enables you to:
- Maintain a clean, easily navigable commit history
- Clearly communicate your development intentions
- Prevent scope creep and maintain atomic changes
- Enhance collaboration and project maintainability
Special thanks to Joohoon Cha for introducing the Intent-Driven Git Workflow concept.
Quick Start
npm install -g git-intent
git intent add "feat: create user login page"
git intent start
Requirements
- Git (>= 2.0)
- Node.js (>= 18)
Installation
Using NPM
npm install -g git-intent
Updating
npm update -g git-intent
git intent --version
Usage
Basic Commands
git intent add "feat: implement login page"
git intent add
git intent list
git intent show
git intent start
git intent start <id>
git intent commit
git intent commit -m "Additional message"
git intent cancel
git intent reset
git intent divide
git intent divide <id>
git intent drop
git intent drop <id>
FAQ
Q: Why define intentions before coding?
A: Clearly defined intentions help you stay focused, create more meaningful commits, and improve collaboration and readability of commit history.
Q: Where are my intentions stored? Are they shared or committed to Git?
A: Intentions are stored locally in your repository's .git
directory and are not shared or committed. They remain private unless explicitly shared.
Contributing
We warmly welcome contributions from the community. See our detailed guide:
CONTRIBUTING.md
License
MIT OffLegacy — LICENSE