Repolode
andreoliwa

andreoliwa/nitpick

Command-line tool and flake8 plugin that enforces shared config settings across multiple projects, and can fix config files automatically.

Stars
413
Forks
26
Open issues
59
Last commit
4 days ago

What is it?

Nitpick keeps configuration files consistent across several projects. You describe the expected settings in a style file written in TOML, and Nitpick checks that each project's INI, TOML, YAML, JSON, or other config files contain those keys and values. It can run as a standalone CLI with check and fix commands, or as a flake8 plugin.

The nitpick fix command edits configuration files directly, similar to how black and isort reformat Python code. Styles can be built from a library of presets covering tools such as Black, isort, flake8, Pylint, Mypy, Poetry, pre-commit, and ShellCheck, and they can include one another.

Nitpick can be installed with pip, uv, Poetry, pipx, or Homebrew, and it has pre-commit hook and MegaLinter integrations.

Key features

  • 01Checks INI, TOML, YAML, JSON and plain text config files against a shared style.
  • 02The fix command rewrites configuration files to match the style.
  • 03Ships a library of presets for tools such as Black, isort, Flake8, Pylint, and Mypy.
  • 04Styles can include other styles, so presets can be combined.
  • 05Runs as a flake8 plugin or as a pre-commit hook.

Use cases

  • Keeping linter and formatter settings identical across many Python repositories.
  • Enforcing a shared pyproject.toml or setup.cfg layout in a team with many projects.
  • Adding a config consistency check to pre-commit or CI pipelines.

Quick start

  1. 1

    Install with pipx

    pipx install nitpick
  2. 2

    Download the default style file

    nitpick init
  3. 3

    Check your files for differences

    nitpick check

In collections

Topics

FAQ

What is nitpick?
Command-line tool and flake8 plugin that enforces shared config settings across multiple projects, and can fix config files automatically. Nitpick keeps configuration files consistent across several projects. You describe the expected settings in a style file written in TOML, and Nitpick checks that each project's INI, TOML, YAML, JSON, or other config files contain those keys and values. It can run as a standalone CLI with check and fix commands, or as a flake8 plugin.
Is nitpick free to use? What license does it have?
nitpick is open source under the MIT license. Check the license terms before using it in commercial products.
Is nitpick still maintained?
Actively maintained. The last commit to nitpick was on Nov 2, 2026.
What can I use nitpick for?
Keeping linter and formatter settings identical across many Python repositories. Enforcing a shared pyproject.toml or setup.cfg layout in a team with many projects. Adding a config consistency check to pre-commit or CI pipelines.
How do I install nitpick?
Install with pipx: pipx install nitpick Download the default style file: nitpick init Check your files for differences: nitpick check
Where can I get nitpick?
The source code and installation instructions are on GitHub: https://github.com/andreoliwa/nitpick

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects