1.11.2 • Published 8 months ago

@negoziator/ai-commit v1.11.2

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

Table of Contents

Features

  • 🤖 AI-Powered Commits: Generates meaningful commit messages based on your code changes
  • 🔄 Git Integration: Works seamlessly with your existing Git workflow
  • 🪝 Git Hook Support: Can be installed as a Git hook for automatic message generation
  • 🌐 Multiple Languages: Supports commit messages in different locales
  • ⚙️ Customizable: Configure the AI model, message length, and other parameters
  • 📝 Project Context: Add project-specific context to improve message relevance

Setup

A minimum of Node v20 is required. Check your Node.js version with node --version.

Installation

  1. Install AI-Commit:

    npm install -g @negoziator/ai-commit
  2. Retrieve your API key from OpenAI

    Note: This requires an OpenAI account. If you don't have one, you can sign up for a free trial.

  3. Set the key so aicommit can use it:

    aicommit config set OPENAI_KEY=<your token>

    This will create a .aicommit file in your home directory.

Upgrading

npm update -g @negoziator/ai-commit

Usage

CLI Mode

Use aicommit directly to generate a commit message for your staged changes:

git add <files...>
aicommit

Example workflow:

$ git add .
$ aicommit
✓ Analyzing your changes...
✓ Generating commit message...

AI-generated commit message:
feat: add project-specific configuration support via .ai-commit.json

? Use this message? › (Y/n)

Git Hook Integration

You can set up AI-Commit as a Git hook to automatically generate commit messages:

# Install the prepare-commit-msg hook
aicommit hook install

This will add a Git hook that automatically suggests commit messages when you run git commit.

To uninstall the hook:

aicommit hook uninstall

Configuration

Manage configuration using the aicommit config command.

To get a configuration option value, use the command:

aicommit config get <key>

For example, to retrieve the API key, you can use:

aicommit config get OPENAI_KEY
> sk_1234567890

To set a configuration option, use the command:

aicommit config set <key>=<value>

Options

OptionDefaultDescription
OPENAI_KEYN/AThe OpenAI API key.
localeenLocale for the generated commit messages.
generate1Number of commit messages to generate.
modelgpt-4o-miniThe Chat Completions model to use.
timeout10000 msNetwork request timeout to the OpenAI API.
max-length50Maximum character length of the generated commit message.
type""Type of commit message to generate.
auto-confirmfalseAutomatically confirm the generated commit message without user prompt.
prepend-referencefalsePrepend issue reference from branch name to commit message.
temperature0.2The temperature (0.0-2.0) is used to control the randomness of the output from OpenAI
max-completion-tokens10000Maximum number of tokens that can be generated in the completion

Project-Specific Configuration

You can add a .ai-commit.json file in the root of your project to provide additional context about your project to the AI and to override global configuration settings for the specific project.

Example .ai-commit.json:

{
  "projectPrompt": "This is a Node.js CLI tool that uses OpenAI to generate meaningful git commit messages.",
  "model": "gpt-4",
  "locale": "en",
  "max-length": "100",
  "temperature": "0.5",
  "max-completion-tokens": "5000"
}

The .ai-commit.json file can contain any of the configuration options listed in the Options section. Values set in this file will take precedence over the global configuration.

The projectPrompt field should contain a brief description of your project, its purpose, and any other relevant information that would help the AI understand the context of your code changes.

Maintainers

NegoZiatoR

Contributing

If you want to help fix a bug or implement a feature in Issues, checkout the Contribution Guide to learn how to setup and test the project.

1.2.136

1 year ago

1.2.138

1 year ago

1.2.137

1 year ago

1.2.139

1 year ago

1.6.1

9 months ago

1.6.0

9 months ago

1.2.145

1 year ago

1.2.144

1 year ago

1.2.147

1 year ago

1.2.146

1 year ago

1.2.149

1 year ago

1.2.148

1 year ago

1.2.141

1 year ago

1.2.140

1 year ago

1.2.143

1 year ago

1.2.142

1 year ago

1.2.156

1 year ago

1.2.155

1 year ago

1.11.2

8 months ago

1.2.158

1 year ago

1.11.1

8 months ago

1.2.157

1 year ago

1.2.159

1 year ago

1.2.150

1 year ago

1.2.152

1 year ago

1.5.0

9 months ago

1.2.151

1 year ago

1.2.154

1 year ago

1.2.153

1 year ago

1.2.167

1 year ago

1.2.166

1 year ago

1.2.169

1 year ago

1.2.168

1 year ago

1.2.161

1 year ago

1.2.160

1 year ago

1.2.163

1 year ago

1.2.162

1 year ago

1.2.165

1 year ago

1.2.164

1 year ago

1.10.0

8 months ago

1.2.211

10 months ago

1.2.210

10 months ago

1.2.213

10 months ago

1.2.212

10 months ago

1.2.215

10 months ago

1.2.214

10 months ago

1.2.217

9 months ago

1.2.216

9 months ago

1.4.0

9 months ago

1.2.208

10 months ago

1.2.207

10 months ago

1.2.209

10 months ago

1.2.222

9 months ago

1.2.221

9 months ago

1.2.224

9 months ago

1.2.223

9 months ago

1.2.226

9 months ago

1.2.225

9 months ago

1.2.227

9 months ago

1.2.220

9 months ago

1.2.219

9 months ago

1.2.218

9 months ago

1.11.0

8 months ago

1.3.0

9 months ago

1.9.1

8 months ago

1.9.0

8 months ago

1.2.200

10 months ago

1.2.202

10 months ago

1.2.201

10 months ago

1.2.204

10 months ago

1.2.203

10 months ago

1.2.206

10 months ago

1.2.205

10 months ago

1.2.178

12 months ago

1.2.177

12 months ago

1.2.179

12 months ago

1.2.170

1 year ago

1.8.1

8 months ago

1.8.0

9 months ago

1.2.172

1 year ago

1.2.171

1 year ago

1.2.174

12 months ago

1.2.173

12 months ago

1.2.176

12 months ago

1.2.175

12 months ago

1.2.189

11 months ago

1.2.188

11 months ago

1.2.181

12 months ago

1.2.180

12 months ago

1.2.183

11 months ago

1.2.182

11 months ago

1.2.185

11 months ago

1.2.184

11 months ago

1.2.187

11 months ago

1.2.186

11 months ago

1.2.199

10 months ago

1.2.192

11 months ago

1.2.191

11 months ago

1.7.1

9 months ago

1.2.194

11 months ago

1.7.0

9 months ago

1.2.193

11 months ago

1.2.196

11 months ago

1.2.195

11 months ago

1.2.198

10 months ago

1.2.197

10 months ago

1.2.190

11 months ago

1.2.134

1 year ago

1.2.133

1 year ago

1.2.135

1 year ago

1.2.130

1 year ago

1.2.132

1 year ago

1.2.131

1 year ago

1.2.127

1 year ago

1.2.129

1 year ago

1.2.128

1 year ago

1.2.125

1 year ago

1.2.126

1 year ago

1.2.123

1 year ago

1.2.122

1 year ago

1.2.124

1 year ago

1.2.121

1 year ago

1.2.120

1 year ago

1.2.119

1 year ago

1.2.116

1 year ago

1.2.115

1 year ago

1.2.118

1 year ago

1.2.117

1 year ago

1.2.114

1 year ago

1.2.113

1 year ago

1.2.107

1 year ago

1.2.106

1 year ago

1.2.112

1 year ago

1.2.111

1 year ago

1.2.110

1 year ago

1.2.109

1 year ago

1.2.108

1 year ago

1.2.103

1 year ago

1.2.105

1 year ago

1.2.104

1 year ago

1.2.101

1 year ago

1.2.100

1 year ago

1.2.102

1 year ago

1.2.99

1 year ago

1.2.98

1 year ago

1.2.96

1 year ago

1.2.97

1 year ago

1.2.95

1 year ago

1.2.94

1 year ago

1.2.92

1 year ago

1.2.93

1 year ago

1.2.91

1 year ago

1.2.90

1 year ago

1.2.89

1 year ago

1.2.88

1 year ago

1.2.86

1 year ago

1.2.87

1 year ago

1.2.85

1 year ago

1.2.83

1 year ago

1.2.84

1 year ago

1.2.81

1 year ago

1.2.82

1 year ago

1.2.80

1 year ago

1.2.41

2 years ago

1.2.42

2 years ago

1.2.40

2 years ago

1.2.45

2 years ago

1.2.46

2 years ago

1.2.43

2 years ago

1.2.44

2 years ago

1.2.49

2 years ago

1.2.47

2 years ago

1.2.48

2 years ago

1.2.52

2 years ago

1.2.53

2 years ago

1.2.50

2 years ago

1.2.51

2 years ago

1.2.56

2 years ago

1.2.57

2 years ago

1.2.54

2 years ago

1.2.55

2 years ago

1.2.58

2 years ago

1.2.59

2 years ago

1.2.60

2 years ago

1.2.63

2 years ago

1.2.64

2 years ago

1.2.61

2 years ago

1.2.62

2 years ago

1.2.67

2 years ago

1.2.68

2 years ago

1.2.65

2 years ago

1.2.66

2 years ago

1.2.69

2 years ago

1.2.70

2 years ago

1.2.71

2 years ago

1.2.74

2 years ago

1.2.75

2 years ago

1.2.72

2 years ago

1.2.73

2 years ago

1.2.78

2 years ago

1.2.34

2 years ago

1.2.79

2 years ago

1.2.35

2 years ago

1.2.76

2 years ago

1.2.32

2 years ago

1.2.77

2 years ago

1.2.33

2 years ago

1.2.38

2 years ago

1.2.39

2 years ago

1.2.36

2 years ago

1.2.37

2 years ago

1.2.31

2 years ago

1.2.30

2 years ago

1.2.29

2 years ago

1.2.28

2 years ago

1.2.23

2 years ago

1.2.24

2 years ago

1.2.27

2 years ago

1.2.25

2 years ago

1.2.26

2 years ago

1.2.22

2 years ago

1.2.21

2 years ago

1.2.20

2 years ago

1.2.19

2 years ago

1.2.18

2 years ago

1.2.17

2 years ago

1.2.16

2 years ago

1.2.15

2 years ago

1.2.14

2 years ago

1.2.13

2 years ago

1.2.12

2 years ago

1.2.11

2 years ago

1.2.10

2 years ago

1.2.9

2 years ago

1.2.8

2 years ago

1.2.7

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago