AgentSkillsCN

idempiere-cli-setup-environment

使用 idempiere-cli 启动并验证 iDempiere 开发环境。适用于用户希望搭建全新的 iDempiere 开发机器,或检查其开发环境是否已准备就绪时使用。

SKILL.md
--- frontmatter
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:

bash
curl -fsSL https://raw.githubusercontent.com/devcoffee/idempiere-cli/main/install.sh | bash

Workflow

  1. Check environment: Run idempiere-cli doctor to validate that all required tools are installed.
  2. Fix missing tools: If tools are missing, run idempiere-cli doctor --fix to auto-install them.
  3. Bootstrap environment: Run idempiere-cli setup-dev-env to clone source, create database, and configure Eclipse.

Step 1: Doctor - Environment Validation

bash
# Check all required tools
idempiere-cli doctor

# Auto-fix missing required tools (Java, Maven, Git, PostgreSQL)
idempiere-cli doctor --fix

# Also install optional tools (Docker)
idempiere-cli doctor --fix --fix-optional

# Validate a plugin directory too
idempiere-cli doctor --dir /path/to/my-plugin

# JSON output for CI/CD
idempiere-cli doctor --json

What doctor checks

ToolRequiredPurpose
Java JDKYesCompilation and runtime
MavenYesBuild system
GitYesSource control
PostgreSQLYesDatabase (psql client)
DockerNoContainerized database

Auto-fix sources by platform

PlatformPackage Manager
macOSHomebrew
Linuxapt / SDKMAN
Windowswinget

Step 2: Setup Dev Env - Full Bootstrap

bash
# Full setup with Docker database (recommended)
idempiere-cli setup-dev-env --with-docker

# Use existing native PostgreSQL
idempiere-cli setup-dev-env

# Oracle database with Docker
idempiere-cli setup-dev-env --db=oracle --with-docker

# Custom configuration
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

# Skip steps
idempiere-cli setup-dev-env --skip-db          # Database already configured
idempiere-cli setup-dev-env --skip-build       # Source already built
idempiere-cli setup-dev-env --skip-workspace   # Headless server (no Eclipse)

# Non-interactive for CI/CD
idempiere-cli setup-dev-env --with-docker --non-interactive

# Dry run (validate parameters only)
idempiere-cli setup-dev-env --with-docker --dry-run

What setup-dev-env does

  1. Clones iDempiere source from GitHub
  2. Creates and configures database (PostgreSQL or Oracle, native or Docker)
  3. Imports seed data and applies migrations
  4. Downloads and configures Eclipse IDE
  5. Imports projects into Eclipse workspace
  6. Configures target platform and preferences

Important options

OptionDefaultDescription
--dbpostgresqlDatabase type: postgresql or oracle
--with-dockerfalseCreate database using Docker
--branchmasteriDempiere branch to checkout
--db-hostlocalhostDatabase host
--db-port5432Database port
--db-nameidempiereDatabase name
--db-useradempiereDatabase user
--db-passadempiereDatabase password
--db-admin-passpostgresDatabase admin password
--skip-dbfalseSkip database setup
--skip-buildfalseSkip Maven build
--skip-workspacefalseSkip Eclipse workspace setup
--include-restfalseAlso clone idempiere-rest repository
--install-copilotfalseInstall GitHub Copilot in Eclipse
--docker-postgres-nameidempiere-postgresDocker container name for PostgreSQL
--docker-postgres-version16PostgreSQL Docker version
--non-interactivefalseRun without prompting for confirmation
--continue-on-errorfalseContinue setup even if a step fails
--dry-runfalseValidate parameters only

Example Usage

If the user asks "I want to start developing iDempiere plugins", guide them through:

bash
# 1. Check environment
idempiere-cli doctor

# 2. Fix any missing tools
idempiere-cli doctor --fix

# 3. Bootstrap everything with Docker (easiest path)
idempiere-cli setup-dev-env --with-docker

If the user has an existing PostgreSQL installation:

bash
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.