# Git ![pub package](https://img.shields.io/npm/v/@agent-smith/feat-git) Manage git commits with a language model ## Install ```bash npm i -g @agent-smith/feat-git ``` Add the plugin to your `config.yml` file and run the `conf` command to update the cli. ```yml plugins: - "@agent-smith/feat-git" ``` ```bash lm conf ``` ## Usage Use the commit command: in a git repository with uncommited or staging modifications: ```bash lm commit ``` With options: ```bash lm commit src ``` The model will generate the whole message. To use a custom first line message: ```bash lm commit --msg "Custom first line" ``` The command will prompt the user to commit or not once the message is generated ### Variables Optional variables are available. To give additionnal instructions to the model: ```bash lm commit --instructions "Omit the version number change" ``` To use a package name in the generated first line message: ```bash lm commit --pkg "git plugin" ``` ## Models The default model is qwencoder 30b a3b. To use another model: ```bash lm commit -m mymodel ``` With template: ```bash lm commit -m "gemma3:4b-it-q8_0" -t "gemma" ``` Format: `-m modelname -t templatename`. If the template name is omitted it will be guessed (works with most well known models), example: ```bash lm commit -m "deepseek-coder-v2:16b-lite-instruct-q8_0" ``` In this example the Deepseek v2 template will be guessed Next: Filesystem