Skip to main content

AI powered commit suggestions

Project description

noidea

AI-powered commit message suggestions via git hooks. Stages a diff, sends it to Claude, and pre-fills your commit editor.

noidea demo

Install

pipx install noidea
noidea init

Requires pipx. Alternatively: pip install noidea

noidea init installs a prepare-commit-msg hook in your repo. From then on, every git commit opens your editor with a suggested message pre-filled.

API Key Setup

noidea needs an Anthropic API key. Three options (checked in order):

  1. Keyring (recommended): noidea keys add
  2. Environment variable: export ANTHROPIC_API_KEY=sk-ant-...
  3. .env file: ANTHROPIC_API_KEY=sk-ant-... in a .env file (used for development)

Commands

noidea init

Installs the prepare-commit-msg hook. Backs up any existing hook as .bak. Respects core.hooksPath.

noidea suggest

Generates a commit message from the current staged diff and prints it.

Options:
  -F, --file TEXT    Write message to file instead of stdout (used by the hook)
  -M, --model TEXT   Override the model used for generation

noidea keys

Manage API keys stored in the system keyring.

noidea keys show    # Show saved keys
noidea keys add     # Add a key interactively
noidea keys remove  # Remove a key interactively

noidea test

Sends a test message to the Claude API to verify your key and connectivity work.

noidea update

Updates noidea via pipx upgrade noidea (falls back to pip install --upgrade noidea).

noidea --version

Prints the current version.

Config

noidea supports two levels of configuration, both optional:

  • User config: ~/.noidea/config.json — applies to all repositories
  • Repository config: <repo>/.noidea/config.json — overrides user config for a specific repo

Precedence: built-in defaults → user config → repository config.

{
  "llm": {
    "max_tokens": 1024,
    "small_model": "claude-haiku-4-5",
    "large_model": "claude-sonnet-4-6",
    "context_limit": 600000,
    "system_prompt": "Your custom prompt here"
  }
}

Falls back to built-in defaults if no config file exists. The default prompt follows conventional commits style (feat/fix/refactor/etc.) with a 72-character subject line limit. Smaller diffs use small_model (Haiku) for speed; larger diffs automatically switch to large_model (Sonnet).

Requirements

  • Python 3.10+
  • Anthropic API key

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

noidea-0.5.1.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

noidea-0.5.1-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file noidea-0.5.1.tar.gz.

File metadata

  • Download URL: noidea-0.5.1.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for noidea-0.5.1.tar.gz
Algorithm Hash digest
SHA256 afc62d3cbf43f29a83b19c167987f679e839669ba105c9032a14d1f5366c3ff4
MD5 530a93a509296f1226bfdf74a6dbe782
BLAKE2b-256 7bea24691670c9fb3ccb5177acf3be98e4e5312ec8d3b07ad204bfbf47d7484b

See more details on using hashes here.

Provenance

The following attestation bundles were made for noidea-0.5.1.tar.gz:

Publisher: publish.yml on AccursedGalaxy/noidea

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file noidea-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: noidea-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for noidea-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f617b8566a3837ae2fdb7c9885a61debe2cd31bc8b9ebc2f3f0b32943030304e
MD5 b379a5c77e36d5583ea5f03fc1bed81f
BLAKE2b-256 01ab0cccaf716614e9d008c0ce04306701bd9e452fa83941236df7c41c0e9eb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for noidea-0.5.1-py3-none-any.whl:

Publisher: publish.yml on AccursedGalaxy/noidea

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page