Agent skill

Docker Workflow

by mendixlabs in mendixlabs/mxcli

Build, run and validate a Mendix app in Docker from inside a devcontainer.

Apache-2.0Auto-check: notesDevOps & Cloud

Install Docker Workflow

skills CLI
$ npx skills add mendixlabs/mxcli --skill docker-workflow -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mendixlabs/mxcli docker-workflow --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/mendix/docker-workflow .claude/skills/docker-workflow && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
docker-workflow
GitHub stars
128
Token cost
~4.4k tokens
SKILL.md length
1,510 words
Files
1
Skills in repo
72
Repo updated
First seen
Licence
Apache-2.0

At a glance

Build, run and validate a Mendix app in Docker from inside a devcontainer.

  • Works in 8 steps: Setup MxBuild and Runtime (first time… → Initialize Docker stack (first time only) → Check project for errors → …
  • Asked to run the app in Docker
  • SKILL.md covers When to Use This Skill, Prerequisites, Architecture and Quick Start: One Command, plus 6 more sections
  • Calls docker, jq and podman; needs RUNTIME_DEBUGGER_PASSWORD

What it does

Docker Workflow is an agent skill from mendixlabs/mxcli. Build, run and validate a Mendix app in Docker from inside a devcontainer. Use when asked to run the app in Docker or produce a deployable image. For the faster Docker-free loop, prefer run-local.

Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering Containers. It works with Docker. The repository describes itself as: Mendix cli tool, a headless way to work with Mendix projects. Enables Mendix projects for use with 3rd party agentic coding tools like Claude Code and Copilot. Includes a… The licence is Apache-2.0.

When your agent uses it

  • Asked to run the app in Docker
  • Produce a deployable image

Example prompts

  • “/docker-workflow”

Requirements

  • Docker

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Setup MxBuild and Runtime (first time only)
  2. Initialize Docker stack (first time only)
  3. Check project for errors
  4. Build the Portable App Distribution (PAD) package
  5. Start the application
  6. Query data with OQL
  7. Monitor and manage
  8. Stop the application

What it can do on your machine

Read from SKILL.md and the folder at commit 20a6c89. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • docker
    • jq
    • podman

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use docker, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • RUNTIME_DEBUGGER_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Docker Workflow loads about 4.4k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 1,510 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~53
When it runs · the whole SKILL.md, loaded when a task matches
~4.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:145
    # generate docker-compose.yml, .env, Dockerfile in .docker/
  • NoteMentions a .env fileSKILL.md:213
    ** — admin console (password in `.docker/.env`)
  • NoteMentions a .env fileSKILL.md:412
    l defaults can be overridden in `.docker/.env`.
  • NoteMentions a .env fileSKILL.md:414
    INPASSWORD`, not `M2EE_ADMIN_PASS`. The `.env` file defines `M2EE_ADMIN_PASS` as the single source, and `docker-compose.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from mendixlabs/mxcli at commit 20a6c89, republished under its Apache-2.0 licence (© mendixlabs). 1,510 words, ~4,365 tokens.

Download SKILL.mdSave it as .claude/skills/docker-workflow/SKILL.md (or your agent's skills folder).
name
docker-workflow
description
Build, run and validate a Mendix app in Docker from inside a devcontainer. Use when asked to run the app in Docker or produce a deployable image. For the faster Docker-free loop, prefer run-local.

Docker Build & Run Skill

This skill guides you through building, running, and testing a Mendix application using Docker inside a devcontainer.

When to Use This Skill

Use this when:

  • The user wants to run their Mendix app locally in Docker
  • The user wants to build a deployable container image
  • The user asks about testing or validating their app
  • The user needs to set up the Docker workflow for the first time

Prerequisites

The devcontainer created by mxcli init includes:

  • JDK 21 (Adoptium temurin-21-jdk) — required by MxBuild
  • Docker-in-Docker (or Podman-in-Podman) — container runtime inside the devcontainer
  • Port forwarding — ports 8080 (app) and 8090 (admin) auto-forwarded
Podman Support

mxcli auto-detects Docker or Podman. To force Podman:

bash
export MXCLI_CONTAINER_CLI=podman

When using mxcli init, pass --container-runtime podman to generate a devcontainer with Podman-in-Podman instead of Docker-in-Docker. Requires Podman 4.7+ (ships podman compose natively).

Architecture

host machine (browser at localhost:8080)
  └── Docker or Podman (host daemon)
      └── Devcontainer (VS Code)
          ├── mxcli, JDK 21, project files
          └── Docker/Podman daemon (docker-in-docker or podman-in-podman)
              └── docker/podman compose stack
                  ├── mendix container (8080, 8090)
                  │     └── /mendix ← volume mount from .docker/build/
                  └── postgres container (5432)

The Mendix container uses a volume mount (not COPY) — .docker/build/ is mounted directly into the container at /mendix. This means after rebuilding the PAD, you only need to restart the container (no Docker image rebuild). The generated Dockerfile is kept in the build output for production image builds.

Quick Start: One Command

The easiest way to get a Mendix app running in Docker:

bash
# Setup, build, and start in one command
mxcli docker run -p app.mpr

# with startup confirmation (waits for "runtime successfully started")
mxcli docker run -p app.mpr --wait

# Fresh start (removes database volumes first)
mxcli docker run -p app.mpr --fresh --wait

docker run handles everything: downloads MxBuild and runtime (if not cached), initializes the Docker stack (if needed), builds the PAD package, starts the containers, and optionally waits for the runtime to report successful startup.

Creating an Empty Mendix App

Recommended: Use mxcli new to create a project with all tooling in one step:

bash
mxcli new MyApp --version 11.8.0

This downloads MxBuild, creates a blank project, sets up AI tooling and Dev Container, and installs the correct Linux mxcli binary. Open the resulting folder in VS Code and reopen in Dev Container.

Manual approach (if you need more control):

bash
# Download mxbuild if not already cached
mxcli setup mxbuild --version 11.6.4

# create a blank project
mkdir -p /path/to/my-app
~/.mxcli/mxbuild/{version}/modeler/mx create-project --app-name MyApp --output-dir /path/to/my-app

# Initialize AI tooling
mxcli init /path/to/my-app

The mx create-project command creates an MPR v2 project with the standard Mendix module structure. You can then use the Docker workflow to build and run it.

Caveat: Blank projects have no demo users — login will fail until you configure security via MDL or Studio Pro. See manage-security for setting up demo users.

Step-by-Step Workflow

If you prefer more control, use the individual commands:

1. Setup MxBuild and Runtime (first time only)

MxBuild and the Mendix runtime are auto-downloaded when needed, but you can pre-download:

bash
# Download MxBuild matching the project version
mxcli setup mxbuild -p app.mpr

# Download Mendix runtime matching the project version
mxcli setup mxruntime -p app.mpr

# or specify version explicitly (without a project)
mxcli setup mxbuild --version 11.6.4
mxcli setup mxruntime --version 11.6.4

# or preview what would be downloaded
mxcli setup mxbuild -p app.mpr --dry-run
mxcli setup mxruntime -p app.mpr --dry-run

MxBuild is cached at ~/.mxcli/mxbuild/{version}/ and the runtime at ~/.mxcli/runtime/{version}/. Both are reused across builds.

Runtime-to-MxBuild Copying (PAD Build Prerequisite)

MxBuild 11.6.3+ expects runtime files (pad/, lib/, launcher/, agents/) inside its own runtime/ directory, but mxcli setup mxbuild only downloads the build tools (not the full runtime). If the PAD build fails with StudioPro.conf.hbs does not exist or ClassNotFoundException, copy the runtime directories into mxbuild:

bash
version=11.6.4  # replace with your version

# after downloading both mxbuild and mxruntime:
cp -r ~/.mxcli/runtime/$version/runtime/pad ~/.mxcli/mxbuild/$version/runtime/pad
cp -r ~/.mxcli/runtime/$version/runtime/lib ~/.mxcli/mxbuild/$version/runtime/lib
cp -r ~/.mxcli/runtime/$version/runtime/launcher ~/.mxcli/mxbuild/$version/runtime/launcher
cp -r ~/.mxcli/runtime/$version/runtime/agents ~/.mxcli/mxbuild/$version/runtime/agents

Important: The PAD build output may only include partial runtime bundles (5 jars instead of 354). If the runtime fails to start with ClassNotFoundException: com.mendix.container.support.EventProcessor, copy the full runtime into the PAD build output:

bash
rm -rf /path/to/project/.docker/build/lib/runtime
cp -r ~/.mxcli/runtime/$version/runtime /path/to/project/.docker/build/lib/runtime
2. Initialize Docker stack (first time only)
bash
# generate docker-compose.yml, .env, Dockerfile in .docker/
mxcli docker init -p app.mpr

This creates a .docker/ directory with Docker Compose configuration for the Mendix app + PostgreSQL.

Port conflicts: If default ports (8080/8090/5432) are already in use, check with ss -tlnp | grep -E '808|809|543' and use --port-offset N to shift all ports:

bash
# check which ports are occupied
ss -tlnp | grep -E '808[0-9]|809[0-9]|543[0-9]'

# use offset to avoid conflicts (e.g., offset 5 → 8085/8095/5437)
mxcli docker init -p app.mpr --port-offset 5
3. Check project for errors
bash
# Quick validation using mx check
mxcli docker check -p app.mpr
4. Build the Portable App Distribution (PAD) package
bash
# build (auto-downloads MxBuild if not cached)
mxcli docker build -p app.mpr

# Preview what would happen
mxcli docker build -p app.mpr --dry-run

# Skip pre-build check
mxcli docker build -p app.mpr --skip-check

This:

  1. Detects the Mendix version (requires >= 11.6.1)
  2. Locates or downloads MxBuild and JDK 21
  3. Runs MxBuild to produce a PAD package (ZIP)
  4. Extracts the PAD ZIP (cleans up old ZIPs after extraction)
  5. Generates a Dockerfile if MxBuild didn't produce one (11.6.3+)
  6. Downloads and injects the Mendix runtime if not in PAD output
  7. Applies version-aware patches (CMD fix, base image, healthcheck, etc.)
5. Start the application
bash
# Start in foreground (see logs directly)
mxcli docker up -p app.mpr

# Start in background
mxcli docker up -p app.mpr --detach

# Start in background and wait for runtime startup confirmation
mxcli docker up -p app.mpr --detach --wait

# Fresh start (removes database volumes)
mxcli docker up -p app.mpr --fresh

# Custom wait timeout (default: 300 seconds)
mxcli docker up -p app.mpr --detach --wait --wait-timeout 600

The --wait flag (requires --detach) tails the container logs and waits until the Mendix runtime reports "Runtime successfully started" or a timeout/failure is detected.

The app is available at:

6. Query data with OQL
bash
# run OQL queries against the live runtime (read-only preview mode)
mxcli oql -p app.mpr "select Name, Email from MyModule.Customer"

# json output for piping
mxcli oql -p app.mpr --json "SELECT count(c.ID) FROM MyModule.Order AS c" | jq '.[0]'

# Test a view entity query before embedding it in MDL
mxcli oql -p app.mpr "select datepart(YEAR, o.Date) as Year, sum(o.Total) as Revenue from Sales.Order as o GROUP by datepart(YEAR, o.Date)"
7. Monitor and manage
bash
# view container status
mxcli docker status -p app.mpr

# view logs
mxcli docker logs -p app.mpr
mxcli docker logs -p app.mpr --follow
mxcli docker logs -p app.mpr --tail 50

# open a shell in the container
mxcli docker shell -p app.mpr
mxcli docker shell -p app.mpr --exec "ls -la /mendix"
8. Stop the application
bash
# Stop containers
mxcli docker down -p app.mpr

# Stop and remove database volumes
mxcli docker down -p app.mpr --volumes

Common Workflow: Edit, Rebuild, Test

After making MDL changes:

bash
# 1. apply MDL changes
mxcli exec changes.mdl -p app.mpr

# 2. Rebuild and restart (one command)
mxcli docker run -p app.mpr --fresh --wait

Or step by step:

bash
# 1. apply MDL changes
mxcli exec changes.mdl -p app.mpr

# 2. Validate
mxcli docker check -p app.mpr

# 3. Rebuild
mxcli docker build -p app.mpr

# 4. restart with fresh database and wait for startup
mxcli docker up -p app.mpr --fresh --detach --wait

# 5. check it's running
mxcli docker status -p app.mpr

Hot Reload

The Mendix runtime supports hot reloading via the M2EE admin API. Because mxcli's Docker setup uses a bind mount (.docker/build/ → /mendix/), rebuilt PAD output is immediately visible to the running runtime — no Docker image rebuild or container restart needed.

How It Works
  1. mxcli docker build compiles the project into .docker/build/ (the bind-mounted directory)
  2. mxcli docker reload rebuilds the PAD (same as docker build) then calls the M2EE reload_model action on port 8090
  3. The runtime re-reads the model from disk in ~100ms
  4. Connected browsers auto-refresh via the /mxdevtools/ WebSocket

Note: By default, docker reload includes a full build step (~55s). Use --model-only to skip the build when you've already run docker build separately:

Typical hot reload cycle (with separate build):

mxcli exec script.mdl -p app.mpr                   # ~1s   — update model
mxcli docker build -p app.mpr                       # ~55s  — compile PAD
mxcli docker reload -p app.mpr --model-only         # ~100ms — reload only
# Total: ~56s (vs ~75s with full container restart)

One-step reload (build + reload combined):

mxcli exec script.mdl -p app.mpr                    # ~1s   — update model
mxcli docker reload -p app.mpr                      # ~56s  — build + reload
Model Reload

For logic changes (microflows, nanoflows, pages, security):

bash
# 1. apply changes
mxcli exec changes.mdl -p app.mpr

# 2. Rebuild PAD (skip pre-check for speed)
mxcli docker build -p app.mpr --skip-check

# 3. Hot reload the runtime (--model-only skips redundant rebuild)
mxcli docker reload -p app.mpr --model-only

Or combine build + reload in one command (no --model-only):

bash
# 1. apply changes
mxcli exec changes.mdl -p app.mpr

# 2. build and reload in one step
mxcli docker reload -p app.mpr --skip-check

The --direct flag connects to the admin API via HTTP instead of routing through docker compose exec (faster, requires the admin.addresses = ["*"] build patch which is applied automatically):

bash
mxcli docker reload -p app.mpr --direct
CSS-Only Reload

For theme/styling changes, SCSS must first be compiled by MxBuild into the PAD output. The --css flag skips the model reload step — it only pushes already-compiled CSS to browsers via WebSocket.

bash
# Correct workflow for SCSS/theme changes:
mxcli docker build -p app.mpr            # compile SCSS into PAD (~55s)
mxcli docker reload -p app.mpr --css     # push compiled CSS to browsers (~instant)

Note: --css does NOT compile SCSS. If you skip the build step, the browser will not reflect your SCSS changes. The "instant" refers to the browser update via WebSocket, not end-to-end time.

This calls the M2EE update_styling action, which pushes CSS changes to all connected browsers via the /mxdevtools/ WebSocket. Browsers update their stylesheets without a full page reload.

Show full SKILL.md (572 more words)Show less
The mxdevtools WebSocket

The Mendix runtime exposes a WebSocket at ws://localhost:8080/mxdevtools/ (on the app port). This is a server-push-only channel — the runtime pushes instructions to connected browsers:

InstructionEffect
set_deployment_idIf the ID changes, triggers full browser reload
reloadForces full browser reload
update_stylingHot-reloads CSS without page reload

When reload_model is called, a new set_deployment_id is pushed to browsers, triggering automatic refresh. This is why you don't need to manually refresh the browser after docker reload.

When to Use reload vs run
ScenarioCommandWhy
Microflow/nanoflow logicdocker reloadNo schema change, keeps data
Page layout or widget changesdocker reloadRuntime reloads pages from model
CSS/theme changes onlydocker reload --cssInstant, no MxBuild needed
Security rule changesdocker reloadRuntime reloads security config
New entity or attribute (additive)docker reloadRuntime applies DDL on reload
Destructive schema change (drop column, type change)docker up --freshRuntime can't apply destructive DDL
First-time setupdocker runNeed containers + database
Database corruption or resetdocker run --freshRecreates volumes
When Reload is NOT Sufficient

reload_model cannot handle destructive database schema changes. Signs you need a full restart with --fresh:

  • Removed an entity — the runtime won't drop the table
  • Removed an attribute — the runtime won't drop the column
  • Changed an attribute type (e.g., String → Integer) — the runtime can't ALTER COLUMN type
  • Runtime logs show DDL errors — look for "Could not execute DDL" or schema mismatch messages

In these cases:

bash
mxcli docker up -p app.mpr --fresh --detach --wait

Environment Variables

The docker-compose.yml generated by mxcli docker init sets these environment variables for the Mendix container:

VariableDefaultDescription
ADMIN_ADMINPASSWORDAdminPassword1!Admin console password (read by runtime)
RUNTIME_DEBUGGER_PASSWORDAdminPassword1!Debugger password (required in non-Development mode)
RUNTIME_PARAMS_DATABASETYPEPOSTGRESQLDatabase type
RUNTIME_PARAMS_DATABASEHOSTdb:5432Hostname and port of the db service
RUNTIME_PARAMS_DATABASENAMEmendixDatabase name
RUNTIME_PARAMS_DATABASEUSERNAMEmendixDatabase user
RUNTIME_PARAMS_DATABASEPASSWORDmendixDatabase password
MX_LOG_LEVELinfoLog level

All defaults can be overridden in .docker/.env.

Note: The runtime reads ADMIN_ADMINPASSWORD, not M2EE_ADMIN_PASS. The .env file defines M2EE_ADMIN_PASS as the single source, and docker-compose.yml maps it to both ADMIN_ADMINPASSWORD and RUNTIME_DEBUGGER_PASSWORD.

Troubleshooting

ProblemSolution
docker: command not foundRebuild devcontainer — docker-in-docker feature needs rebuild to activate. Or use Podman: export MXCLI_CONTAINER_CLI=podman
mxbuild not foundRun mxcli setup mxbuild -p app.mpr to download from CDN
JDK 21 not foundRebuild devcontainer — JDK 21 should be pre-installed
Build fails with version errorRequires Mendix >= 11.6.1 for PAD support
No Dockerfile in PAD outputNormal for MxBuild 11.6.3+ — mxcli docker build auto-generates one
Runtime not found / runtimelauncher.jar missingRun mxcli setup mxruntime -p app.mpr or let docker build auto-download
StudioPro.conf.hbs does not existRuntime not linked into mxbuild — see "Runtime-to-MxBuild Copying" above
ClassNotFoundException: EventProcessorPAD has partial runtime bundles — copy full runtime into .docker/build/lib/runtime/ (see above)
Port already allocatedCheck ports with ss -tlnp | grep 808 and use docker init --port-offset N --force
' etc/default' is not a fileDockerfile CMD passes config arg — docker build patches this automatically
DatabasePassword has no valueEnsure RUNTIME_PARAMS_DATABASE* env vars are in docker-compose.yml — re-run mxcli docker init --force
password should not be empty (debugger)Add RUNTIME_DEBUGGER_PASSWORD — re-run mxcli docker init --force
security level should be set to CHECKEVERYTHINGApp in Production mode without security — set to Development mode or configure security
Port 8080 not accessibleCheck forwardPorts in devcontainer.json includes 8080
Database errors on startupTry mxcli docker up -p app.mpr --fresh to reset volumes
OQL: "Action not found: preview_execute_oql"Runtime needs -Dmendix.live-preview=enabled JVM flag — re-run mxcli docker init --force to get the updated docker-compose.yml

© mendixlabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/mendix/docker-workflow of mendixlabs/mxcli.

Open the folder on GitHubat commit 20a6c89

Compare with similar skills

Docker Workflow next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Docker Workflow compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Docker Workflow this skillmendixlabs/mxcli128—~4.4kAutomated safety check: NotesApache-2.0
Iron Proxy Gateway for NanoClawnanocoai/nanoclaw31k—~4.6kAutomated safety check: NotesMIT
GreptimeDB Dev Docker ImageGreptimeTeam/greptimedb6.7k—~4kAutomated safety check: NotesApache-2.0
Senior DevOps Toolkitmaslennikov-ig/claude-code-orchestrator-kit2606 repos~1.1kAutomated safety check: NotesCustom licence
LangBot Deployment Guidelangbot-app/LangBot18k—~1.2kAutomated safety check: NotesApache-2.0
Build Openshell Mxc WindowsNVIDIA/OpenShell15k—~4.9kAutomated safety check: PassApache-2.0

Similar skills

  • Installs or refreshes Iron Proxy and its Iron Control web console for NanoClaw, with a local Docker setup, database, credentials and a human approval bridge.

    31k GitHub stars~4.6k tokensUpdated 2 days ago
    DevOps & CloudAuto-check: notes
  • GreptimeDB Dev Docker Image

    GreptimeTeam/greptimedb

    Packages a locally built GreptimeDB debug binary into a development-only Docker image for local-cluster testing, with an optional push to a dev registry.

    6.7k GitHub stars~4k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Senior DevOps Toolkit

    maslennikov-ig/claude-code-orchestrator-kit

    Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…

    260 GitHub starsUsed in 6 repos~1.1k tokens
    DevOps & CloudAuto-check: notes
  • LangBot Deployment Guide

    langbot-app/LangBot

    Deploys and configures a LangBot instance with Docker Compose or Kubernetes, covering config.yaml, the Box sandbox runtime, the plugin runtime and the global API key.

    18k GitHub stars~1.2k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Official

    Maintain and validate OpenShell's build-only Windows MSVC lane for x64 and ARM64.

    15k GitHub stars~4.9k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Omnigent Docker Compose Deploy

    omnigent-ai/omnigent

    Brings up the Omnigent server and Postgres as a Docker compose stack on any Docker host, and covers the Dockerfile's runtime and host build targets for extending it to a new platform.

    11k GitHub stars~1.3k tokensUpdated today
    DevOps & CloudAuto-check: notes

More from mendixlabs/mxcli

All 72 skills in this repo
  • Mendix Odata Pushdown

    mendixlabs/mxcli

    Push OData query options into the SQL of a Mendix resource served by a read microflow, so $filter, $orderby, $top, $skip, $count and the key lookup reach the database instead of being silently…

    128 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Mendix Vega Charts

    mendixlabs/mxcli

    Chart a Mendix app with Vega-Lite through a pluggable widget that takes the specification and the data as separate properties, so the model emits rows and never assembles a chart payload.

    128 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Agents

    mendixlabs/mxcli

    Author Mendix AI agent documents in MDL — Model, Knowledge Base, Consumed MCP Service and Agent, with variables, tools and multi-line prompts.

    128 GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed
  • Mendix Bulk Oql Dml

    mendixlabs/mxcli

    Run set-based INSERT, UPDATE and DELETE against Mendix entities through OQL statements, which the runtime supports and Studio Pro cannot author.

    128 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Business Events

    mendixlabs/mxcli

    Define event-driven APIs over Kafka with Mendix business event services — publish and subscribe contracts, CREATE/DROP/DESCRIBE.

    128 GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Catalog Search

    mendixlabs/mxcli

    Search the Mendix Catalog platform service registry (catalog.mendix.com) from the CLI to find services published across an organisation.

    128 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed

Works with

Categories

Questions about Docker Workflow

What does Docker Workflow do?

Build, run and validate a Mendix app in Docker from inside a devcontainer. Docker Workflow is an agent skill from mendixlabs/mxcli. Build, run and validate a Mendix app in Docker from inside a devcontainer.

When should I use Docker Workflow?

Docker Workflow fits situations like: asked to run the app in Docker; produce a deployable image.

How do I install Docker Workflow in Claude Code?

Run `npx skills add mendixlabs/mxcli --skill docker-workflow -a claude-code`. Or copy the skill folder (.claude/skills/mendix/docker-workflow in mendixlabs/mxcli) into .claude/skills/docker-workflow in your project. Claude Code loads it when a task matches its description.

How do I install Docker Workflow in Codex?

Run `npx skills add mendixlabs/mxcli --skill docker-workflow -a codex`. Or copy the skill folder (.claude/skills/mendix/docker-workflow in mendixlabs/mxcli) into .agents/skills/docker-workflow in your project. Codex loads it when a task matches its description.

Can I use Docker Workflow in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mendixlabs/mxcli --skill docker-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/docker-workflow, .gemini/skills/docker-workflow, .github/skills/docker-workflow and .opencode/skills/docker-workflow in your project.

What does Docker Workflow need to run?

Going by SKILL.md and its folder, Docker Workflow needs the command-line tools its instructions call (docker, jq and podman) and credentials named RUNTIME_DEBUGGER_PASSWORD. Our summary lists: Docker.

Does Docker Workflow access the network?

SKILL.md contains no URLs. Its commands use docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Docker Workflow safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Docker Workflow use?

Docker Workflow is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Docker Workflow use?

About 4.4k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Docker Workflow?

Skills that share tags, products or a category with Docker Workflow: Iron Proxy Gateway for NanoClaw (nanocoai/nanoclaw, 31k stars), GreptimeDB Dev Docker Image (GreptimeTeam/greptimedb, 6.7k stars), Senior DevOps Toolkit (maslennikov-ig/claude-code-orchestrator-kit, 260 stars) and LangBot Deployment Guide (langbot-app/LangBot, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Docker Workflow?

mendixlabs (a GitHub organization) maintains it in mendixlabs/mxcli, which has 128 GitHub stars. The repository holds 72 skills in this directory. The repository was last updated on October 7, 2026.

Source: mendixlabs/mxcli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.