ntangler is an AI-powered tool that automatically generates meaningful commit messages, allowing developers to focus on coding without breaking their flow.
- 🧠 AI-powered analysis of code changes
- ✍️ Automatic generation of Conventional Commit messages
- 🔄 Seamless integration with local Git workflow (branches, worktrees)
- 🎨 Customizable to match team commit styles
- ⚡ Boosts productivity by eliminating context switching
- 🌐 Compatible with any LLM via HTTP server
cargo install ntangler
- Clone the repository:
git clone https://github.com/Govcraft/ntangler.git
- Navigate to the project directory:
cd ntangler
- Build and install:
cargo build --release cargo install --path .
In future releases, ntangler will be available through popular package managers for easier installation.
Create a config.toml
file in the XDG config directory (typically ~/.config/ntangler/config.toml
on Unix-like systems):
[[repositories]]
path = "/path/to/your/repo"
nickname = "my-project"
[[repositories]]
path = "/path/to/another/repo"
nickname = "another-project"
[[repositories]]
path = "/path/to/another/repo"
nickname = "another-project"
Set an $NTANGLER_ENDPOINT environment variable that points to any HTTP server that accepts POST requests with a JSON body containing the diff and returns a JSON response with the commit message structure.
Example JSON response structure:
{
"commit_type": "feat",
"scope": "user-auth",
"description": "add user authentication functionality",
"body": "Implement JWT-based authentication for user login and registration.\n\n- Add login endpoint\n- Add registration endpoint\n- Implement JWT token generation and validation",
"is_breaking": false,
"footers": [
{"token": "Reviewed-by", "value": "Alice"}
],
"semver_impact": "MINOR"
}
For all available options, refer to the Configuration Guide.
Once configured, ntangler runs in the background, watching the specified repositories:
-
Start ntangler:
ntangler
-
Work on projects as usual, saving files as needed.
-
ntangler automatically generates local commits each time a file is saved.
- Installation from popular package managers.
- CLI commands for enhanced control and interaction
- Setup wizard for easier initial configuration
- And more!
For full documentation, visit ntangler.ai/docs.
ntangler was created to solve the common developer frustration of writing commit messages. To learn more about the motivation behind ntangler and its impact on developer productivity, check out the About file.
Contributions are welcome! Please see the Contributing Guide for more details.
For support, please open an issue on the GitHub issue tracker.
ntangler is MIT licensed.