| name | idempiere-cli-setup-environment |
| description | Bootstrap and validate an iDempiere development environment using idempiere-cli. Use when the user wants to set up a new iDempiere development machine or check if their environment is ready. |
iDempiere CLI - Setup Development Environment
This skill guides you through setting up a complete iDempiere development environment using idempiere-cli.
Prerequisites
The user must have idempiere-cli installed. If not, install it with:
curl -fsSL https://raw.githubusercontent.com/devcoffee/idempiere-cli/main/install.sh | bash
Workflow
- Check environment: Run
idempiere-cli doctor to validate that all required tools are installed.
- Fix missing tools: If tools are missing, run
idempiere-cli doctor --fix to auto-install them.
- Configure CLI: Run
idempiere-cli config init to set up defaults and AI provider (optional).
- Bootstrap environment: Run
idempiere-cli setup-dev-env to clone source, create database, and configure Eclipse.
Step 1: Doctor - Environment Validation
idempiere-cli doctor
idempiere-cli doctor --fix
idempiere-cli doctor --fix-optional
idempiere-cli doctor --fix-optional=all
idempiere-cli doctor --fix-optional=docker
idempiere-cli doctor --fix-optional=docker,maven
idempiere-cli doctor --dir /path/to/my-plugin
idempiere-cli doctor --json
What doctor checks
| Tool | Required | Purpose |
|---|
| Java JDK | Yes | Compilation and runtime |
| Maven | Yes | Build system |
| Git | Yes | Source control |
| PostgreSQL | Yes | Database (psql client) |
| Docker | No | Containerized database |
Auto-fix sources by platform
| Platform | Package Manager |
|---|
| macOS | Homebrew |
| Linux | apt / SDKMAN |
| Windows | winget |
Step 2: Setup Dev Env - Full Bootstrap
idempiere-cli setup-dev-env --with-docker
idempiere-cli setup-dev-env
idempiere-cli setup-dev-env --db=oracle --with-docker
idempiere-cli setup-dev-env \
--branch=release-12 \
--db-host=localhost \
--db-port=5432 \
--db-name=idempiere \
--db-user=adempiere \
--db-pass=adempiere \
--db-admin-pass=postgres
idempiere-cli setup-dev-env --skip-db
idempiere-cli setup-dev-env --skip-build
idempiere-cli setup-dev-env --skip-workspace
idempiere-cli setup-dev-env --with-docker --non-interactive
idempiere-cli setup-dev-env --with-docker --dry-run
What setup-dev-env does
- Clones iDempiere source from GitHub
- Creates and configures database (PostgreSQL or Oracle, native or Docker)
- Imports seed data and applies migrations
- Downloads and configures Eclipse IDE
- Imports projects into Eclipse workspace
- Configures target platform and preferences
Important options
| Option | Default | Description |
|---|
--db | postgresql | Database type: postgresql or oracle |
--with-docker | false | Create database using Docker |
--branch | master | iDempiere branch to checkout |
--db-host | localhost | Database host |
--db-port | 5432 | Database port |
--db-name | idempiere | Database name |
--db-user | adempiere | Database user |
--db-pass | adempiere | Database password |
--db-admin-pass | postgres | Database admin password |
--skip-db | false | Skip database setup |
--skip-build | false | Skip Maven build |
--skip-workspace | false | Skip Eclipse workspace setup |
--include-rest | false | Also clone idempiere-rest repository |
--install-copilot | false | Install GitHub Copilot in Eclipse |
--docker-postgres-name | idempiere-postgres | Docker container name for PostgreSQL |
--docker-postgres-version | 16 | PostgreSQL Docker version |
--non-interactive | false | Run without prompting for confirmation |
--continue-on-error | false | Continue setup even if a step fails |
--dry-run | false | Validate parameters only |
Example Usage
If the user asks "I want to start developing iDempiere plugins", guide them through:
idempiere-cli doctor
idempiere-cli doctor --fix
idempiere-cli config init
idempiere-cli setup-dev-env --with-docker
If the user has an existing PostgreSQL installation:
idempiere-cli setup-dev-env --db-admin-pass=mypostgrespass
Notes
setup-dev-env requires a graphical environment (display) for Eclipse workspace setup. Use --skip-workspace on headless servers.
- Docker is the recommended approach for database setup as it requires no manual PostgreSQL/Oracle configuration.
- The command is idempotent: it can detect existing source directories and Docker containers.