How plesty check enforces PLESTY standards across all HUB modules
plesty-sdkplesty check is the PLESTY developer CLI's core compliance command. It runs a battery of static-analysis, tooling, test, and CI checks against any module in the PLESTY ecosystem — device drivers, analyzers, experiments, or core libraries — and reports a clear pass/fail for each gate.
It enforces three progressively strict standards. Every module declares which standard it targets in pyproject.toml, and the pre-push git hook (installed by plesty init) enforces it automatically before every push.
Add plesty-sdk as a dev dependency and run plesty init once per clone. This installs the git pre-push hook so Gate compliance is checked automatically on every git push.
Run uv run plesty check --standard quantum from your module's root. Each gate prints a ✓ or fails with a clear error message and the affected file or gate name.
A failing run looks like this — the gate name and exact error are always printed:
Gate 2 — Code hygiene: format and lint violations are auto-fixable. Always use the SDK's ruff.toml (line-length 99) — plain ruff format uses a different line length and will re-fail.
Gate 4 — Data Layer (missing return types): add explicit return annotations to all public methods.
Gate 5 — Documentation: create docs/index.md and ensure CHANGELOG.md is updated after every tagged commit.
Gate 9 — Licensing: the license field, LICENSE, and COPYING files must all be present.
Gate 10 — Vulnerability Audit: if pip-audit finds a CVE, upgrade the affected package via uv:
Once plesty init has been run, every git push triggers the full compliance check. A failing gate blocks the push.
The hook reads standard from your [tool.plesty] section automatically — you never need to pass it manually to the hook.