Create Jmix projects with an interactive wizard or from scripts and AI agents, using the same project templates as Jmix Studio.
macOS / Linux
curl -fsSL https://github.com/jmix-framework/jmix-cli/releases/latest/download/install.sh | bashWindows (PowerShell)
irm https://github.com/jmix-framework/jmix-cli/releases/latest/download/install.ps1 | iexThe installer starts the wizard. The CLI bundles its own Java runtime;
building generated projects needs a compatible JDK, which the wizard can help install.
On macOS and Linux, restart the shell after installation or run
export PATH="$HOME/.local/bin:$PATH" before invoking jmix in the current shell.
jmixChoose a template, languages, add-ons, and project location. Follow the keyboard hints at the bottom of each step. In text input, use Ctrl+Q to quit.
For scripts and AI agents, pass --non-interactive:
jmix new demo --non-interactive \
--template application \
--locales en,de \
--addons quartz,german-translation
cd demo
./gradlew bootRunNon-interactive mode creates ./<name> and installs no additional add-ons unless
--addons is supplied. Use --path for another location, --no-git to skip
Git initialization, and --no-agents-toolkit to skip the Agent Toolkit.
On Windows, run gradlew.bat bootRun.
Commercial add-ons, marked with [$] in the wizard, require a
Jmix subscription.
Selecting one, such as --addons business-calendars, automatically adds the premium
Jmix repository. Before generation, configure ~/.gradle/gradle.properties: use
the part of your license key before the dash for premiumRepoUser, and the part
after the dash for premiumRepoPass. For scripts and CI, these values can also be
supplied through the ORG_GRADLE_PROJECT_premiumRepoUser and
ORG_GRADLE_PROJECT_premiumRepoPass environment variables.
See commercial add-on setup and troubleshooting.
Every run ends by printing the jmix new ... --non-interactive command that
recreates the project with the same settings, ready to paste into a script.
Generated projects include Jmix Agent Toolkit
guidelines and skills for supported AI coding assistants. The wizard's setup
checklist can leave it out, as can --no-agents-toolkit.
jmix new --help # all project options
jmix update # update the installed CLI
jmix --no-update new # skip the startup update checkProject options apply to jmix new [name]. The name is required with
--non-interactive; otherwise the wizard asks for it. Defaults below describe
non-interactive generation; the wizard lets you choose values interactively.
| Option | Description | Default |
|---|---|---|
--template <id> |
Project template, e.g. application or application-kotlin. |
First template in the selected catalog |
--jmix-version <version> |
Jmix platform version. | Latest stable version |
--package <name> |
Base Java/Kotlin package. | Derived from the template prefix and project name |
--project-id <id> |
Prefix for entity, table and bean names; up to 7 characters. | Template default; required if the template demands it |
--theme <name> |
UI theme: aura or lumo, where supported by the template and Jmix version. |
aura for Jmix 3; lumo for Jmix 2; omitted for templates without a theme |
--locales <codes> |
Comma-separated locale codes, e.g. en,ru. The first is the default locale. |
en |
--addons <ids> |
Comma-separated compatible add-on IDs, e.g. quartz,bpm. Commercial add-ons require a license and premium repository credentials. |
No additional add-ons |
--path <directory> |
Target directory. | ./<name> |
--repository <url> |
Maven repository for templates and the generated project. | https://global.repo.jmix.io/repository/public |
--no-git |
Skip Git initialization and staging of generated files. | Git enabled when available |
--no-agents-toolkit |
Skip Agent Toolkit guidelines and local skills. | Toolkit enabled |
--include-unstable |
Include RC, beta and snapshot versions in version selection. | Stable versions only |
--force |
Allow generation into a non-empty directory without confirmation; existing files may be overwritten. | Confirmation required in the wizard; rejected in non-interactive mode |
--non-interactive |
Use options and defaults without prompting. | Interactive wizard |
--no-update |
Skip the automatic startup update check. Also accepted by jmix and jmix update; explicit updates still run. |
Automatic checks enabled for installed builds outside CI |
-h, --help |
Show help and exit. Available for jmix, jmix new and jmix update. |
— |
Installed builds check for updates automatically. Set JMIX_CLI_NO_AUTO_UPDATE=1
to disable checks; they are also skipped when CI is set or running from source.
Templates and the add-on catalog are cached under ~/.jmix/. Offline use requires
cached templates and, when installing add-ons, the relevant Gradle dependencies.
Use --repository to select a custom template repository.
JDK 17+ is needed to launch Gradle; the build provisions its JDK 25 toolchain.
git clone https://github.com/jmix-framework/jmix-cli.git
cd jmix-cli
./run.sh # launch from source on macOS/Linux
./gradlew build # build and test
JMIX_CLI_IT=true ./gradlew test # network-backed integration tests- Contributor guide — conventions, feature docs, and verification.
- Distribution guide — platform bundles and releases.
- Demo recording — reproduce the README GIF with VHS.
