# plesty check Validate a project against the Plesty compliance standard. Runs a suite of static analysis and runtime gates organised into two enforcement tiers. ```bash plesty check [--standard LEVEL] ``` ## Options | Option | Default | Description | |---|---|---| | `--standard` | `quantum` | Compliance level: `pixel`, `nebula`, or `quantum` | ## Enforcement tiers Gates are divided into two tiers depending on whether they require network access or a clean install environment: - **`[SDK]`** — enforced locally by `plesty check`; pure static analysis, no network. The pre-push git hook installed by `plesty init` runs these gates automatically before every push. - **`[SDK+CI]`** — enforced locally and repeated by CI in a clean environment as the authoritative final gate. ## Compliance levels ### Pixel Metadata and code hygiene only — fast check suitable for pre-commit hooks. | Gate | Tier | What is checked | |---|---|---| | Metadata & Namespace | `[SDK]` | `pyproject.toml` has required fields; package name matches `plesty-`; `plesty//` directory exists | | Code Hygiene | `[SDK]` | `ruff` lint (E, F, W, D rules); `ruff format --check`; `mypy` type checking | ### Nebula All Pixel gates plus the remaining `[SDK]` gates. This is the standard enforced by the pre-push hook. | Gate | Tier | What is checked | |---|---|---| | API Interface Matching | `[SDK]` | Classes that import from `plesty.lib.*` must inherit from the imported base class (e.g. `BaseDeviceSyncModel`) | | Data Layer Compliance | `[SDK]` | All public methods have explicit return type annotations; no class redefines a plesty-lib schema model (`ResultDocument`, `DeviceStatus`, `TelemetryEvent`, `ConfigParameter`, `FuncMeta`, `Plan`, …) | | Documentation Completeness | `[SDK]` | `docs/index.md` (or `index.rst`) exists; `CHANGELOG.md` exists and has been updated since the last git tag | | Dependency Coexistence | `[SDK]` | No exact pins (`==x.y.z`) in `pyproject.toml`; use `>=x.y,