(/nōto/, notebook in Japanese)
-
Instant Commit Messages: Generate clear, context-aware messages based on staged changes.
-
Seamless Git Integration: Auto-commit by default, with a preview-only option.
-
Interactive Editing: Edit the generated message in-line before committing (no flag needed).
-
Enhanced Configuration: Manage your LLM model preferences with an improved configuration interface.
Install noto globally using npm:
npm install -g @snelusha/notoAfter installation, you can run noto from any terminal.
Before using noto, you must configure your Google Generative API key. You can now provide your API key in two ways:
Set the NOTO_API_KEY environment variable globally so it's available across your system.
export NOTO_API_KEY=your_api_key_hereThen reload your terminal or run:
source ~/.zshrc # or ~/.bashrc or ~/.profilesetx NOTO_API_KEY "your_api_key_here"Note: You may need to restart your terminal (or system) for changes to take effect.
noto config key # or simply noto config key YOUR_API_KEYnoto will first look for the
NOTO_API_KEYenvironment variable. If it's not found, it will fall back to the local configuration.
You can also configure a specific Gemini mode (optional):
noto config modelAlternatively, you can specify the model using the NOTO_MODEL environment variable:
export NOTO_MODEL=gemini-2.5-flashThe model priority order is:
--modelflag >NOTO_MODELenvironment variable > config file > default model.
If you ever need to reset your configuration, you can now run:
noto config resetGenerate and commit with a new commit message (default behavior):
notoPreview the generated message without committing:
noto --preview # or simply noto -pCopy the generated commit message to your clipboard:
noto --copy # or simply noto -cSpecify a model to use (overrides config file and environment variable):
noto --model gemini-2.5-flashRetrieve and commit with the previously generated commit message (default behavior):
noto prevPreview the previously generated commit message without committing:
noto prev --preview # or simply noto prev -pAmend the last commit with the previously generated commit message:
noto prev --amendNote: --preview and --copy can also be used with the noto prev command. When using --preview, the message is shown without prompting for editing. Without --preview, the command will prompt you to edit the message before committing (or amending).
Switch between branches in your git repo with an interactive prompt:
noto checkoutCreate and switch to a new branch:
noto checkout -b new-branch-nameUpdate noto to the latest version:
noto upgradenoto will automatically detect your installation method and update itself accordingly.
- 🚀 Get fast commits on the fly with
noto- it commits by default!
We welcome contributions and suggestions! If you have ideas or improvements, feel free to open a pull request or reach out with feedback. ✨
Thank you for using noto!
This project is licensed under the MIT License. © 2024-2026 Sithija Nelusha Silva
