You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 59caa75
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+63Lines changed: 63 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,6 +45,16 @@ Do you want to create your own policies? Please refer to our guide [Create new p
45
45
46
46
## Subcommands Reference
47
47
48
+
> Configuration-driven commands: subcommand-specific options are read from merged config (`default.yaml` + system `mxlint.yaml` + project `mxlint.yaml`). You can also pass `--config <path>` to apply a specific config file with the highest precedence. Use global `--verbose` on the root command to enable debug logging for any subcommand.
49
+
50
+
Global verbose examples:
51
+
52
+
```bash
53
+
mxlint-cli --verbose lint
54
+
mxlint-cli -v export-model
55
+
mxlint-cli -v serve
56
+
```
57
+
48
58
### export-model
49
59
50
60
Export Mendix model to yaml files. The output is a text representation of the model. It is a one-way conversion that aims to keep the semantics yet readable for humans and computers.
|`--appstore`||`false`| If set, appstore modules will be included in the output |
66
76
|`--verbose`||`false`| Turn on for debug logs |
67
77
78
+
#### Configuration file (`mxlint.yaml`)
79
+
80
+
The `lint` command supports configuration files loaded in this order:
81
+
82
+
1. Default config: `default.yaml` baked into the executable at compile time
83
+
2. System config:
84
+
- Windows: `%USERPROFILE%/mxlint.yaml`
85
+
- Unix/Linux/macOS: `~/.config/mxlint.yaml`
86
+
- Optional override: `MXLINT_SYSTEM_CONFIG`
87
+
3.`$PROJECT/mxlint.yaml` (current working directory)
88
+
4. Optional explicit config via `--config <path>` (highest precedence, file must exist)
89
+
90
+
Project config has higher precedence than system config, and `--config` has the highest precedence.
91
+
92
+
Example:
93
+
94
+
```yaml
95
+
rules:
96
+
path: .mendix-cache/rules
97
+
rulesets:
98
+
- file://rules
99
+
- https://example.com/rules.zip
100
+
- git://github.com/mxlint/mxlint-rules
101
+
lint:
102
+
skip:
103
+
example/doc:
104
+
- rule: 001_002
105
+
reason: some reason
106
+
date: 2026-02-27 11:00:00Z
107
+
export:
108
+
output: modelsource
109
+
input: .
110
+
mode: basic
111
+
filter: "*"
112
+
```
113
+
114
+
Notes:
115
+
- `rules.path` is used as the default rules directory when `--rules` is not provided.
116
+
- If `rules.rulesets` are configured, they are synchronized into `rules.path` before linting.
117
+
- `lint.skip`supports skipping by document path (relative to `modelsource`) and rule number.
118
+
- `export.*`is used as defaults for `export-model`, and `export.output` is used as the default `lint --modelsource`.
119
+
68
120
---
69
121
70
122
### lint
@@ -89,6 +141,17 @@ mxlint-cli lint [flags]
89
141
90
142
---
91
143
144
+
### config
145
+
146
+
Show the active merged configuration and where config sources were found/used.
147
+
148
+
**Usage:**
149
+
```bash
150
+
mxlint-cli config
151
+
```
152
+
153
+
---
154
+
92
155
### serve
93
156
94
157
Run a server that exports model and lints whenever the input MPR file changes. Works in standalone mode and via integration with the Mendix Studio Pro extension.
0 commit comments