Skip to content

Reduce developer toil with auto generated local commits

License

Notifications You must be signed in to change notification settings

GovCraft/ntangler

Repository files navigation

description

ntangler

feat(workflow): never write a commit message again

ntangler is an AI-powered tool that automatically generates meaningful commit messages, allowing developers to focus on coding without breaking their flow.

License: MIT Build Status

Features

  • 🧠 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

Installation

Current Alpha Version

Using Cargo

cargo install ntangler

From Source

  1. Clone the repository:
    git clone https://github.com/Govcraft/ntangler.git
  2. Navigate to the project directory:
    cd ntangler
  3. Build and install:
    cargo build --release
    cargo install --path .

Future Availability

In future releases, ntangler will be available through popular package managers for easier installation.

Configuration

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.

Usage

Once configured, ntangler runs in the background, watching the specified repositories:

  1. Start ntangler:

    ntangler
  2. Work on projects as usual, saving files as needed.

  3. ntangler automatically generates local commits each time a file is saved.

Upcoming Features

  • Installation from popular package managers.
  • CLI commands for enhanced control and interaction
  • Setup wizard for easier initial configuration
  • And more!

Documentation

For full documentation, visit ntangler.ai/docs.

About

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.

Contributing

Contributions are welcome! Please see the Contributing Guide for more details.

Support

For support, please open an issue on the GitHub issue tracker.

License

ntangler is MIT licensed.

About

Reduce developer toil with auto generated local commits

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages