Iron Proxy Gateway for NanoClaw
nanocoai/nanoclaw
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.
Build, run and validate a Mendix app in Docker from inside a devcontainer.
$ npx skills add mendixlabs/mxcli --skill docker-workflow -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mendixlabs/mxcli docker-workflow --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "docker-workflow" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/docker-workflow into .claude/skills/docker-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docker-workflow", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/docker-workflowType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mendixlabs/mxcli --skill docker-workflow -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mendixlabs/mxcli docker-workflow --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/mendix/docker-workflow .agents/skills/docker-workflow && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "docker-workflow" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/docker-workflow into .agents/skills/docker-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docker-workflow", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mendixlabs/mxcli --skill docker-workflow -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mendixlabs/mxcli docker-workflow --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/mendix/docker-workflow .cursor/skills/docker-workflow && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "docker-workflow" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/docker-workflow into .cursor/skills/docker-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docker-workflow", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mendixlabs/mxcli.git --path .claude/skills/mendix/docker-workflow--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mendixlabs/mxcli --skill docker-workflow -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mendixlabs/mxcli docker-workflow --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/mendix/docker-workflow .gemini/skills/docker-workflow && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "docker-workflow" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/docker-workflow into .gemini/skills/docker-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docker-workflow", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mendixlabs/mxcli docker-workflowInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mendixlabs/mxcli --skill docker-workflow -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/mendix/docker-workflow .github/skills/docker-workflow && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "docker-workflow" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/docker-workflow into .github/skills/docker-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docker-workflow", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mendixlabs/mxcli --skill docker-workflow -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mendixlabs/mxcli docker-workflow --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/mendix/docker-workflow .opencode/skills/docker-workflow && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "docker-workflow" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/docker-workflow into .opencode/skills/docker-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docker-workflow", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
docker-workflowBuild, 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. 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.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 20a6c89. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
dockerjqpodmanFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names these keys or tokens, usually read from environment variables:
RUNTIME_DEBUGGER_PASSWORDFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
# generate docker-compose.yml, .env, Dockerfile in .docker/** — admin console (password in `.docker/.env`)l defaults can be overridden in `.docker/.env`.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.
The full file from mendixlabs/mxcli at commit 20a6c89, republished under its Apache-2.0 licence (© mendixlabs). 1,510 words, ~4,365 tokens.
.claude/skills/docker-workflow/SKILL.md (or your agent's skills folder).This skill guides you through building, running, and testing a Mendix application using Docker inside a devcontainer.
Use this when:
The devcontainer created by mxcli init includes:
mxcli auto-detects Docker or Podman. To force Podman:
export MXCLI_CONTAINER_CLI=podmanWhen 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).
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.
The easiest way to get a Mendix app running in Docker:
# 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 --waitdocker 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.
Recommended: Use mxcli new to create a project with all tooling in one step:
mxcli new MyApp --version 11.8.0This 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):
# 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-appThe 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.
If you prefer more control, use the individual commands:
MxBuild and the Mendix runtime are auto-downloaded when needed, but you can pre-download:
# 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-runMxBuild is cached at ~/.mxcli/mxbuild/{version}/ and the runtime at ~/.mxcli/runtime/{version}/. Both are reused across builds.
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:
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/agentsImportant: 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:
rm -rf /path/to/project/.docker/build/lib/runtime
cp -r ~/.mxcli/runtime/$version/runtime /path/to/project/.docker/build/lib/runtime# generate docker-compose.yml, .env, Dockerfile in .docker/
mxcli docker init -p app.mprThis 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:
# 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# Quick validation using mx check
mxcli docker check -p app.mpr# 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-checkThis:
# 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 600The --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:
.docker/.env)# 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)"# 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"# Stop containers
mxcli docker down -p app.mpr
# Stop and remove database volumes
mxcli docker down -p app.mpr --volumesAfter making MDL changes:
# 1. apply MDL changes
mxcli exec changes.mdl -p app.mpr
# 2. Rebuild and restart (one command)
mxcli docker run -p app.mpr --fresh --waitOr step by step:
# 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.mprThe 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.
mxcli docker build compiles the project into .docker/build/ (the bind-mounted directory)mxcli docker reload rebuilds the PAD (same as docker build) then calls the M2EE reload_model action on port 8090/mxdevtools/ WebSocketNote: 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 + reloadFor logic changes (microflows, nanoflows, pages, security):
# 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-onlyOr combine build + reload in one command (no --model-only):
# 1. apply changes
mxcli exec changes.mdl -p app.mpr
# 2. build and reload in one step
mxcli docker reload -p app.mpr --skip-checkThe --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):
mxcli docker reload -p app.mpr --directFor 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.
# 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:
--cssdoes 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.
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:
| Instruction | Effect |
|---|---|
set_deployment_id | If the ID changes, triggers full browser reload |
reload | Forces full browser reload |
update_styling | Hot-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.
reload vs run| Scenario | Command | Why |
|---|---|---|
| Microflow/nanoflow logic | docker reload | No schema change, keeps data |
| Page layout or widget changes | docker reload | Runtime reloads pages from model |
| CSS/theme changes only | docker reload --css | Instant, no MxBuild needed |
| Security rule changes | docker reload | Runtime reloads security config |
| New entity or attribute (additive) | docker reload | Runtime applies DDL on reload |
| Destructive schema change (drop column, type change) | docker up --fresh | Runtime can't apply destructive DDL |
| First-time setup | docker run | Need containers + database |
| Database corruption or reset | docker run --fresh | Recreates volumes |
reload_model cannot handle destructive database schema changes. Signs you need a full restart with --fresh:
In these cases:
mxcli docker up -p app.mpr --fresh --detach --waitThe docker-compose.yml generated by mxcli docker init sets these environment variables for the Mendix container:
| Variable | Default | Description |
|---|---|---|
ADMIN_ADMINPASSWORD | AdminPassword1! | Admin console password (read by runtime) |
RUNTIME_DEBUGGER_PASSWORD | AdminPassword1! | Debugger password (required in non-Development mode) |
RUNTIME_PARAMS_DATABASETYPE | POSTGRESQL | Database type |
RUNTIME_PARAMS_DATABASEHOST | db:5432 | Hostname and port of the db service |
RUNTIME_PARAMS_DATABASENAME | mendix | Database name |
RUNTIME_PARAMS_DATABASEUSERNAME | mendix | Database user |
RUNTIME_PARAMS_DATABASEPASSWORD | mendix | Database password |
MX_LOG_LEVEL | info | Log 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.
| Problem | Solution |
|---|---|
docker: command not found | Rebuild devcontainer — docker-in-docker feature needs rebuild to activate. Or use Podman: export MXCLI_CONTAINER_CLI=podman |
mxbuild not found | Run mxcli setup mxbuild -p app.mpr to download from CDN |
JDK 21 not found | Rebuild devcontainer — JDK 21 should be pre-installed |
| Build fails with version error | Requires Mendix >= 11.6.1 for PAD support |
| No Dockerfile in PAD output | Normal for MxBuild 11.6.3+ — mxcli docker build auto-generates one |
| Runtime not found / runtimelauncher.jar missing | Run mxcli setup mxruntime -p app.mpr or let docker build auto-download |
StudioPro.conf.hbs does not exist | Runtime not linked into mxbuild — see "Runtime-to-MxBuild Copying" above |
ClassNotFoundException: EventProcessor | PAD has partial runtime bundles — copy full runtime into .docker/build/lib/runtime/ (see above) |
| Port already allocated | Check ports with ss -tlnp | grep 808 and use docker init --port-offset N --force |
' etc/default' is not a file | Dockerfile CMD passes config arg — docker build patches this automatically |
DatabasePassword has no value | Ensure 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 CHECKEVERYTHING | App in Production mode without security — set to Development mode or configure security |
| Port 8080 not accessible | Check forwardPorts in devcontainer.json includes 8080 |
| Database errors on startup | Try 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
Just SKILL.md in .claude/skills/mendix/docker-workflow of mendixlabs/mxcli.
Open the folder on GitHubat commit 20a6c89
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Docker Workflow this skillmendixlabs/mxcli | 128 | — | ~4.4k | Automated safety check: Notes | Apache-2.0 | |
| Iron Proxy Gateway for NanoClawnanocoai/nanoclaw | 31k | — | ~4.6k | Automated safety check: Notes | MIT | |
| GreptimeDB Dev Docker ImageGreptimeTeam/greptimedb | 6.7k | — | ~4k | Automated safety check: Notes | Apache-2.0 | |
| Senior DevOps Toolkitmaslennikov-ig/claude-code-orchestrator-kit | 260 | 6 repos | ~1.1k | Automated safety check: Notes | Custom licence | |
| LangBot Deployment Guidelangbot-app/LangBot | 18k | — | ~1.2k | Automated safety check: Notes | Apache-2.0 | |
| Build Openshell Mxc WindowsNVIDIA/OpenShell | 15k | — | ~4.9k | Automated safety check: Pass | Apache-2.0 |
nanocoai/nanoclaw
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.
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.
maslennikov-ig/claude-code-orchestrator-kit
Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…
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.
NVIDIA/OpenShell
Maintain and validate OpenShell's build-only Windows MSVC lane for x64 and ARM64.
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.
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…
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.
mendixlabs/mxcli
Author Mendix AI agent documents in MDL — Model, Knowledge Base, Consumed MCP Service and Agent, with variables, tools and multi-line prompts.
mendixlabs/mxcli
Run set-based INSERT, UPDATE and DELETE against Mendix entities through OQL statements, which the runtime supports and Studio Pro cannot author.
mendixlabs/mxcli
Define event-driven APIs over Kafka with Mendix business event services — publish and subscribe contracts, CREATE/DROP/DESCRIBE.
mendixlabs/mxcli
Search the Mendix Catalog platform service registry (catalog.mendix.com) from the CLI to find services published across an organisation.
Works with
Categories
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.
Docker Workflow fits situations like: asked to run the app in Docker; produce a deployable image.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.