Enonic XP Server-Side Library Reference
Procedures
Step 1: Identify the Target Library
Determine which
/lib/xp/*library the query relates to.Map the library to the appropriate reference file:
Library Reference File lib-content references/lib-content-reference.mdlib-node references/lib-node-reference.mdlib-auth references/lib-auth-reference.mdlib-portal references/lib-portal-reference.mdlib-context, lib-event, lib-task references/lib-context-reference.mdlib-io, lib-mail, lib-repo, lib-schema references/lib-utilities-reference.mdlib-project, lib-export, lib-scheduler, lib-value references/lib-cms-reference.mdlib-i18n, lib-websocket references/lib-web-reference.mdlib-admin, lib-app, lib-auditlog, lib-cluster, lib-common, lib-grid, lib-vhost references/lib-platform-reference.mdIf the query spans multiple libraries or asks for a usage pattern, read
references/examples.md.
Step 2: Look Up the Function
- Read the identified reference file.
- Locate the specific function by name.
- Extract the following details:
- Signature: Function name and import path.
- Parameters: Name, type, required/optional, default value, description.
- Return type: Type and shape of the returned value.
- Example: Code snippet demonstrating correct usage.
Step 3: Provide the Answer
- Present the function signature with its import statement.
- Include the parameter table with types and descriptions.
- Include the return type and shape.
- Add a usage example. If the reference file includes one, use it. Otherwise, compose a minimal working example consistent with the documented signature.
- Note any version requirements (e.g., "Requires XP 7.8.0+").
Step 4: Handle Cross-Library Patterns
- If the query involves combining multiple libraries (e.g., "create content as admin"), read
references/examples.mdfor established patterns. - If a pattern is not documented, compose it by combining individual function signatures from the relevant reference files.
Step 5: Troubleshoot Common Issues
- If the query describes an error or unexpected behavior, read
references/troubleshooting.md. - Match the error message or symptom to a known issue.
- Provide the documented fix and any version-compatibility notes.
Step 6: Generate Import Blocks
- If the user needs a reusable import block, read
assets/enonic-imports.template.ts. - Uncomment only the libraries required for the user's controller.
Error Handling
- If a function is not found in any reference file, report that it may belong to a community library or a newer XP version not yet documented, and suggest checking https://developer.enonic.com/docs/xp/7.x/api.
- If the query relates to Guillotine/GraphQL, content type schemas, or Enonic CLI, indicate that this skill does not cover those topics.
- If a version mismatch is suspected, consult the version compatibility table in
references/troubleshooting.md.