{"id":31621084,"url":"https://github.com/mxlint/mxlint-rules","last_synced_at":"2026-02-14T09:02:39.491Z","repository":{"id":256078638,"uuid":"854182718","full_name":"mxlint/mxlint-rules","owner":"mxlint","description":"Best practices rules for mendix app development","archived":false,"fork":false,"pushed_at":"2026-02-02T15:16:31.000Z","size":42122,"stargazers_count":8,"open_issues_count":9,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-02-03T03:24:43.746Z","etag":null,"topics":["best-practices","javascript","mendix","mxlint","rego"],"latest_commit_sha":null,"homepage":"https://mxlint.com","language":"Open Policy Agent","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mxlint.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-08T15:42:18.000Z","updated_at":"2026-02-02T14:48:15.000Z","dependencies_parsed_at":"2024-11-06T22:22:11.447Z","dependency_job_id":"aa144570-56cc-4132-b96f-f8da528ce408","html_url":"https://github.com/mxlint/mxlint-rules","commit_stats":null,"previous_names":["mxlint/mxlint-rules"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/mxlint/mxlint-rules","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mxlint%2Fmxlint-rules","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mxlint%2Fmxlint-rules/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mxlint%2Fmxlint-rules/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mxlint%2Fmxlint-rules/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mxlint","download_url":"https://codeload.github.com/mxlint/mxlint-rules/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mxlint%2Fmxlint-rules/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29441103,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T07:24:13.446Z","status":"ssl_error","status_checked_at":"2026-02-14T07:23:58.969Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["best-practices","javascript","mendix","mxlint","rego"],"created_at":"2025-10-06T15:50:44.151Z","updated_at":"2026-02-14T09:02:39.486Z","avatar_url":"https://github.com/mxlint.png","language":"Open Policy Agent","readme":"\u003ca id=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003cspan align=\"center\"\u003e\n  \n  [![Contributors][contributors-shield]][contributors-url]\n  [![Forks][forks-shield]][forks-url]\n  [![Issues][issues-shield]][issues-url]\n  [![Unlicense License][license-shield]][license-url]\n\n\u003c/span\u003e\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/mxlint\"\u003e\n    \u003cimg src=\"https://avatars.githubusercontent.com/u/180859514?s=200\u0026v=4\" alt=\"Logo\" width=\"160\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eMxLint - Rules\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    The repository of rules that come out-of-the-box rules with the MxLint CLI and Mendix Studio Pro extension\n    \u003cbr /\u003e\n    \u003ca href=\"https://mxlint.com/\"\u003e\u003cstrong\u003eMxLint website »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://mxlint.com/assets/videos/mxlint-extension-2024-09-12-responsive.mp4\" target=\"_blank\"\u003eView Demo\u003c/a\u003e\n    \u0026middot;\n    \u003ca href=\"https://github.com/mxlint/mxlint-rules/issues/new\" target=\"_blank\"\u003eReport an issue\u003c/a\u003e\n    \u0026middot;\n    \u003ca href=\"https://github.com/mxlint/mxlint-rules/issues/new\" target=\"_blank\"\u003eRequest feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting started\nAdd new rules to your Mendix project by downloading the applicable `.rego` file and storing it in the project's `.mendix-cache/rules` folder. This folder contains subfolders for each rule category.\n\nEach rule comes with its own `_test` file, which contains test data and one or more test cases.\n\nFor more information, see the installation instructions on the [MxLint website](https://mxlint.com/mendix-studio-pro-extension/installation/).\n\n\n\u003c!-- ROADMAP --\u003e\n## Roadmap\n\n- [x] Add README\n- [ ] Add changelog\n- [ ] Convert all [Mendix Best Practices for Development](https://docs.mendix.com/refguide/dev-best-practices/) to rules\n\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\nMxLint and its rules is a fully open source project, driven entirely by the Mendix community! That is why we welcome any and all contributions!\n\nIf you want to contribute, this is the way:\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\nYou pull request will be reviewed and, if accepted, merged into the mainline of MxLint.\n\n\n\u003c!-- LICENSE --\u003e\n## License\nMxLint\u0026mdash;the CLI tools, the Mendix Studio Pro extension and its rules\u0026mdash;is distributed under the [AGPL license](https://github.com/mxlint/mxlint-rules/blob/main/LICENSE)\n\n\n\u003c!-- CONTACT --\u003e\n## Contact\nXiwen Cheng - [LinkedIn](https://linkedin.com/in/xiwen) - [Email](mailto:x@cinaq.com)\n\nBart Zantingh - [LinkedIn](https://linkedin.com/in/bartzantingh) - [Email](mailto:bart.zantingh@nl.abnamro.com)\n\nMxLint project home: [https://github.com/mxlint](https://github.com/mxlint)\n\n## Useful links\n- [MxLint home](https://mxlint.com/)\n- [Open Policy Agent home](https://www.openpolicyagent.org/)\n- [Open Policy Agent docs](https://www.openpolicyagent.org/docs/latest/)\n- [Rego language reference](https://www.openpolicyagent.org/docs/latest/policy-reference/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/mxlint/mxlint-rules?style=for-the-badge\u0026logo=data:image/svg+xml;base64,PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KDTwhLS0gVXBsb2FkZWQgdG86IFNWRyBSZXBvLCB3d3cuc3ZncmVwby5jb20sIFRyYW5zZm9ybWVkIGJ5OiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSJub25lIj4KDTxnIGlkPSJTVkdSZXBvX2JnQ2FycmllciIgc3Ryb2tlLXdpZHRoPSIwIi8+Cg08ZyBpZD0iU1ZHUmVwb190cmFjZXJDYXJyaWVyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KDTxnIGlkPSJTVkdSZXBvX2ljb25DYXJyaWVyIj4gPGcgZmlsbD0iI2ZmZiI+IDxwYXRoIGQ9Ik0zLjQ2MiA3Ljk0MmE1LjYzOCA1LjYzOCAwIDAxMS4yMTYtMi4yOTljLS4xODctLjE0Ny0uOTI4LS43NTUtLjk2My0xLjIzMkMzLjY2MSAzLjYyOSA0LjQwMyAxIDQuNDAzIDFzLTIuMjQgMi44NzYtMi4zOTUgNC4wMzlDMS44ODQgNS45NSAzLjMgNy43NiAzLjQ0OSA3Ljk0NXYtLjAwM2guMDEzem05LjExNC0uMDQ3VjcuOWMwIC4wMDQuMDAzLjAwNy4wMDMuMDEuMjQ4LS4zMTQgMS41My0yIDEuNDEzLTIuODcyQzEzLjgzOCAzLjg3NiAxMS41OTggMSAxMS41OTggMXMuNzQyIDIuNjI5LjY4OCAzLjQxYy0uMDMyLjQ1OC0uNzA3IDEuMDMtLjkzMiAxLjIxYTUuNTcgNS41NyAwIDAxMS4yMjMgMi4yNzV6Ii8+IDxwYXRoIGQ9Ik0xMi41NzYgNy44OTh2LS4wMDZhNS42MTUgNS42MTUgMCAwMC0xLjIyMy0yLjI3NWMtLjg3LS45Ny0yLjA1Ni0xLjU1LTMuMzMzLTEuNTV2My4xMDZoLjAwNGMuMzEzLjAwNC41NjcuMjc0LjU2Ny42MDUgMCAuMDQtLjAwMy4wNzctLjAxLjExNGEuNTgzLjU4MyAwIDAxLS41NTcuNDloLS4wMXYxLjE1M2wtLjAwNiA1LjQ1OGguMTFzMS4yMDUtMS44MzcgMS44NTQtMi4zNjFjLjc2LS42MTUgMi42MDQtMS4zNzcgMi42MDQtMS4zNzd2LTMuMzJsLjAxLS4wMDNjLS4wMDQtLjAwNy0uMDA0LS4wMTctLjAwNy0uMDI0IDAtLjAwMyAwLS4wMDYtLjAwMy0uMDF6Ii8+IDxwYXRoIGQ9Ik04LjAxNCA5LjUzOFY4LjM4NmEuNTguNTggMCAwMS0uNTQ4LS40NDQuNjUuNjUgMCAwMS0uMDIyLS4xNmMwLS4zMzUuMjU3LS42MDUuNTczLS42MDVoLjAwNFY0LjA4Yy0xLjI4NCAwLTIuNDcyLjU4NS0zLjM0MyAxLjU2M2E1LjYxNiA1LjYxNiAwIDAwLTEuMjE2IDIuMjk5aC0uMDF2My4zNjRzMS44NDQuNzYxIDIuNjA0IDEuMzc2Yy42My41MSAxLjg0NyAyLjMxOCAxLjg0NyAyLjMxOGguMTE0di0uMDAzaC0uMDA2bC4wMDMtNS40NTl6Ii8+IDwvZz4gPC9nPgoNPC9zdmc+\n[contributors-url]: https://github.com/mxlint/mxlint-rules/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/mxlint/mxlint-rules?style=for-the-badge\u0026logo=git\u0026logoColor=white\n[forks-url]: https://github.com/mxlint/mxlint-rules/network\n[issues-shield]: https://img.shields.io/github/issues/mxlint/mxlint-rules?style=for-the-badge\n[issues-url]: https://github.com/mxlint/mxlint-rules/issues\n[license-shield]: https://img.shields.io/badge/License-AGPL-663066?style=for-the-badge\u0026logo=gnu\n[license-url]: https://github.com/mxlint/mxlint-rules/blob/main/LICENSE\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmxlint%2Fmxlint-rules","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmxlint%2Fmxlint-rules","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmxlint%2Fmxlint-rules/lists"}