Godlint
The executable engineering constitution for repositories maintained by humans and coding agents.
Quickstart · Rules · Documentation · Contribute
AI coding agents increase output. They do not automatically preserve your architecture, security boundaries or engineering standards.
Godlint turns those decisions into deterministic policy that every contributor runs locally and in CI. Define a rule once; enforce it across Rust, TypeScript, JavaScript and Python with the same result for humans and agents.
Human or agent writes code
↓
Godlint checks repository policy
↓
Clear finding → fix → deterministic CI
Why Godlint
- Guardrails for agents. Catch architectural drift before generated code reaches review.
- One policy across languages. Share boundaries and thresholds across a polyglot repository.
- Deterministic enforcement. No LLM decides whether CI passes.
- Accountable exceptions. Suppressions carry a reason, owner and expiry.
- Local by default. Source code does not leave your machine.
Godlint complements Clippy, ESLint, Ruff and Pyright. They understand one language deeply; Godlint enforces the repository-level decisions that must hold across all of them.
Quickstart
Create godlint.yaml:
version: 1
suites: [recommended@1]
Run:
npx @godlint/cli check
# or: uvx godlint check
# or: cargo install godlint-cli && godlint check
That is enough to enforce the recommended policy locally and in CI.
What it enforces
Godlint ships 25 rules for:
- architecture and module boundaries;
- restricted imports, calls and dependencies;
- centralized configuration and safer execution;
- complexity, nesting, function and file size;
- production logging and error handling;
- accountable, expiring suppressions.
See the rule reference for every rule and its limits.
GitHub
Annotate findings directly on pull requests:
- uses: tomerwave/godlint@v1
with:
version: 0.1.9
The action needs no token or write permissions. Godlint also emits terminal, GitHub, JSON and SARIF output. See Using Godlint in CI.
Install
Use the package manager already in your project:
| Ecosystem | Command |
|---|---|
| npm | npm install --save-dev @godlint/cli |
| pnpm | pnpm add -D @godlint/cli |
| Yarn | yarn add -D @godlint/cli |
| Bun | bun add -d @godlint/cli |
| uv | uv add --dev godlint |
| pip | pip install godlint |
| Cargo | cargo install godlint-cli |
| Homebrew | brew install tomerwave/tap/godlint |
Prebuilt binaries for Linux, macOS and Windows are available from the latest release.
Contribute
Godlint is pre-alpha. This is the best time to shape it.
- Use it: try
recommended@1on a real repository and report false positives. - Propose a rule: bring valid and invalid examples across the relevant languages.
- Improve it: code, fixtures, documentation and design feedback are welcome.
Start with CONTRIBUTING.md or open a rule proposal. Report security issues through SECURITY.md, not a public issue.
Status
Godlint is pre-alpha. Rule identifiers, configuration and suite contents may change before 1.0.
The project is deterministic and useful today; the roadmap records what
comes next.
License
Metadata
Release files for godlint 0.9.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| godlint-0.9.1-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| godlint-0.9.1-py3-none-musllinux_1_2_x86_64.whl | Python 3 | none | Linux musl 1.2+ x86-64 | Details |
| godlint-0.9.1-py3-none-musllinux_1_2_aarch64.whl | Python 3 | none | Linux musl 1.2+ ARM64 | Details |
| godlint-0.9.1-py3-none-manylinux_2_17_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| godlint-0.9.1-py3-none-manylinux_2_17_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| godlint-0.9.1-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| godlint-0.9.1-py3-none-macosx_10_12_x86_64.whl | Python 3 | none | macOS 10.12+ x86-64 | Details |
Total release size: 54.3 MB
Release files / godlint-0.9.1-py3-none-win_amd64.whl
| Download URL | godlint-0.9.1-py3-none-win_amd64.whl |
|---|---|
| Size | 7.2 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
92a5306e88b49f42407d7cd2c4bea400984507356899b66671d49bc82a57fec2
|
|
BLAKE2b-256 checksum How to use checksums |
7ac78fdade906a25e080b816f3227517fde582882751e2289cf4dd6116ac1315
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / godlint-0.9.1-py3-none-musllinux_1_2_x86_64.whl
| Download URL | godlint-0.9.1-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 8.1 MB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
1819ed795e4a1c46e4515ba206508847aa96b7efff51ad55337d716c65794f0d
|
|
BLAKE2b-256 checksum How to use checksums |
0613db3381b99170565614078770afaad7500b5ef892ce2de2da1fa5594f8d04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / godlint-0.9.1-py3-none-musllinux_1_2_aarch64.whl
| Download URL | godlint-0.9.1-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 7.9 MB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
c050a4375fd0d5a2d22eb415416c4b551d5c78e867d41de2e2f11006e905131f
|
|
BLAKE2b-256 checksum How to use checksums |
df521dc989b42aa02a4f5b7955457033638c263c5c0c22c6b1b79eb9bf510ba2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / godlint-0.9.1-py3-none-manylinux_2_17_x86_64.whl
| Download URL | godlint-0.9.1-py3-none-manylinux_2_17_x86_64.whl |
|---|---|
| Size | 8.1 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
869ee2476107cd62ef4dbfbdfd6d728ec4f334ff849cc4d3b56ecf28e833222d
|
|
BLAKE2b-256 checksum How to use checksums |
3f838de3e9b21756dc7652bfee66e103aad8228a743618bd100abf59b55522d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / godlint-0.9.1-py3-none-manylinux_2_17_aarch64.whl
| Download URL | godlint-0.9.1-py3-none-manylinux_2_17_aarch64.whl |
|---|---|
| Size | 7.9 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
75afbe38603c46e22bd7ebc5d9f3e68ebc79bf074cd2413dde1fa37a6c15210c
|
|
BLAKE2b-256 checksum How to use checksums |
9804b30d24f4cd74dc2c4ef034602e87eead1ac7df15855a8f175e500cb89ac1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / godlint-0.9.1-py3-none-macosx_11_0_arm64.whl
| Download URL | godlint-0.9.1-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 7.6 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
cdba1adc14a1c0a506f0eae11f213046aab6631ba0463a02e0a6e364cd9135a6
|
|
BLAKE2b-256 checksum How to use checksums |
454106f294ee16b741299d93db4f2e182aa17f9c68abe46f1c0b5904afd90a0c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / godlint-0.9.1-py3-none-macosx_10_12_x86_64.whl
| Download URL | godlint-0.9.1-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 7.7 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
46a67f705b7a4aa82d248d9402feb125931f5e927ecf5eb13f55519b10ade125
|
|
BLAKE2b-256 checksum How to use checksums |
05ededae1f5e8e72c56d219a9f67ed12cd8eeb3b6925c5d60f9fccd4e7f6a237
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency log