Skip to main content

keep-the-why-lint

Structural CI linter for Keep the Why projects. It validates the machine-checkable half of the schema — required entry fields, valid values, index consistency, .keep-the-why integrity, hidden-content red flags — and deliberately stops there: whether the recorded rationale is true, complete, or honest is not mechanically checkable, and this tool doesn't pretend otherwise.

Schema-version-aware: it reads the target project's context-schema and only enforces what that skill version defines, so an unmigrated project never fails on structure its version didn't have. Python 3.10+, no dependencies beyond the standard library.

pip install keep-the-why-lint
ktw-lint /path/to/project            # exit 0 clean, 1 findings
ktw-lint /path/to/project --strict   # warnings fail too

GitHub Actions (always the latest linter; no consumer-side pinning needed):

- uses: oliver-zehentleitner/keep-the-why@latest

Full documentation — GitLab CI and pre-commit snippets, the version scheme, every finding code: https://keepthewhy.com/linting/

Part of the keep-the-why repository (lint/), versioned as <schema>.<revision>: the first three segments are the newest skill schema this release knows every structural gate of, the fourth is the linter's own revision. MIT.

Download files

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

Source Distribution

keep_the_why_lint-0.10.1.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

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

keep_the_why_lint-0.10.1.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file keep_the_why_lint-0.10.1.0.tar.gz.

File metadata

  • Download URL: keep_the_why_lint-0.10.1.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for keep_the_why_lint-0.10.1.0.tar.gz
Algorithm Hash digest
SHA256 03b68f20e63a694f3dda2ab518bdf8160b6cb37b993e5f3c3a973d8e73d0f4fd
MD5 928a083ab179fb34bc862a06efefd23f
BLAKE2b-256 1db6e62580c17f1a755540d03c0f12538730da09887a5ed9c8eef15b96e63950

See more details on using hashes here.

Provenance

The following attestation bundles were made for keep_the_why_lint-0.10.1.0.tar.gz:

Publisher: publish-lint.yml on oliver-zehentleitner/keep-the-why

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

File details

Details for the file keep_the_why_lint-0.10.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for keep_the_why_lint-0.10.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8dfb9ba9182e7dd46acbb90ae3dcb1d2c0f1052719cfd97e170c700dbf0f91b
MD5 92cede77365ed32f2e80ab5152c3002b
BLAKE2b-256 2b413234374ec85aa1575f44c98ef5a87b9cdd89d0855b4adabe82856001a67c

See more details on using hashes here.

Provenance

The following attestation bundles were made for keep_the_why_lint-0.10.1.0-py3-none-any.whl:

Publisher: publish-lint.yml on oliver-zehentleitner/keep-the-why

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

Release history Release notifications | RSS feed

This release

0.10.1.0 This release

2 files

0.0.0

1 file

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