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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03b68f20e63a694f3dda2ab518bdf8160b6cb37b993e5f3c3a973d8e73d0f4fd
|
|
| MD5 |
928a083ab179fb34bc862a06efefd23f
|
|
| BLAKE2b-256 |
1db6e62580c17f1a755540d03c0f12538730da09887a5ed9c8eef15b96e63950
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
keep_the_why_lint-0.10.1.0.tar.gz -
Subject digest:
03b68f20e63a694f3dda2ab518bdf8160b6cb37b993e5f3c3a973d8e73d0f4fd - Sigstore transparency entry: 2685396080
- Sigstore integration time:
-
Permalink:
oliver-zehentleitner/keep-the-why@15c3d468bdac266641d8f08f112f770284b876b1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/oliver-zehentleitner
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-lint.yml@15c3d468bdac266641d8f08f112f770284b876b1 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file keep_the_why_lint-0.10.1.0-py3-none-any.whl.
File metadata
- Download URL: keep_the_why_lint-0.10.1.0-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8dfb9ba9182e7dd46acbb90ae3dcb1d2c0f1052719cfd97e170c700dbf0f91b
|
|
| MD5 |
92cede77365ed32f2e80ab5152c3002b
|
|
| BLAKE2b-256 |
2b413234374ec85aa1575f44c98ef5a87b9cdd89d0855b4adabe82856001a67c
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
keep_the_why_lint-0.10.1.0-py3-none-any.whl -
Subject digest:
e8dfb9ba9182e7dd46acbb90ae3dcb1d2c0f1052719cfd97e170c700dbf0f91b - Sigstore transparency entry: 2685396107
- Sigstore integration time:
-
Permalink:
oliver-zehentleitner/keep-the-why@15c3d468bdac266641d8f08f112f770284b876b1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/oliver-zehentleitner
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-lint.yml@15c3d468bdac266641d8f08f112f770284b876b1 -
Trigger Event:
workflow_dispatch
-
Statement type: