Home / mendixlabs / mxcli · .claude/skills/mendix/write-lint-rules/SKILL.md · GitHub

write-lint-rules skillA

write-lint-rules is agent-read markdown (skill) from mendixlabs/mxcli: Write custom Starlark lint rules in .claude/lint-rules/ that run beside the built-ins under `mxcli lint`. Use when a project convention should be enforced automatically..

Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.

What the file says

# Writing Custom Starlark Lint Rules

Custom lint rules are written in Starlark (a Python-like language) and placed in `.claude/lint-rules/` as `.star` files. They run alongside the built-in rules when `mxcli lint -p app.mpr` is executed.

## Rule File Structure

Every `.star` file must define metadata constants and a `check()` function:

```python
RULE_ID = "CUSTOM001"          # unique identifier
RULE_NAME = "MyRule"           # Short display name
description = "What it checks" # One-line description
CATEGORY = "security"          # Category: naming, quality, design, security, etc.
SEVERITY = "warning"           # hint, info, warning, error

def check():
    violations = []
    # ... iterate data, find issues, append violations ...
    return violations
```

### Catalog data requirements (`refs_to`, `cycles`, …)

Some builtins need a deeper catalog than the default fast build:

- `refs_to` / `refs_from` need **`REFRESH CATALOG FULL`** (the `refs` table).
- The graph-analysis builtins (`cycles`, `module_dependencies`, `community_of`,
  `layer_of`, `centrality`, `god_nodes`, `integration_surface`) need
  **`REFRESH CATALOG COMMUNITIES`** (the `graph_*` tables).
…

Read the whole file at its exact version.

How to install

Latest version
mdr add mendixlabs/mxcli/write-lint-rules@git:20260922.84449c7
Exact content
mdr add mendixlabs/mxcli/write-lint-rules@sha256:55e8e062142d1c2f

Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_m2st5t2xrvezrdzd.svg)](https://markdownregistry.com/a/art_m2st5t2xrvezrdzd)

1 badge views in 30 days

Versions

versioncommittedcommitsizeaudit
git:20260922.84449c7 latest2026-09-22 84449c7 26,579 BA view · diff
git:20260922.6fda7ec2026-09-22 6fda7ec 26,492 BA view · diff
git:20260922.46bd1f72026-09-22 46bd1f7 26,263 BA view · diff
git:20260918.59db6e72026-09-18 59db6e7 24,872 BA view · diff
git:20260917.1b3adf72026-09-17 1b3adf7 23,505 BA view · diff
git:20260917.829eceb2026-09-17 829eceb 22,343 BA view · diff
git:20260821.ff81a242026-08-21 ff81a24 22,114 BA view

Audit of the latest version

A  17 of 17 checks passed. Deterministic, no model, same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (26579 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

mendixlabs/mxcli · 124 stars · license Apache-2.0 · pushed 2026-09-24 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_m2st5t2xrvezrdzd
GET https://markdownregistry.com/api/v1/resolve?ref=mendixlabs/mxcli/write-lint-rules
GET https://markdownregistry.com/api/v1/blob/55e8e062142d1c2fbaf8d91f4f5b8ab115ea263a8c6277c561bc5afb8d972c85

Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

More from mendixlabs/mxcli

agents skill
mendixlabs/mxcli · .claude/skills/mendix/agents/SKILL.md · Author Mendix AI agent documents in MDL — Model, Knowledge Base, Consumed MCP Service and Agent, with variables, tools…
git:20260922.4954f84 · audit A · 124 stars
alter-page skill
mendixlabs/mxcli · .claude/skills/mendix/alter-page/SKILL.md · Modify an existing page or snippet's widget tree in place with ALTER PAGE / ALTER SNIPPET — SET, INSERT, DROP, REPLACE…
git:20260923.328828c · audit A · 124 stars
analyze-runtime skill
mendixlabs/mxcli · .claude/skills/mendix/analyze-runtime/SKILL.md · Find out what a running Mendix app actually does — logs, Prometheus metrics, OpenTelemetry traces and the model…
git:20260821.ff81a24 · audit B · 124 stars
assess-migration skill
mendixlabs/mxcli · .claude/skills/mendix/assess-migration/SKILL.md · Investigate an existing non-Mendix application (Java, .NET, Python, Node, PHP, …) and produce a structured migration…
git:20260821.ff81a24 · audit A · 124 stars
assess-quality skill
mendixlabs/mxcli · .claude/skills/mendix/assess-quality/SKILL.md · Audit a Mendix project against best practices for naming, security, performance, maintainability and architecture, and…
git:20260821.ff81a24 · audit A · 124 stars
atlas-design skill
mendixlabs/mxcli · .claude/skills/mendix/atlas-design/SKILL.md · Make a Mendix app look designed rather than default-Atlas: layout, spacing, typography, colour and design properties…
git:20260915.3d3ca1f · audit A · 124 stars
bootstrap-app skill
mendixlabs/mxcli · .claude/skills/mendix/bootstrap-app/SKILL.md · Provision a Mendix project in a repo that has none — interview, `mxcli new`, session hook, project brief, first commit…
git:20260922.98aa174 · audit A · 124 stars
browse-integrations skill
mendixlabs/mxcli · .claude/skills/mendix/browse-integrations/SKILL.md · Discover the external services a project consumes and browse their cached contracts through the MDL CATALOG — OData…
git:20260821.ff81a24 · audit A · 124 stars
bulk-widget-updates skill
mendixlabs/mxcli · .claude/skills/mendix/bulk-widget-updates/SKILL.md · Discover and bulk-change widget properties across many pages with SHOW WIDGETS and UPDATE WIDGETS. Use when the same…
git:20260821.ff81a24 · audit A · 124 stars
business-events skill
mendixlabs/mxcli · .claude/skills/mendix/business-events/SKILL.md · Define event-driven APIs over Kafka with Mendix business event services — publish and subscribe contracts…
git:20260821.ff81a24 · audit A · 124 stars
catalog-search skill
mendixlabs/mxcli · .claude/skills/mendix/catalog-search/SKILL.md · Search the Mendix Catalog platform service registry (catalog.mendix.com) from the CLI to find services published across…
git:20260821.ff81a24 · audit A · 124 stars
cheatsheet-errors skill
mendixlabs/mxcli · .claude/skills/mendix/cheatsheet-errors/SKILL.md · Quick fixes for the MDL syntax errors that come up most: undeclared variables, wrong retrieve source, list operations…
git:20260911.0d73eed · audit A · 124 stars

Every file in mendixlabs/mxcli

Browse by kind, by grade A, or by owner.