Environment: mxcli nightly-20260929-e1ef0c9e (2026-09-29T08:19:41Z), Mendix 11.12.1, Windows 11.
Summary: mxcli lint is independent of any AI tool, but its Starlark rules and config only live under .claude/. Two consequences:
mxcli init --tool cursor (other non-Claude tools not checked) installs no Starlark rules at all, so mxcli lint on such a project silently runs only the Go rules, without the 31 bundled .star rules. It does create .claude/lint-config.yaml and .claude/skills/.
- A team that does not use Claude Code (or keeps
.claude/ out of git, or runs lint in CI) needs a .claude/ folder just for lint. Custom rules have no tool-neutral home.
Steps to reproduce
mkdir a b
mxcli init --tool claude a
mxcli init --tool cursor b
ls a/.claude/lint-rules | wc -l # 31
ls b/.claude # lint-config.yaml skills (no lint-rules/)
Discovery (mdl/linter/lintrules_discovery.go, FindLintRulesDir) only looks for .claude/lint-rules/ from the project dir up to the repo root. There is no flag, env var or lint-config.yaml key to point it elsewhere.
Expected
- Every
init --tool <x> gives mxcli lint the same rule set.
- A tool-neutral location for rules and config, for example one of:
- a
rules_dir (or list of dirs) key in lint-config.yaml;
- a
--rules-dir flag / MXCLI_LINT_RULES env var;
- a neutral default such as
lint/ or .mxlint/, with .claude/lint-rules/ kept as a fallback for existing projects.
A list of dirs would also let a company keep its own shared rules outside each project repo and combine them with the bundled ones.
Related: #904 (discovery fixes; closed).
Environment: mxcli
nightly-20260929-e1ef0c9e(2026-09-29T08:19:41Z), Mendix 11.12.1, Windows 11.Summary:
mxcli lintis independent of any AI tool, but its Starlark rules and config only live under.claude/. Two consequences:mxcli init --tool cursor(other non-Claude tools not checked) installs no Starlark rules at all, somxcli linton such a project silently runs only the Go rules, without the 31 bundled.starrules. It does create.claude/lint-config.yamland.claude/skills/..claude/out of git, or runs lint in CI) needs a.claude/folder just for lint. Custom rules have no tool-neutral home.Steps to reproduce
Discovery (
mdl/linter/lintrules_discovery.go,FindLintRulesDir) only looks for.claude/lint-rules/from the project dir up to the repo root. There is no flag, env var orlint-config.yamlkey to point it elsewhere.Expected
init --tool <x>givesmxcli lintthe same rule set.rules_dir(or list of dirs) key inlint-config.yaml;--rules-dirflag /MXCLI_LINT_RULESenv var;lint/or.mxlint/, with.claude/lint-rules/kept as a fallback for existing projects.A list of dirs would also let a company keep its own shared rules outside each project repo and combine them with the bundled ones.
Related: #904 (discovery fixes; closed).