lint-commit
v0.0.243
Published
Basic command line tool for writing commit files with the commitlint convention
Downloads
28
Maintainers
Readme
Lint Commit
Description
This CLI tool helps automate the process of generating commit messages and managing a Git repository. It guides the user through initializing a Git repository (if not already initialized), selecting files to commit, generating AI-assisted commit messages, and optionally pushing changes to a remote repository.
Features
- Initialize a new Git repository if not already initialized
- Select files to commit from the list of changed files
- Generate AI-assisted commit messages using the Google Generative AI API
- Optionally push changes to the remote repository
Prerequisites
- Node.js (v14.x or later)
- Git installed on your system
- GitHub CLI (
gh
) installed - Google Generative AI API key : Google AI Studio
Installation
1. Install lint-commit globally:
npm install -g lint-commit
2. Register your GEMINI_API_KEY:
lint-commit register
3. Alternatively, you can clone this repository and run the script locally:
git clone https://github.com/techwithmanuel/lint-commit.git
cd lint-commit
npm install
node register.js
node index.js
How to get your Gemini API Key
1. Sign in to Google AI Studio
2. Select Get API key
on the side menu
3. Select Create API key
then follow the prompt to create the key
4. Once done, copy the key, run this command after installing lint-commit
lint-commit register
Then enter the key
Usage
Once you've installed and resgitered your GEMINI_API_KEY
, To get started with lint-commit, simply run:
lint-commit
Follow the prompts to initialize a git repository, add files, and create a commit with a commitlint-conformant message.
Contributing
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (git checkout -b feature-branch).
- Make your changes and commit them (git commit -am 'Add new feature').
- Push to the branch (git push origin feature-branch).
- Create a new Pull Request.
Contact
For any questions or suggestions, please open an issue.