1.11.2 • Published 1 year ago

@negoziator/ai-commit v1.11.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year 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

2 years ago

1.2.138

2 years ago

1.2.137

2 years ago

1.2.139

2 years ago

1.6.1

1 year ago

1.6.0

1 year ago

1.2.145

2 years ago

1.2.144

2 years 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

2 years ago

1.2.140

2 years ago

1.2.143

2 years ago

1.2.142

2 years ago

1.2.156

1 year ago

1.2.155

1 year ago

1.11.2

1 year ago

1.2.158

1 year ago

1.11.1

1 year 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

1 year 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

1 year ago

1.2.211

1 year ago

1.2.210

1 year ago

1.2.213

1 year ago

1.2.212

1 year ago

1.2.215

1 year ago

1.2.214

1 year ago

1.2.217

1 year ago

1.2.216

1 year ago

1.4.0

1 year ago

1.2.208

1 year ago

1.2.207

1 year ago

1.2.209

1 year ago

1.2.222

1 year ago

1.2.221

1 year ago

1.2.224

1 year ago

1.2.223

1 year ago

1.2.226

1 year ago

1.2.225

1 year ago

1.2.227

1 year ago

1.2.220

1 year ago

1.2.219

1 year ago

1.2.218

1 year ago

1.11.0

1 year ago

1.3.0

1 year ago

1.9.1

1 year ago

1.9.0

1 year ago

1.2.200

1 year ago

1.2.202

1 year ago

1.2.201

1 year ago

1.2.204

1 year ago

1.2.203

1 year ago

1.2.206

1 year ago

1.2.205

1 year ago

1.2.178

1 year ago

1.2.177

1 year ago

1.2.179

1 year ago

1.2.170

1 year ago

1.8.1

1 year ago

1.8.0

1 year ago

1.2.172

1 year ago

1.2.171

1 year ago

1.2.174

1 year ago

1.2.173

1 year ago

1.2.176

1 year ago

1.2.175

1 year ago

1.2.189

1 year ago

1.2.188

1 year ago

1.2.181

1 year ago

1.2.180

1 year ago

1.2.183

1 year ago

1.2.182

1 year ago

1.2.185

1 year ago

1.2.184

1 year ago

1.2.187

1 year ago

1.2.186

1 year ago

1.2.199

1 year ago

1.2.192

1 year ago

1.2.191

1 year ago

1.7.1

1 year ago

1.2.194

1 year ago

1.7.0

1 year ago

1.2.193

1 year ago

1.2.196

1 year ago

1.2.195

1 year ago

1.2.198

1 year ago

1.2.197

1 year ago

1.2.190

1 year ago

1.2.134

2 years ago

1.2.133

2 years ago

1.2.135

2 years ago

1.2.130

2 years ago

1.2.132

2 years ago

1.2.131

2 years ago

1.2.127

2 years ago

1.2.129

2 years ago

1.2.128

2 years ago

1.2.125

2 years ago

1.2.126

2 years ago

1.2.123

2 years ago

1.2.122

2 years ago

1.2.124

2 years ago

1.2.121

2 years ago

1.2.120

2 years ago

1.2.119

2 years ago

1.2.116

2 years ago

1.2.115

2 years ago

1.2.118

2 years ago

1.2.117

2 years ago

1.2.114

2 years ago

1.2.113

2 years ago

1.2.107

2 years ago

1.2.106

2 years ago

1.2.112

2 years ago

1.2.111

2 years ago

1.2.110

2 years ago

1.2.109

2 years ago

1.2.108

2 years ago

1.2.103

2 years ago

1.2.105

2 years ago

1.2.104

2 years ago

1.2.101

2 years ago

1.2.100

2 years ago

1.2.102

2 years ago

1.2.99

2 years ago

1.2.98

2 years ago

1.2.96

2 years ago

1.2.97

2 years ago

1.2.95

2 years ago

1.2.94

2 years ago

1.2.92

2 years ago

1.2.93

2 years ago

1.2.91

2 years ago

1.2.90

2 years ago

1.2.89

2 years ago

1.2.88

2 years ago

1.2.86

2 years ago

1.2.87

2 years ago

1.2.85

2 years ago

1.2.83

2 years ago

1.2.84

2 years ago

1.2.81

2 years ago

1.2.82

2 years ago

1.2.80

2 years 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

3 years ago

1.2.16

3 years ago

1.2.15

3 years ago

1.2.14

3 years ago

1.2.13

3 years ago

1.2.12

3 years ago

1.2.11

3 years ago

1.2.10

3 years ago

1.2.9

3 years ago

1.2.8

3 years ago

1.2.7

3 years ago

1.2.6

3 years ago

1.2.5

3 years ago

1.2.4

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago