enonic-sandbox-manager
Enonic CLI & Local Dev Environment Helper
Procedures
Step 1: Detect Workspace Context
- Execute
node scripts/find-enonic-targets.mjsfrom the skill root to scan the current workspace for Enonic project markers (.enonic,build.gradlewithcom.enonic.xpplugin,gradle.propertieswithxpVersion). - 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.mdfor installation instructions and guide through the appropriate method for the detected OS:- npm (any OS):
npm install -g @enonic/cli - macOS:
brew tap enonic/cli && brew install --no-quarantine enonic - Linux:
wget -qO- https://repo.enonic.com/public/com/enonic/cli/installer/cli-linux/1.0.0/cli-linux-1.0.0.sh | sh - Windows:
scoop bucket add enonic https://github.com/enonic/cli-scoop.git && scoop install enonic
- npm (any OS):
- After installation, verify with
enonic --version.
Step 3: Sandbox Management
More from webmaxru/enonic-agent-skills
enonic-webhook-integrator
Sets up Enonic XP event listeners, webhook configurations, and external system integrations triggered by content lifecycle events. Covers lib-event listener registration, node event filtering, outbound webhook configuration via com.enonic.xp.webhooks.cfg, custom HTTP service controllers for inbound webhooks, task-based async processing with lib-task, and outbound HTTP calls with lib-httpClient. Use when listening for content publish/create/update/delete events, configuring outbound webhooks, building HTTP service endpoints for inbound webhooks, or triggering async processing on content changes. Do not use for content querying, frontend component development, non-Enonic event systems, or GitHub webhook configuration.
103skill-creator
Authors and structures professional-grade agent skills following the agentskills.io spec. Use when creating new skill directories, drafting procedural instructions, or optimizing metadata for discoverability. Don't use for general documentation, non-agentic library code, or README files.
101enonic-api-reference
Enonic XP server-side JavaScript/TypeScript API reference for all /lib/xp/* libraries. Provides function signatures, parameters, return types, and usage examples for lib-content, lib-node, lib-auth, lib-portal, lib-context, lib-event, lib-task, lib-repo, lib-io, lib-mail, and lib-schema. Use when looking up Enonic XP library functions, parameter shapes, return types, or usage examples. Do not use for Guillotine GraphQL queries, content type schema definitions, Enonic CLI commands, or non-Enonic JavaScript APIs.
101agent-skill-deploy
>
101enonic-content-migration
Generates Enonic XP scripts for bulk content operations — creating, updating, querying, migrating, and transforming content using lib-content and lib-node APIs. Covers the query DSL (NoQL), aggregations, batch processing, task controllers for long-running operations, and export/import workflows. Use when writing bulk content creation, update, or deletion scripts, querying with NoQL syntax, migrating content between environments, running long-running task operations, or working with aggregations and paginated retrieval. Do not use for Guillotine GraphQL frontend queries, content type schema definitions, single contentLib.get() calls, or non-Enonic data migration tools.
101enonic-guillotine-query-builder
Composes, debugs, and optimizes Guillotine GraphQL queries for Enonic XP headless content delivery. Covers query construction, variable usage, filtering, aggregation, pagination, sorting, and TypeScript type generation from the auto-generated Guillotine schema. Use when writing or troubleshooting Guillotine queries, querying custom content types through GraphQL, or generating typed interfaces from Guillotine responses. Don't use for content type XML definitions, non-Enonic GraphQL APIs (Apollo, Hasura), server-side lib-content queries, or Guillotine deployment and CORS configuration.
101