# mxcli Documentation > CLI tool and MDL (Mendix Definition Language) for reading, querying, and modifying Mendix application projects headlessly. Designed primarily for AI coding agents (Claude Code, Cursor, GitHub Copilot) and CI/CD pipelines. Version: mxcli v0.10.0 @ cf0ab07 | Generated: 2026-05-19T06:04:06Z Full content (entire book, single page): https://huaiyukhaw.github.io/mxcli-llms/llms-full.txt - [Preface](https://huaiyukhaw.github.io/mxcli-llms/pages/preface/index.md): This documentation covers mxcli , a command-line tool for reading, querying, and modifying Mendix application projects, and MDL… - [Vision](https://huaiyukhaw.github.io/mxcli-llms/pages/preface/vision.md): mxcli and MDL exist to make Mendix development accessible to coding agents, automation pipelines, and developers who prefer… - [What is mxcli?](https://huaiyukhaw.github.io/mxcli-llms/pages/preface/what-is-mxcli.md): mxcli is a command-line tool that enables developers and AI coding assistants to read, understand, and modify Mendix application… - [What is MDL?](https://huaiyukhaw.github.io/mxcli-llms/pages/preface/what-is-mdl.md): MDL (Mendix Definition Language) is a text-based, SQL-like language for describing and manipulating Mendix application models. It… - [Mendix Concepts for Newcomers](https://huaiyukhaw.github.io/mxcli-llms/pages/preface/mendix-concepts.md): This page explains the core Mendix concepts you’ll encounter when using mxcli. If you’re familiar with web frameworks, relational… - [Document Conventions](https://huaiyukhaw.github.io/mxcli-llms/pages/preface/conventions.md): This page describes the formatting and notation conventions used throughout this documentation. ## Part I: Tutorial - [5-Minute Quickstart](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/quickstart.md): Get from zero to modifying a Mendix project in 5 minutes. No prior MDL knowledge needed. - [Setting Up](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/setup.md): Before you can start exploring and modifying Mendix projects from the command line, you need three things: - [Installation](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/installation.md): There are three ways to install the VS Code MDL extension. - [Opening Your First Project](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/opening-project.md): mxcli works with Mendix project files – the .mpr files that Mendix Studio Pro creates. Let’s open one. - [The REPL](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/repl.md): The mxcli REPL is an interactive shell for working with Mendix projects, much like psql is for PostgreSQL or mysql for MySQL. You… - [Exploring a Project](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/exploring.md): Once you have a project open – whether through the REPL, a CLI one-liner, or a script file – the next step is to look around… - [SHOW MODULES, SHOW ENTITIES](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/show-commands.md): The SHOW family of commands lists project elements by type. They are the fastest way to see what a project contains. - [DESCRIBE, SEARCH](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/describe-search.md): While SHOW commands list elements by name, DESCRIBE gives you the full definition of a single element. SEARCH lets you find… - [SHOW STRUCTURE](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/show-structure.md): The SHOW STRUCTURE command gives you a compact, tree-style overview of a project. It is the fastest way to understand the overall… - [Your First Changes](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/first-changes.md): Now that you can explore a project with SHOW and DESCRIBE , it’s time to make changes. This chapter walks through the three most… - [Creating an Entity](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/create-entity.md): Entities are the foundation of any Mendix application – they define your data model. In this page you’ll create a Product entity… - [Creating a Microflow](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/create-microflow.md): Microflows are the server-side logic of a Mendix application. They’re comparable to functions or methods in traditional… - [Creating a Page](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/create-page.md): Pages are the user interface of a Mendix application. In this page you’ll create an overview page that lists products in a data… - [Validating with mxcli check](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/validation.md): You’ve created entities, microflows, and pages. Before opening your project in Studio Pro, you should validate that everything is… - [Working with AI Assistants](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/ai-assistants.md): mxcli is built from the ground up to work with AI coding assistants. The mxcli init command sets up your Mendix project with… - [Claude Code Integration](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/claude-code.md): Claude Code is the primary AI integration for mxcli. It gets the deepest support: a dedicated configuration directory… - [OpenCode Integration](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/opencode.md): OpenCode is a fully supported AI integration for mxcli. It gets deep support: a dedicated configuration directory, project-level… - [Other AI tools](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/other-ai-tools.md): Claude Code is the default integration, but mxcli also supports OpenCode, Cursor, Continue.dev, Windsurf, Aider, and Mistral… - [Skills and CLAUDE.md](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/skills.md): Skills are markdown files that teach AI assistants how to write correct MDL. Each skill covers a specific topic – creating pages… - [The MDL + AI Workflow](https://huaiyukhaw.github.io/mxcli-llms/pages/tutorial/mdl-ai-workflow.md): This page walks through the complete recommended workflow for using mxcli with an AI assistant, from project setup to reviewing… ## Part II: MDL by Example - [MDL by Example](https://huaiyukhaw.github.io/mxcli-llms/pages/examples/index.md): This part presents complete, self-contained MDL examples that show how the language comes together for real use cases. Each… - [CRM Module](https://huaiyukhaw.github.io/mxcli-llms/pages/examples/crm-module.md): A complete customer management feature: domain model, validation, CRUD pages, and security – all in one script. - [REST Integration](https://huaiyukhaw.github.io/mxcli-llms/pages/examples/rest-integration.md): Calling external APIs from microflows – GET, POST, authentication, and error handling. - [Data Import Pipeline](https://huaiyukhaw.github.io/mxcli-llms/pages/examples/data-import.md): Connect to an external database, explore its schema, import data into Mendix, and generate database connectors – all from the… - [Master-Detail Page](https://huaiyukhaw.github.io/mxcli-llms/pages/examples/master-detail.md): A single page with a list on the left and a detail form on the right. Selecting an item in the list updates the form via the… - [Modifying Existing Pages](https://huaiyukhaw.github.io/mxcli-llms/pages/examples/alter-page.md): ALTER PAGE modifies widgets in place without recreating the entire page. This is useful for incremental changes, maintenance, and… - [Validation Pattern](https://huaiyukhaw.github.io/mxcli-llms/pages/examples/validation.md): Validate an object before saving, showing feedback on invalid fields: - [Role-Based Security](https://huaiyukhaw.github.io/mxcli-llms/pages/examples/security.md): A complete security setup: module roles, entity access with XPath row-level constraints, document access, user roles, and demo… - [View Entities](https://huaiyukhaw.github.io/mxcli-llms/pages/examples/view-entities.md): View entities are read-only entities backed by an OQL query. They appear in the domain model but have no database table – their… ## Part III: Migration - [Migration Guide](https://huaiyukhaw.github.io/mxcli-llms/pages/migration/index.md): mxcli and MDL enable AI-assisted migration of existing applications to the Mendix platform. An AI coding agent (Claude Code… - [Assessment](https://www.mxcli.org/migration/assessment.html) - [Transformation Plan](https://www.mxcli.org/migration/transformation.html) - [Generation](https://www.mxcli.org/migration/generation.html) - [Data Migration](https://huaiyukhaw.github.io/mxcli-llms/pages/migration/data-migration.md): mxcli can connect directly to external databases to explore schemas, import data, and generate database connector code. This is… - [Validation and Handoff](https://www.mxcli.org/migration/validation.html) ## Part IV: The MDL Language - [MDL Basics](https://huaiyukhaw.github.io/mxcli-llms/pages/language/basics.md): MDL (Mendix Definition Language) is a SQL-like language for reading and modifying Mendix application projects. It provides a… - [Lexical Structure](https://huaiyukhaw.github.io/mxcli-llms/pages/language/lexical-structure.md): This page describes the tokens that make up the MDL language: keywords, literals, and identifiers. - [Qualified Names](https://huaiyukhaw.github.io/mxcli-llms/pages/language/qualified-names.md): MDL uses dot-separated qualified names to reference elements within a Mendix project. This naming convention ensures elements are… - [Comments and Documentation](https://huaiyukhaw.github.io/mxcli-llms/pages/language/comments.md): MDL supports three comment styles for annotating scripts and attaching documentation to model elements. - [Script Files](https://huaiyukhaw.github.io/mxcli-llms/pages/language/script-files.md): MDL statements can be saved in .mdl files and executed as scripts. This is the primary way to automate Mendix model changes. - [Data Types](https://huaiyukhaw.github.io/mxcli-llms/pages/language/data-types.md): MDL has a type system that maps to the Mendix metamodel attribute types. Every attribute in an entity definition has a type that… - [Primitive Types](https://huaiyukhaw.github.io/mxcli-llms/pages/language/primitive-types.md): This page documents each primitive type available for entity attributes in MDL. - [Constraints](https://huaiyukhaw.github.io/mxcli-llms/pages/language/constraints.md): Constraints must appear in this order: - [Enumerations](https://huaiyukhaw.github.io/mxcli-llms/pages/language/enumerations.md): Each enumeration contains: - [Type Mapping](https://huaiyukhaw.github.io/mxcli-llms/pages/language/type-mapping.md): External database types are mapped to Mendix types: - [Domain Model](https://huaiyukhaw.github.io/mxcli-llms/pages/language/domain-model.md): The domain model is the data layer of a Mendix application. It defines the entities (data tables), their attributes (columns)… - [Entities](https://huaiyukhaw.github.io/mxcli-llms/pages/language/entities.md): Entities are the primary data structures in a Mendix domain model. Each entity corresponds to a database table (for persistent… - [Attributes and Validation Rules](https://huaiyukhaw.github.io/mxcli-llms/pages/language/attributes.md): Attributes define the fields on an entity. Each attribute has a name, a type, and optional constraints. - [Associations](https://huaiyukhaw.github.io/mxcli-llms/pages/language/associations.md): Associations define relationships between entities. They determine how objects reference each other and control behavior on… - [Generalization](https://huaiyukhaw.github.io/mxcli-llms/pages/language/generalization.md): Generalization (inheritance) allows an entity to extend another entity, inheriting all of its attributes and associations. The… - [Indexes](https://huaiyukhaw.github.io/mxcli-llms/pages/language/indexes.md): Indexes improve query performance for frequently searched or sorted attributes. They are defined after the attribute list in an… - [ALTER ENTITY](https://huaiyukhaw.github.io/mxcli-llms/pages/language/alter-entity.md): Modifies an existing entity without full replacement. - [Microflows and Nanoflows](https://huaiyukhaw.github.io/mxcli-llms/pages/language/microflows.md): Microflows and nanoflows are the primary logic constructs in Mendix applications. They define executable sequences of activities… - [Structure](https://huaiyukhaw.github.io/mxcli-llms/pages/language/microflow-structure.md): An MPR file is a standard SQLite database with two key tables: - [Activity Types](https://huaiyukhaw.github.io/mxcli-llms/pages/language/activity-types.md): Workflow activities are the building blocks of a workflow definition. Each activity type serves a different purpose, from waiting… - [Control Flow](https://huaiyukhaw.github.io/mxcli-llms/pages/language/control-flow.md): MDL microflows support conditional branching, loops, and error handling to control the execution path of your logic. - [Expressions](https://huaiyukhaw.github.io/mxcli-llms/pages/language/expressions.md): Expressions in MDL are used in conditions, attribute assignments, variable assignments, and log messages within microflows. They… - [Nanoflows vs Microflows](https://huaiyukhaw.github.io/mxcli-llms/pages/language/nanoflows.md): Nanoflows are client-side logic flows that execute in the user’s browser or on mobile devices. They share the same MDL syntax as… - [Common Patterns](https://huaiyukhaw.github.io/mxcli-llms/pages/language/microflow-patterns.md): This page collects frequently used page patterns: overview/list pages, edit pages, and master-detail layouts. Each pattern is a… - [Pages](https://huaiyukhaw.github.io/mxcli-llms/pages/language/pages.md): MDL uses explicit property declarations for pages: - [Page Structure](https://huaiyukhaw.github.io/mxcli-llms/pages/language/page-structure.md): A page document has this top-level structure: - [Widget Types](https://huaiyukhaw.github.io/mxcli-llms/pages/language/widget-types.md): MDL supports a comprehensive set of widget types for building Mendix pages. Each widget is declared with a type keyword, a unique… - [Data Binding](https://huaiyukhaw.github.io/mxcli-llms/pages/language/data-binding.md): Data binding connects widgets to entity attributes and data sources. In MDL, binding is configured through widget properties… - [Snippets](https://huaiyukhaw.github.io/mxcli-llms/pages/language/snippets.md): Snippets are reusable page fragments that can be embedded in multiple pages. They allow you to define a widget tree once and… - [ALTER PAGE / ALTER SNIPPET](https://huaiyukhaw.github.io/mxcli-llms/pages/language/alter-page.md): Modify an existing page or snippet’s widget tree in-place without full CREATE OR REPLACE . Works directly on the raw BSON tree… - [Common Patterns](https://huaiyukhaw.github.io/mxcli-llms/pages/language/page-patterns.md): This page collects frequently used page patterns: overview/list pages, edit pages, and master-detail layouts. Each pattern is a… - [Security](https://huaiyukhaw.github.io/mxcli-llms/pages/language/security.md): Credentials are isolated from session output. The DSN (which contains username and password) is never displayed in session… - [Module Roles and User Roles](https://huaiyukhaw.github.io/mxcli-llms/pages/language/roles.md): Mendix security uses a two-tier role system. Module roles define permissions within a single module. User roles aggregate module… - [Entity Access](https://huaiyukhaw.github.io/mxcli-llms/pages/language/entity-access.md): Where is a comma-separated list of: - [Microflow, Page, and Nanoflow Access](https://huaiyukhaw.github.io/mxcli-llms/pages/language/document-access.md): Document-level access controls which module roles can execute microflows and nanoflows or view pages. Without an explicit grant… - [GRANT / REVOKE](https://huaiyukhaw.github.io/mxcli-llms/pages/language/grant-revoke.md): The GRANT and REVOKE statements control all permissions in a Mendix project. They work on three targets: entities (CRUD access)… - [Demo Users](https://huaiyukhaw.github.io/mxcli-llms/pages/language/demo-users.md): Demo users are test accounts created for development and testing. They appear on the login screen when demo users are enabled… - [Navigation and Settings](https://huaiyukhaw.github.io/mxcli-llms/pages/language/navigation.md): Navigation defines how users move through a Mendix application. Each device type has its own navigation profile with a home page… - [Navigation Profiles](https://huaiyukhaw.github.io/mxcli-llms/pages/language/navigation-profiles.md): A navigation profile defines the navigation structure for a specific device type. Each profile has a default home page, optional… - [Home Pages and Menus](https://huaiyukhaw.github.io/mxcli-llms/pages/language/home-pages.md): Each navigation profile has a default home page, optional role-specific home pages, and a menu tree. These determine what users… - [Project Settings](https://huaiyukhaw.github.io/mxcli-llms/pages/language/project-settings.md): Project settings control application runtime behavior, server configurations, language settings, and workflow configuration. MDL… - [Workflows](https://huaiyukhaw.github.io/mxcli-llms/pages/language/workflows.md): Workflow Activity Types: - [Workflow Structure](https://huaiyukhaw.github.io/mxcli-llms/pages/language/workflow-structure.md): A workflow definition consists of a context parameter, an optional overview page, and a sequence of activities. Activities… - [Activity Types](https://huaiyukhaw.github.io/mxcli-llms/pages/language/workflow-activities.md): Workflow activities are the building blocks of a workflow definition. Each activity type serves a different purpose, from waiting… - [Workflow vs Microflow](https://huaiyukhaw.github.io/mxcli-llms/pages/language/workflow-vs-microflow.md): Workflows and microflows are both used to express business logic, but they serve different purposes and have different execution… - [Business Events](https://huaiyukhaw.github.io/mxcli-llms/pages/language/business-events.md): Business events enable event-driven integration between Mendix applications. An application can publish events when something… - [Event Services](https://huaiyukhaw.github.io/mxcli-llms/pages/language/event-services.md): An event service is a named container for business event messages. It defines the contract between publishers and consumers: what… - [Publishing and Consuming Events](https://huaiyukhaw.github.io/mxcli-llms/pages/language/pub-sub-events.md): Business events follow a publish-subscribe pattern. One application publishes events when significant actions occur, and other… - [Image Collections](https://huaiyukhaw.github.io/mxcli-llms/pages/language/image-collections.md): Image collections are Mendix’s way of bundling images (icons, logos, graphics) within a module. Each collection can contain… ## Part V: Project Tools - [Code Navigation](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/code-navigation.md): mxcli provides a suite of cross-reference navigation commands that let you explore relationships between elements in a Mendix… - [SHOW CALLERS / CALLEES](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/callers-callees.md): These commands trace the call graph of your Mendix project, showing what calls a given element and what that element calls. - [SHOW REFERENCES / IMPACT](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/references-impact.md): These commands provide broader reference tracking and impact analysis, helping you understand how changes propagate through a… - [SHOW CONTEXT](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/show-context.md): The SHOW CONTEXT command assembles the surrounding context of an element within its module and project hierarchy. This is… - [Full-Text Search](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/search.md): The SEARCH command performs full-text search across all strings and source code in a Mendix project. It searches element names… - [Catalog Queries](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/catalog.md): The catalog is a SQLite-based query system that provides SQL access to project metadata. It indexes all elements in your Mendix… - [REFRESH CATALOG](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/refresh-catalog.md): The REFRESH CATALOG command builds or rebuilds the catalog index from the current project state. The catalog must be refreshed… - [Available Tables](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/catalog-tables.md): The catalog provides several tables that can be queried using standard SQL syntax. Use SHOW CATALOG TABLES to list all available… - [SQL Queries](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/catalog-sql.md): The catalog supports standard SQL SELECT syntax for querying project metadata. Queries use the CATALOG. prefix to identify… - [Use Cases](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/catalog-use-cases.md): After running IMPORT FROM , verify the data was imported correctly: - [Linting and Reports](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/linting.md): mxcli includes an extensible linting framework that checks Mendix projects for best practice violations, security issues, naming… - [Built-in Rules](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/builtin-rules.md): mxcli ships with built-in rules implemented in Go. These rules are fast and always available. - [Starlark Rules](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/starlark-rules.md): In addition to the built-in Go rules, mxcli bundles 27 Starlark-based lint rules. Starlark is a Python-like language that allows… - [Writing Custom Rules](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/custom-rules.md): You can extend the linting framework by writing custom rules in Starlark, a Python-like language. Custom rules are placed in the… - [mxcli lint](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/mxcli-lint.md): The mxcli lint command runs all lint rules (built-in Go rules and Starlark rules) against a Mendix project and reports findings. - [mxcli report](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/mxcli-report.md): The mxcli report command generates a scored best practices report for a Mendix project. It runs all lint rules and aggregates… - [Terminal UI (TUI)](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/tui.md): mxcli includes a terminal-based interactive UI for browsing, inspecting, and modifying Mendix projects. Built with Bubble Tea … - [Navigation and Layout](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/tui-navigation.md): The TUI uses a Miller column layout for hierarchical browsing of Mendix projects. This design, inspired by file managers like… - [Command Palette](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/tui-commands.md): Press : to open the command palette at the bottom of the TUI. The command bar provides VS Code-style command execution with tab… - [MDL Execution](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/tui-execution.md): The TUI includes a built-in MDL execution view for running MDL statements directly from the terminal interface. Press x to open… - [Project Validation](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/tui-check.md): The TUI integrates with mx check to validate Mendix projects directly from the terminal interface. Errors, warnings, and… - [Session Management](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/tui-session.md): The TUI supports session persistence, allowing you to restore your previous browsing state when relaunching the tool. - [Testing](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/testing.md): mxcli includes a testing framework for validating Mendix projects using MDL test files. Tests verify that MDL scripts execute… - [Test Formats](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/test-formats.md): mxcli supports two test file formats: .test.mdl for pure MDL tests and .test.md for literate tests with documentation. - [Test Annotations](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/test-annotations.md): Test annotations control test execution and define expectations. They are placed in comments within .test.mdl files. - [Running Tests](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/running-tests.md): The mxcli test command executes test files and reports results. - [Playwright Testing](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/playwright.md): mxcli integrates with playwright-cli for automated UI testing of Mendix applications. This enables verification that generated… - [Diff](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/diff.md): mxcli provides two diff commands for comparing MDL scripts against project state and viewing local changes in MPR v2 projects. - [External SQL](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/external-sql.md): mxcli can connect to external databases (PostgreSQL, Oracle, SQL Server) for querying, schema exploration, data import, and… - [SQL CONNECT](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/sql-connect.md): The SQL CONNECT command establishes a named connection to an external database. - [Querying External Databases](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/sql-query.md): Once connected to an external database, you can explore its schema and run arbitrary SQL queries. - [IMPORT FROM](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/import-from.md): The IMPORT command imports data from an external database into a Mendix application’s PostgreSQL database. It supports column… - [Credential Management](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/credentials.md): mxcli provides secure credential management for external database connections. Credentials are isolated from session output… - [Database Connector Generation](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/connector-generation.md): The SQL GENERATE CONNECTOR command auto-generates Mendix Database Connector MDL from an external database schema. This creates… - [Docker Integration](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/docker.md): mxcli provides Docker integration for building, running, and validating Mendix applications without a local Mendix installation… - [mxcli docker build](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/docker-build.md): The mxcli docker build command builds a Mendix application using mxbuild in Docker, including support for PAD (Platform-Agnostic… - [mxcli docker check](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/docker-check.md): The mxcli docker check command validates a Mendix project without building it. It runs the Mendix mx check tool against the… - [mxcli docker run](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/docker-run.md): The mxcli docker run command runs a Mendix application in a Docker container, providing a local runtime environment for testing… - [OQL Queries](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/oql.md): The mxcli oql command executes OQL (Object Query Language) queries against a running Mendix runtime via the M2EE admin API. OQL… - [Dev Container Setup](https://huaiyukhaw.github.io/mxcli-llms/pages/tools/devcontainer.md): When using mxcli init , a .devcontainer/ configuration is also created. Opening the project in VS Code and choosing Reopen in… ## Part VI: IDE Integration - [VS Code Extension](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/vscode.md): The MDL extension for VS Code provides a rich editing experience for .mdl files, bringing IDE-level support for Mendix Definition… - [Installation](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/vscode-installation.md): There are three ways to install the VS Code MDL extension. - [Syntax Highlighting and Diagnostics](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/vscode-syntax.md): The VS Code extension provides three layers of language feedback: syntax highlighting, parse diagnostics, and semantic… - [Completion, Hover, Go-to-Definition](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/vscode-intellisense.md): The VS Code extension provides IntelliSense features powered by the MDL language server ( mxcli lsp --stdio ). - [Project Tree](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/vscode-project-tree.md): The VS Code extension provides a Mendix Project Tree view that mirrors the App Explorer in Mendix Studio Pro, allowing you to… - [Context Menu Commands](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/vscode-commands.md): The VS Code extension adds three commands to the editor context menu (right-click) for .mdl files. These commands provide quick… - [LSP Server](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/lsp.md): The MDL language server implements the Language Server Protocol (LSP), enabling any editor with LSP support to provide rich MDL… - [Protocol](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/lsp-protocol.md): The MDL language server uses the standard LSP stdio transport: JSON-RPC messages are exchanged over the process’s standard input… - [Capabilities](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/lsp-capabilities.md): The MDL language server supports the following LSP capabilities. - [Integration with Other Editors](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/lsp-editors.md): The MDL language server works with any editor that supports the Language Server Protocol. This page covers setup for editors… - [mxcli init & mxcli new](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/mxcli-init.md) - [What Gets Created](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/init-output.md): Running mxcli init (or mxcli new , which runs init automatically) creates the following directory structure in your Mendix… - [Customizing Skills](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/customizing-skills.md): The skill files generated by mxcli init are starting points. You can modify them to match your organization’s patterns, naming… - [Syncing with Updates](https://huaiyukhaw.github.io/mxcli-llms/pages/ide/syncing.md): When you upgrade mxcli to a newer version, the skills, commands, and VS Code extension bundled with it may have changed. This… ## Part VII: Go Library - [Quick Start](https://huaiyukhaw.github.io/mxcli-llms/pages/library/quickstart.md): The modelsdk-go library provides programmatic access to Mendix projects from Go code. It is the underlying library that powers… - [Installation](https://huaiyukhaw.github.io/mxcli-llms/pages/library/installation.md): There are three ways to install the VS Code MDL extension. - [Reading a Project](https://huaiyukhaw.github.io/mxcli-llms/pages/library/reading.md): Open a Mendix project file ( .mpr ) in read-only mode to inspect its structure and contents. - [Modifying a Project](https://huaiyukhaw.github.io/mxcli-llms/pages/library/modifying.md): Make changes to a Mendix project file using the writer API. Always back up your .mpr file before modifying it. - [Public API](https://huaiyukhaw.github.io/mxcli-llms/pages/library/public-api.md): The public API surface is defined in modelsdk.go at the package root. It provides convenience functions for opening projects and… - [Open / OpenForWriting](https://huaiyukhaw.github.io/mxcli-llms/pages/library/open.md): The two entry points for accessing a Mendix project from Go code. - [Reader Methods](https://huaiyukhaw.github.io/mxcli-llms/pages/library/reader-methods.md): Complete list of methods available on the reader returned by modelsdk.Open() . - [Writer Methods](https://huaiyukhaw.github.io/mxcli-llms/pages/library/writer-methods.md): Complete list of methods available on the writer returned by modelsdk.OpenForWriting() . - [Fluent API](https://huaiyukhaw.github.io/mxcli-llms/pages/library/fluent-api.md): The api/ package provides a high-level, fluent builder API inspired by the Mendix Web Extensibility Model API. It simplifies… - [ModelAPI Entry Point](https://huaiyukhaw.github.io/mxcli-llms/pages/library/model-api.md): The api package provides a high-level fluent API inspired by the Mendix Web Extensibility Model API. It wraps the lower-level… - [Builders](https://huaiyukhaw.github.io/mxcli-llms/pages/library/builders.md): The api package provides fluent builder types for constructing Mendix model elements. Each builder follows the pattern: create… - [Examples](https://huaiyukhaw.github.io/mxcli-llms/pages/library/fluent-examples.md): Sample output: ## Part VIII: MDL Statement Reference - [Connection Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/connection/index.md): Statements for opening and closing Mendix project files. - [OPEN PROJECT](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/connection/open-project.md) - [CLOSE PROJECT](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/connection/close-project.md) - [Query Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/index.md): Statements for browsing and inspecting project elements. Query statements are read-only and never modify the project. - [SHOW MODULES](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/show-modules.md) - [SHOW ENTITIES](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/show-entities.md) - [SHOW MICROFLOWS / NANOFLOWS](https://www.mxcli.org/reference/query/show-microflows.html) - [SHOW PAGES / SNIPPETS](https://www.mxcli.org/reference/query/show-pages.html) - [SHOW ENUMERATIONS](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/show-enumerations.md) - [SHOW ASSOCIATIONS](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/show-associations.md) - [SHOW CONSTANTS](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/show-constants.md) - [SHOW WORKFLOWS](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/show-workflows.md) - [SHOW BUSINESS EVENTS](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/show-business-events.md) - [SHOW IMAGE COLLECTION](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/show-image-collection.md) - [SHOW STRUCTURE](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/show-structure.md): The SHOW STRUCTURE command gives you a compact, tree-style overview of a project. It is the fastest way to understand the overall… - [SHOW WIDGETS](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/show-widgets.md) - [DESCRIBE ENTITY](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/describe-entity.md): To see the complete definition of an entity, including its attributes, types, and constraints: - [DESCRIBE MICROFLOW / NANOFLOW](https://www.mxcli.org/reference/query/describe-microflow.html) - [DESCRIBE PAGE / SNIPPET](https://www.mxcli.org/reference/query/describe-page.html) - [DESCRIBE ENUMERATION](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/describe-enumeration.md): Each value is followed by its caption (the display label shown to end users). - [DESCRIBE ASSOCIATION](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/describe-association.md) - [SEARCH](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/query/search.md) - [Domain Model Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/domain-model/index.md): Statements for creating, altering, and dropping domain model elements: entities, enumerations, associations, and constants. - [CREATE ENTITY](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/domain-model/create-entity.md): The most common type. Data is stored in the application database: - [ALTER ENTITY](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/domain-model/alter-entity.md): Modifies an existing entity without full replacement. - [DROP ENTITY](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/domain-model/drop-entity.md): Removes an entity from the domain model: - [CREATE ENUMERATION](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/domain-model/create-enumeration.md): Each value has an identifier (used in code) and a caption (displayed in the UI): - [DROP ENUMERATION](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/domain-model/drop-enumeration.md): Remove an enumeration entirely: - [CREATE ASSOCIATION](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/domain-model/create-association.md): A Reference association means each object on the FROM side can reference one object on the TO side. Multiple FROM objects can… - [DROP ASSOCIATION](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/domain-model/drop-association.md): Remove an association: - [CREATE CONSTANT](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/domain-model/create-constant.md) - [Microflow Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/microflow/index.md): Statements for creating and dropping microflows, nanoflows, and Java actions. - [CREATE MICROFLOW](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/microflow/create-microflow.md) - [CREATE NANOFLOW](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/microflow/create-nanoflow.md) - [DROP MICROFLOW / NANOFLOW](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/microflow/drop-microflow.md) - [CREATE JAVA ACTION](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/microflow/create-java-action.md) - [Page Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/page/index.md): Statements for creating, modifying, and dropping pages, snippets, and layouts. - [CREATE PAGE](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/page/create-page.md): The basic syntax for creating a page: - [CREATE SNIPPET](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/page/create-snippet.md): A snippet without parameters: - [ALTER PAGE / ALTER SNIPPET](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/page/alter-page.md): Modify an existing page or snippet’s widget tree in-place without full CREATE OR REPLACE . Works directly on the raw BSON tree… - [DROP PAGE / SNIPPET](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/page/drop-page.md) - [CREATE LAYOUT](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/page/create-layout.md) - [Security Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/security/index.md): Statements for managing project security: module roles, user roles, entity access rules, microflow and page access, demo users… - [CREATE MODULE ROLE](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/security/create-module-role.md) - [CREATE USER ROLE](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/security/create-user-role.md) - [GRANT](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/security/grant.md) - [REVOKE](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/security/revoke.md) - [CREATE DEMO USER](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/security/create-demo-user.md) - [Navigation Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/navigation/index.md): Statements for configuring application navigation profiles, home pages, login pages, and menu structures. - [ALTER NAVIGATION](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/navigation/alter-navigation.md) - [SHOW NAVIGATION](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/navigation/show-navigation.md) - [Workflow Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/workflow/index.md): Statements for creating, inspecting, and dropping workflows. - [CREATE WORKFLOW](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/workflow/create-workflow.md) - [DROP WORKFLOW](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/workflow/drop-workflow.md) - [OData and Integration Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/odata/index.md): Statements for managing OData services, external entities, and browsing service contracts. - [Integration Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/integration/index.md): Statements for managing JSON structures, import mappings, export mappings, and data transformers. - [CREATE JSON STRUCTURE](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/integration/create-json-structure.md) - [CREATE IMPORT MAPPING](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/integration/create-import-mapping.md) - [CREATE EXPORT MAPPING](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/integration/create-export-mapping.md) - [CREATE DATA TRANSFORMER](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/integration/create-data-transformer.md) - [Agent Editor Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/agent/index.md): Statements for managing AI agent editor documents. Requires Mendix 11.9+ and the AgentEditorCommons module. - [CREATE MODEL](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/agent/create-model.md) - [CREATE KNOWLEDGE BASE](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/agent/create-knowledge-base.md) - [CREATE CONSUMED MCP SERVICE](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/agent/create-consumed-mcp-service.md) - [CREATE AGENT](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/agent/create-agent.md) - [Business Event Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/business-event/index.md): Statements for managing business event services. - [CREATE BUSINESS EVENT SERVICE](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/business-event/create-business-event-service.md): Message attributes support standard Mendix types: - [DROP BUSINESS EVENT SERVICE](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/business-event/drop-business-event-service.md): Remove an event service: - [Image Collection Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/image-collection/index.md): Statements for creating, inspecting, and dropping image collections within modules. - [CREATE IMAGE COLLECTION](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/image-collection/create-image-collection.md): The image format is detected automatically from the file extension. Relative paths are resolved from the current working… - [DROP IMAGE COLLECTION](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/image-collection/drop-image-collection.md): Remove a collection and all its embedded images: - [SHOW / DESCRIBE IMAGE COLLECTION](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/image-collection/show-describe-image-collection.md) - [Catalog Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/catalog/index.md): The catalog is a SQLite database that caches project metadata for fast querying and cross-reference navigation. It is stored in… - [REFRESH CATALOG](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/catalog/refresh-catalog.md): The REFRESH CATALOG command builds or rebuilds the catalog index from the current project state. The catalog must be refreshed… - [SELECT FROM CATALOG](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/catalog/select-from-catalog.md) - [SHOW CALLERS / CALLEES](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/catalog/show-callers-callees.md): These commands trace the call graph of your Mendix project, showing what calls a given element and what that element calls. - [SHOW REFERENCES / IMPACT / CONTEXT](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/catalog/show-references-impact.md) - [SHOW CATALOG TABLES](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/catalog/show-catalog-tables.md) - [External SQL Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/external-sql/index.md): Direct SQL query execution against external databases (PostgreSQL, Oracle, SQL Server). Credentials are isolated – DSN never… - [SQL CONNECT](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/external-sql/sql-connect.md): The SQL CONNECT command establishes a named connection to an external database. - [SQL DISCONNECT](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/external-sql/sql-disconnect.md) - [SQL (query)](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/external-sql/sql-query.md) - [SQL GENERATE CONNECTOR](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/external-sql/sql-generate-connector.md) - [IMPORT FROM](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/external-sql/import-from.md): The IMPORT command imports data from an external database into a Mendix application’s PostgreSQL database. It supports column… - [Settings Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/settings/index.md): Statements for viewing and modifying Mendix project settings. Settings are organized into categories: MODEL (application-level… - [SHOW SETTINGS](https://www.mxcli.org/reference/settings/show-settings.html) - [ALTER SETTINGS](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/settings/alter-settings.md): Settings are organized into categories. Each ALTER SETTINGS command targets one category. - [Organization Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/organization/index.md): Statements for organizing project structure: creating modules and folders, and moving documents between them. - [CREATE MODULE](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/organization/create-module.md) - [CREATE FOLDER](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/organization/create-folder.md) - [DROP FOLDER](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/organization/drop-folder.md) - [MOVE](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/organization/move.md) - [MOVE FOLDER](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/organization/move-folder.md) - [JAR Dependency Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/jar-dependency/index.md): Statements for managing Maven/JAR dependencies declared in a module’s settings. These map to the Module Settings → Java… - [ALTER MODULE JAR DEPENDENCY](https://www.mxcli.org/reference/jar-dependency/alter-module-jar-dependency.html) - [LIST / DESCRIBE JAR DEPENDENCY](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/jar-dependency/list-describe-jar-dependency.md) - [Session Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/session/index.md): Statements for inspecting and configuring the current REPL session. - [SET](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/session/set.md) - [SHOW STATUS](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/session/show-status.md) ## Part IX: Architecture & Internals - [System Architecture](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/architecture.md): ModelSDK Go is a Go-native library for reading and modifying Mendix application projects ( .mpr files). It provides programmatic… - [Layer Diagram](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/layers.md): Detailed description of each architectural layer in ModelSDK Go. - [Package Structure](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/packages.md): Overview of the Go package organization and dependency relationships. - [Design Decisions](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/design-decisions.md): Key architectural decisions made during the development of ModelSDK Go, with rationale and trade-offs. - [MPR File Format](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/mpr-format.md): Mendix projects are stored in .mpr files, which are SQLite databases containing BSON-encoded model elements. This page provides… - [v1 vs v2](https://www.mxcli.org/internals/mpr-v1-v2.html) - [BSON Document Structure](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/bson-structure.md): How Mendix project documents are serialized in BSON format, including the role of $Type fields, nested structures, array version… - [Storage Names vs Qualified Names](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/storage-names.md): Mendix uses different “storage names” in BSON $Type fields than the “qualified names” shown in the TypeScript SDK documentation… - [Widget Template System](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/widget-templates.md): Pluggable widgets (DataGrid2, ComboBox, Gallery, etc.) require embedded template definitions for correct BSON serialization. This… - [Pluggable Widget Engine](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/widget-engine.md): The Pluggable Widget Engine replaces hardcoded Go builder functions with a data-driven system. Widget behavior is described in… - [MDL Parser](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/parser.md): The MDL parser translates SQL-like MDL (Mendix Definition Language) syntax into executable operations against Mendix project… - [ANTLR4 Grammar Design](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/antlr4-grammar.md): The MDL parser uses ANTLR4 with separate lexer and parser grammars. This page covers the design patterns and key decisions in the… - [Lexer - Parser - AST - Executor Pipeline](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/parser-pipeline.md): The complete parsing pipeline from raw MDL text through lexical analysis, parsing, AST construction, and execution against the… - [Adding New Statements](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/adding-statements.md): Step-by-step guide for adding a new MDL statement to the parser and executor. - [Catalog System](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/catalog.md): The catalog is an in-memory SQLite database that indexes Mendix project metadata for fast querying, full-text search, and… - [SQLite Schema](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/catalog-schema.md): The catalog uses an in-memory SQLite database with the following table definitions. - [FTS5 Full-Text Search](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/fts5.md): The catalog uses SQLite’s FTS5 extension to provide fast full-text search across all project content. - [Reference Tracking](https://huaiyukhaw.github.io/mxcli-llms/pages/internals/reference-tracking.md): The cross-reference tracking system powers the callers, callees, references, and impact analysis queries. It is built during… ## Guides - [Capabilities Overview](https://huaiyukhaw.github.io/mxcli-llms/pages/reference/capabilities.md): Everything mxcli can do, organized by use case. - [Customizing AI Generation](https://huaiyukhaw.github.io/mxcli-llms/pages/guides/customizing-ai.md): How to make AI assistants (Claude Code, OpenCode, Cursor, etc.) generate Mendix code that follows your team’s conventions. ## Part X: Appendixes - [MDL Quick Reference](https://huaiyukhaw.github.io/mxcli-llms/pages/appendixes/quick-reference.md): Complete syntax reference for MDL (Mendix Definition Language). This is the authoritative reference for all MDL statement syntax. - [Data Type Mapping Table](https://huaiyukhaw.github.io/mxcli-llms/pages/appendixes/data-type-mapping.md): Comprehensive mapping between MDL data types, Mendix internal types, and backend representations. - [Reserved Words](https://huaiyukhaw.github.io/mxcli-llms/pages/appendixes/reserved-words.md): Complete reference for MDL reserved words and quoting rules. - [Mendix Version Compatibility](https://huaiyukhaw.github.io/mxcli-llms/pages/appendixes/version-compatibility.md): Supported Mendix Studio Pro versions, feature availability matrix, and known limitations. - [Common Mistakes and Anti-Patterns](https://huaiyukhaw.github.io/mxcli-llms/pages/appendixes/common-mistakes.md): Frequent errors encountered when writing MDL scripts or using the SDK, with explanations of why they occur and how to avoid them. - [Error Messages Reference](https://huaiyukhaw.github.io/mxcli-llms/pages/appendixes/error-messages.md): Common error messages from Studio Pro, mxcli, and the MDL parser, with explanations and solutions. - [Glossary](https://huaiyukhaw.github.io/mxcli-llms/pages/appendixes/glossary.md): Mendix-specific terms and concepts for developers who are new to the Mendix platform. - [TypeScript SDK Equivalence](https://huaiyukhaw.github.io/mxcli-llms/pages/appendixes/sdk-equivalence.md): Mapping between the official Mendix Model SDK (TypeScript) and MDL/modelsdk-go equivalents. - [Changelog](https://huaiyukhaw.github.io/mxcli-llms/pages/appendixes/changelog.md): Version history and release notes for ModelSDK Go and the mxcli tool. ## Blog - [Blog](https://huaiyukhaw.github.io/mxcli-llms/pages/blog/index.md): News, release announcements, and demos from the mxcli team. - [Introducing mxcli](https://huaiyukhaw.github.io/mxcli-llms/pages/blog/introduction.md)