Skip to main content

iil-codeguard

Library-first code compliance tooling for the IIL Platform.

Status: Skeleton (2026-05-10) — implementation per ADR-191 v1.1, ADR-192 v1.1, ADR-193 v1.1 Versioning: CalVer (YYYY.MM.PATCH) Python: 3.12+

What it checks

Category Rules Source
Service Layer SL-001..006 ADR-009 + ADR-192
HTMX Templates HX-001..009 ADR-048 + ADR-192
Docker Compose DC-001..009 ADR-021/022 + ADR-193
Dockerfile DF-001..009 ADR-056 + ADR-193
Nginx (optional) NX-001..005 ADR-060 + ADR-193

All rules emit findings in SARIF 2.1.0 (GitHub Code Scanning native).

Architecture

Core Library (stdlib-first: ast, html.parser, pyyaml)
    │
    ├── CLI: codeguard audit . --format sarif
    ├── Pre-commit Hook
    ├── GitHub Action: codeguard.yml
    └── MCP Server (2 tools: codeguard_audit, codeguard_check_file)

Quick Start (planned)

pip install iil-codeguard

# CLI
codeguard audit .                    # human-readable text
codeguard audit . --format sarif     # SARIF 2.1.0 for GitHub
codeguard check-file apps/views.py   # single file

# Pre-commit
echo '
- repo: https://github.com/achimdehnert/iil-codeguard
  rev: v2026.05.0
  hooks:
    - id: codeguard
' >> .pre-commit-config.yaml

# GitHub Action
# Copy .github/workflows/codeguard.yml from this repo

# MCP (in mcp_config.json)
"iil-codeguard": {
  "command": "iil-codeguard-mcp",
  "args": []
}

Why a separate package?

ADR-191 v1.1 explains the trade-offs vs. extending platform-context:

  • CLI ab Tag 1 → erfasst Dependabot, Web-UI-Edits, External Contributors
  • 2 MCP-Tools statt 4 → kein "god server"
  • Eigenes Repo = unabhängiger Release-Zyklus
  • Pattern wie iil-adrfw (ADR-190)

Empirical Foundation

The rule design is grounded in a 2026-05-10 stakeholder validation across 7 consumer repos:

  • 388 Views (110 CBV, 6 async, 272 FBV)
  • 940 HTMX elements (399 with Django tags inside attribute values)
  • 0 pathological cases ({% %} between HTMX attributes) — covered by HX-009 trip-wire

Status & Roadmap

See ROADMAP.md for the 8.5-day implementation plan.

License

MIT (consistent with other iil-* packages).

Metadata

Release files for iil-codeguard 2026.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iil-codeguard 2026.5.1
File Size Uploaded Provenance
iil_codeguard-2026.5.1.tar.gz 29.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for iil-codeguard 2026.5.1
File Interpreter ABI Platform
iil_codeguard-2026.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 57.7 kB

Release files / iil_codeguard-2026.5.1.tar.gz

Download URL iil_codeguard-2026.5.1.tar.gz
Size 29.6 kB
Tags Source
SHA-256 checksum
How to use checksums
211f6469e2f6e6a2f5efee123f76b9860cf78d042471bfbdff219dcb79078a08
BLAKE2b-256 checksum
How to use checksums
4f925a9cddd6c30adc4bbc37e84278b97fff00e1d781b61b1f9b7b4428a51af5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / iil_codeguard-2026.5.1-py3-none-any.whl

Download URL iil_codeguard-2026.5.1-py3-none-any.whl
Size 28.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cfa95f95f8ce91b24d6e5afcb66017213639d08f9eb5407b411fad4f16f690e2
BLAKE2b-256 checksum
How to use checksums
99f503aaebac9159f4b349551c9a8dcd3e6e4d79c36883b45f0968e3e79b2040
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Security for iil-codeguard 2026.5.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2026.5.1 This release

2 release files No provenance

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