Skip to main content

noidea

Because you shouldn't have to think about commit messages.

A small Python CLI that hooks into git commit, writes the message in your repo's own style, and sends small diffs to cheap models.

PyPI Downloads Docs License


noidea writing a commit message in the editor

Documentation · Getting started · Changelog

Quick start

pipx install noidea
noidea keys add       # stores your Anthropic key in the system keyring
noidea init           # run once per repository

Now run git commit without -m. Your editor opens with a suggested message already filled in, ready to edit or throw away.

No API key? Use a local Ollama model instead.

Why noidea

It writes like your repo

Before each suggestion noidea reads your recent commits and copies the house style: your scopes, whether you write bodies, how long your subjects are, and gitmoji if you use them. Your history keeps reading like your team wrote it.

Small commits cost less

Ordinary diffs go to a fast, cheap model, and only very large changes go to the strong one. noidea tells you which one it picked.

You always have the last word

noidea never commits for you. It fills in the editor on a plain git commit, so there's no new command to remember. If you already wrote a message with -m, --amend, or in a merge, noidea leaves it alone.

Small and private

noidea is an MIT-licensed Python CLI with no telemetry, built to a strict safety-first style guide. Your diff goes to the model you chose and nowhere else, and with Ollama it never leaves your machine.

Compared with other tools

noidea opencommit aicommits gptcommit
Install pipx install noidea npm i -g opencommit npm i -g aicommits cargo / brew
Language Python Node.js Node.js Rust
Hooks into git commit ✅ ✅ ✅ ✅
Learns your repo's style ✅ ❌ ❌ ❌
Cost-aware model routing ✅ ❌ ❌ ❌
Multiple providers ✅ 7 ✅ ✅ partial
No Node.js required ✅ ❌ ❌ ✅
GitHub Action ✅ ✅ ❌ ❌

Providers

Anthropic is the default. OpenAI, Gemini, DeepSeek, Groq and OpenRouter work with a key, Ollama runs locally without one, and any OpenAI-compatible server works through base_url. Switching is a few lines of config:

{ "llm": { "provider": "ollama", "small_model": "llama3.2", "large_model": "llama3.2" } }

See Providers for keys, endpoints and examples, and Configuration for every setting.

GitHub Action

noidea also runs on pull requests and posts a suggested squash-merge message as a comment:

- uses: actions/checkout@v4
  with:
    fetch-depth: 0
- uses: AccursedGalaxy/noidea@main
  with:
    api-key: ${{ secrets.ANTHROPIC_API_KEY }}

The GitHub Action guide has the full workflow, inputs and outputs.

Documentation

Contributing

Bug reports and pull requests are welcome. CONTRIBUTING.md covers the development setup, and the code follows TigerStyle.

License

MIT

Metadata

Release files for noidea 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for noidea 1.3.0
File Size Uploaded
noidea-1.3.0.tar.gz 42.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for noidea 1.3.0
File Interpreter ABI Platform
noidea-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 92.0 kB

Release files / noidea-1.3.0.tar.gz

Download URL noidea-1.3.0.tar.gz
Size 42.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a5411331c13981ed0116cd4b64e1f73965c3e94b67fd54675adf3789b32b7533
BLAKE2b-256 checksum
How to use checksums
d92635314fdebe53f804fa7e0124c43fea3650c6818e0c44a5fedc60d9574180
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / noidea-1.3.0-py3-none-any.whl

Download URL noidea-1.3.0-py3-none-any.whl
Size 49.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
692051064366e5badf50953dc6db8e2454e396630555566b0b2ad1f70b056edc
BLAKE2b-256 checksum
How to use checksums
36ee18fa93b40a4565f628619c4deec349413a3e60c755fcc7161417969c9ddb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page