ick
Applier of fine source code fixes since 2025
Decision gist · record as of 2026-08-14
Yes, if you maintain multiple repositories and want to enforce consistent checks without duplicating configuration in each one. The permissive MIT license, active maintenance, low install friction, and lack of known vulnerabilities make it safe to adopt. Best suited for teams or developers with strong opinions about code quality who want a single source of truth for rules. Not necessary if you only maintain one or two repos or rely entirely on pre-commit and CI for enforcement.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later.
- Low install friction: pure Python wheel with no compiled dependencies.
- Active maintenance—last commit 2026-08-12, released 2026-07-24.
License · maintenance · safety
MIT (permissive) — MIT license (permissive): you can use, modify, and distribute ick freely in commercial and private projects without restriction.
last release 2026-07-24 (21 days) · last repo commit 2026-08-12 · 4 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 191,891 downloads/mo, #9,873 on PyPI
Alternatives
Verify before relying
pip install ick
ick run --rules <path-to-rules-repo> <target-repo>
# Or test rules locally:
ick test-rules --rules <path-to-rules-repo>- Whether rules can be authored in languages other than Python and how that integration works in practice.
- Performance characteristics when running against large numbers of repos or with very large rulesets.
- How incremental re-running of rules based on changed inputs is configured and what inputs are tracked.
What it is and what it does
Ick centralizes code quality and best-practice checks that would otherwise be scattered across pre-commit hooks, CI workflows, wiki pages, and one-off scripts. Instead of wiring the same checks into every repository individually, you write rules once in a central repository and run them against any target repo you need to audit. Rules can be simple checks (exit with a status code) or include auto-fixes; they can be written in any language and run in parallel by default.
The tool is designed for teams, projects, or individual developers who maintain multiple repositories and want to enforce consistent standards across them without per-repo configuration. It supports filtering rules by tags, reproducing results locally for debugging, and tracking compliance across many repos. When best practices evolve—a new scanner ships, or a deprecated API needs removal—you update the rule once rather than in every repository.
Use it for
- A security team publishes a rule to scan GitHub Actions workflows with a tool like zizmor across all company repos without adding it to each repo individually.
- An ML project enforces rules about approved model licenses or dependencies across multiple experiment repositories.
- A developer maintains hobby-horse style rules (e.g., text files must end with a newline) and applies them consistently across personal projects.
- A platform team checks that all repos have adopted a new Python version or removed a deprecated API, reporting which repos are compliant and which need work.
- A project runs checks before release that verify documentation is up to date, changelog is populated, and version numbers are consistent.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you maintain multiple repositories and want to enforce consistent checks without duplicating configuration in each one.
The permissive MIT license, active maintenance, low install friction, and lack of known vulnerabilities make it safe to adopt. Best suited for teams or developers with strong opinions about code quality who want a single source of truth for rules. Not necessary if you only maintain one or two repos or rely entirely on pre-commit and CI for enforcement.
Install
ick on PyPI
Before you install
Low install friction: pure Python wheel with no compiled dependencies. Active maintenance—last commit 2026-08-12, released 2026-07-24. Requires Python 3.11+.
Requires Python 3.11 or later.
License in practice
MIT license (permissive): you can use, modify, and distribute ick freely in commercial and private projects without restriction.
Quickstart
pip install ick
ick run --rules <path-to-rules-repo> <target-repo>
# Or test rules locally:
ick test-rules --rules <path-to-rules-repo>
Verify before relying
- Whether rules can be authored in languages other than Python and how that integration works in practice.
- Performance characteristics when running against large numbers of repos or with very large rulesets.
- How incremental re-running of rules based on changed inputs is configured and what inputs are tracked.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 13 packagesclickfilelockkekemsgspecparse-errorsplatformdirsrichuvvmoduletomlkitmoreorlessfeedforwardpyyaml |
| Maintenance | Actively maintained 21 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 191,891 / month, #9,873 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: ick-0.12.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “multi-repo code quality checks”
- ickIck is a polyglot tool for bundling best practices as versioned,…
- metagit-cliMetagit provides cross-repository awareness and management for…
- vcstoolvcstool is a command-line tool that manages multiple version control…
Give your agent the search over MCP, or paste the wish link into any chat.
More Quality Assurance packages
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
Ruff is a Python linter and code formatter written in Rust that combines linting, formatting, and code fixing into a single tool, replacing Flake8, Black, isort, and related utilities.
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
Black reformats Python source code to a consistent style by parsing entire files and rewriting them according to an opinionated, deterministic set of rules, eliminating manual formatting decisions.
pytest-xdist distributes pytest tests across multiple CPU cores or machines to speed up test execution, with the simplest usage being `pytest -n auto` to spawn workers equal to available CPUs.
Install it if your test suite takes long enough that parallelization would save meaningful time.
Validates AWS CloudFormation templates in YAML or JSON format against resource provider schemas and best practices, checking property values and configuration correctness.
Install it if you work with CloudFormation templates.
See also cdk-nag · kingfisher-bin · commit-check · lefthook · salt-lint · dotenv-linter · dbt-score · wemake-python-styleguide · commitizen · zizmor