
Enonic Controller Generator
Scaffolds Enonic XP controllers and their paired XML descriptors for pages, parts, layouts, and response processors. It detects your XP project structure, generates TypeScript or JavaScript controller files with proper lib-portal imports and HTTP handlers, writes the matching XML config with regions and form inputs, and creates Thymeleaf or Mustache view templates. It even wires up your build.gradle dependencies and site.xml processor entries. The wizard style prompting works well when you're spinning up new components and need the boilerplate done right. Saves you from the tedious file matching errors that happen when descriptor names don't line up with directory names, which anyone who's worked with XP knows is annoyingly easy to get wrong.
- skills.sh installs
- 477
- last updated
- Aug 21, 2026
Install
$ npx -y skills add webmaxru/enonic-agent-skills --skill enonic-controller-generator --agent claude-codeInstalls into .claude/skills of the current project.
Files
Enonic XP Controller Generator
Procedures
Step 1: Detect Enonic XP Project
- Execute
node scripts/find-enonic-targets.mjs <workspace-root>to locate the project root and existing components. - If the script exits with code 1 (no markers found), inform the user that no Enonic XP project was detected and stop.
- Record the
sitePathfrom stdout — all generated files target directories relative to this path.
Step 2: Determine Component Type
- Identify which component type the user requires:
- Page — renders a full page, may declare one or more regions.
- Part — a leaf component with a config form, no regions.
- Layout — organizes other components via named regions.
- Response processor — a site-level filter that modifies the HTTP response (e.g., inject scripts).
- If the request is ambiguous, ask the user to clarify the component type before proceeding.
Sponsors
Details
- Repository
- github.com/webmaxru/enonic-agent-skills
- Categories
- Frontend Development, Backend & APIs, AI & Agent Building, Automation & Workflows
- First seen
- Jun 3, 2026