platformOS Check — Available Checks
Available Checks
You can run the following checks as part of platformOS Check. Each check identifies a specific problem or a place in your code where a best practice is not being followed.
For configuration options, severity overrides, and how to disable checks per-file, see platformOS Check Configuration.
Liquid File Checks
These checks analyze the style and validity of Liquid templates, including .liquid files in app/views/pages/, app/views/partials/, and app/lib/.
| Check | Severity | Description |
|---|---|---|
| DeprecatedFilter | warning | Reports usage of deprecated Liquid filters |
| DeprecatedTag | warning | Reports usage of deprecated Liquid tags |
| DuplicateFunctionArguments | warning | Reports duplicate argument names in {% function %} calls |
| DuplicateRenderPartialArguments | warning | Reports duplicate argument names in {% render %} tags |
| GraphQLVariablesCheck | error | Validates that parameters passed to {% graphql %} match the query's variable definitions |
| ImgWidthAndHeight | error | Requires width and height attributes on img tags to prevent cumulative layout shift |
| InvalidHashAssignTarget | error | Reports {% hash_assign %} usage on variables that are not object types |
| LiquidHTMLSyntaxError | error | Reports Liquid and HTML syntax errors |
| MetadataParamsCheck | error | Validates that parameters passed to {% render %} and {% function %} match what the partial expects |
| MissingAsset | error | Reports references to asset files that do not exist |
| MissingPage | warning | Reports links and form actions pointing to routes with no matching platformOS page |
| MissingPartial | error | Reports references to partial, function, or GraphQL files that do not exist |
| MissingRenderPartialArguments | error | Reports missing required arguments when rendering a partial that declares its parameters with a {% doc %} tag |
| NestedGraphQLQuery | warning | Detects {% graphql %} tags inside loop tags — the N+1 pattern — including transitive calls via {% render %} and {% function %} |
| OrphanedPartial | warning | Reports partials that are not referenced by any other file |
| ParserBlockingScript | error | Reports <script> tags without defer or async that block HTML parsing |
| TranslationKeyExists | error | Reports translation keys used in templates that are not defined in the default language file |
| UnclosedHTMLElement | warning | Reports unbalanced HTML tags in branching Liquid code |
| UndefinedObject | warning | Reports references to variables that have not been defined |
| UniqueDocParamNames | error | Reports duplicate @param names in {% doc %} tags |
| UnknownFilter | error | Reports usage of Liquid filters that do not exist in the platformOS filter set |
| UnknownProperty | error | Reports access to properties that do not exist on typed variables |
| UnrecognizedRenderPartialArguments | warning | Reports arguments passed to {% render %} that are not declared in the partial's {% doc %} tag |
| UnusedAssign | warning | Reports variables assigned with {% assign %} or {% function %} that are never used |
| UnusedDocParam | warning | Reports @param entries in {% doc %} tags that are never used in the partial body |
| ValidDocParamTypes | error | Reports @param type annotations in {% doc %} tags that are not valid platformOS types |
| ValidRenderPartialArgumentTypes | warning | Reports type mismatches between arguments passed to {% render %} and the types declared in the partial's {% doc %} tag |
| VariableName | warning | Enforces a consistent variable naming convention (default: snake_case) |
GraphQL File Checks
These checks analyze .graphql files and validate them against the platformOS schema. Run pos-cli check update-docs to keep the local schema up to date.
| Check | Severity | Description |
|---|---|---|
| GraphQLCheck | error | Validates GraphQL query and mutation files for syntax errors and schema conformance |
JSON File Checks
These checks analyze the syntax and content of .json files.
| Check | Severity | Description |
|---|---|---|
| ValidJSON | error | Reports JSON files with invalid syntax; validates against schema when available |
| JSONSyntaxError | error | Deprecated — use ValidJSON instead |
YAML File Checks
These checks analyze translation YAML files in app/translations/.
| Check | Severity | Description |
|---|---|---|
| MatchingTranslations | error | Reports translation files where keys are missing compared to the default language file |
| ValidHTMLTranslation | warning | Reports translation values that contain invalid HTML markup |