Guides developers through Enonic CLI commands for sandbox management, project scaffolding, local development, app deployment, and CI/CD pipeline generation. Use when creating Enonic XP sandboxes, starting or stopping local instances, scaffolding projects from starters, running dev mode with hot-reload, deploying apps, or generating CI/CD workflows for Enonic apps. Don't use for writing XP application code (controllers, content types), querying via Guillotine or lib-content APIs, configuring non…
Guides developers through Enonic CLI commands for sandbox management, project scaffolding, local development, app deployment, and CI/CD pipeline generation.
Use when creating Enonic XP sandboxes, starting or stopping local instances, scaffolding projects from starters, running dev mode with hot-reload, deploying apps, or generating CI/CD workflows for Enonic apps.
Don't use for writing XP application code (controllers, content types), querying via Guillotine or lib-content APIs, configuring non-Enonic environments, or Docker/Kubernetes deployment of XP.
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Claude CodeNot declared
CursorNot declared
CodexNot declared
GitHub CopilotNot declared
WindsurfNot declared
Gemini CLINot declared
ClineNot declared
OpenCodeNot declared
Repository health
LicenseMIT
Default branchmain
Open issues0
Status
Active
Skill metadata
Parsed from SKILL.md frontmatter.
Version1.3
LicenseMIT
More metadata
author
webmaxru
version
1.3
Package contents
Files included with this skill beyond the listing page.
skill mdSKILL.md6,672 B
docsSUMMARY.md585 B
History
First seen on skills.sh
First recorded snapshot · 198 installs
SKILL.md
Enonic CLI & Local Dev Environment Helper
Procedures
Step 1: Detect Workspace Context
Execute node scripts/find-enonic-targets.mjs from the skill root to scan the current workspace for Enonic project markers (.enonic, build.gradle with com.enonic.xp plugin, gradle.properties with xpVersion).
If markers are found, note the project name, linked sandbox, and XP version from the output. Use these values as defaults for subsequent commands.
If no markers are found, treat the request as a greenfield setup and proceed to sandbox creation or project scaffolding as appropriate.
Step 2: Ensure CLI is Available
Verify the Enonic CLI is installed by running enonic --version.
If the command fails, read references/cli-reference.md for installation instructions and guide through the appropriate method for the detected OS:
When creating a sandbox, prompt for the XP version if not specified. Use -f flag for non-interactive execution when the version and name are known. Note: with -f, the sandbox auto-starts after creation unless --skip-start is also provided.
If the request mentions templates, list available templates or use -t <template> flag. Use --skip-template to create a bare sandbox with no pre-installed apps.
If the request mentions Docker, use -i <image> (e.g., enonic/xp:latest-sdk) to back the sandbox with a Docker image instead of a downloaded XP distribution. Requires docker on $PATH.
Step 4: Project Scaffolding
For new project creation, use the simplified command: enonic create <name> [-r <starter>] [-s <sandbox>] [-f]
Common starters include starter-vanilla, starter-headless, and starter-nextjs. Read references/cli-reference.md for the full list of options.
To link an existing project to a different sandbox: enonic project sandbox <name>
Ensure the project folder contains build.gradle and .enonic configuration after creation.
Step 5: Development Workflow
Determine the appropriate development command:
- Dev mode (hot-reload):enonic dev — starts the sandbox in detached mode and runs the app with file watching. Execute from the project root. - Build only:enonic project build - Deploy to sandbox:enonic project deploy [sandbox-name] [-c] — use -c for continuous deployment. - Install to running XP:enonic project install - Run tests:enonic project test - Clean build artifacts:enonic project clean - Arbitrary Gradle task:enonic project gradle <tasks>
If the sandbox is not running, start it first: enonic sandbox start <name> -d
To terminate dev mode, use Ctrl-C. The CLI will attempt to stop the detached sandbox automatically.
Step 6: App Management on Running XP
For managing applications on a running XP instance, read references/cli-reference.md for the XP app commands.
Authentication is required for XP commands. Use --cred-file <path> (XP 7.15+), --client-key <path> + --client-cert <path> for mTLS (XP 7.15+), or set ENONICCLIREMOTEUSER and ENONICCLIREMOTEPASS environment variables.
Step 7: CI/CD Pipeline Generation
Read assets/enonic-ci.template.yml for the GitHub Actions workflow template.
Customize the template based on the project:
- Set the correct XP version in the sandbox creation step. - Set the app name and Gradle build parameters. - Configure deployment targets (sandbox for staging, cloud for production).
Place the generated workflow file at .github/workflows/enonic-ci.yml in the project repository.
Step 8: Troubleshooting
If a sandbox fails to start or a deployment fails, read references/troubleshooting.md for common issues and resolutions.
Key diagnostic commands:
- enonic sandbox ls — check sandbox status and XP version. - enonic system info — check running XP instance details. - Check port 8080 (HTTP) and 5005 (debug) availability.
Read references/compatibility.md for CLI-to-XP version compatibility if version mismatch errors occur.
Error Handling
If scripts/find-enonic-targets.mjs returns no results, proceed with greenfield setup instructions rather than failing.
If enonic --version fails, guide through CLI installation per Step 2 before proceeding.
If sandbox creation fails with a version error, read references/compatibility.md and suggest a compatible XP version.
If port conflicts occur during sandbox start, read references/troubleshooting.md for resolution steps.
If enonic dev fails, verify the project has a Gradle dev task (present in all official starters) and that the linked sandbox exists and is not already running in another terminal.