@jahia/agentic 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/claude/.claude/rules/jahia.md +13 -40
- package/dist/claude/.claude/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/claude/.claude/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/claude/.claude/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/claude/.claude/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/claude/.claude/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/claude/.claude/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/claude/.claude/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/claude/.claude/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/claude/.claude/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/claude/.claude/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/claude/.claude/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/claude/.claude/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/claude/CLAUDE.md +14 -41
- package/dist/codex/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/codex/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/codex/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/codex/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/codex/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/codex/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/codex/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/codex/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/codex/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/codex/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/codex/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/codex/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/codex/AGENTS.md +15 -42
- package/dist/copilot/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/copilot/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/copilot/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/copilot/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/copilot/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/copilot/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/copilot/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/copilot/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/copilot/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/copilot/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/copilot/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/copilot/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/copilot/AGENTS.md +15 -42
- package/dist/cursor/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/cursor/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/cursor/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/cursor/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/cursor/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/cursor/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/cursor/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/cursor/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/cursor/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/cursor/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/cursor/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/cursor/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/cursor/.cursor/rules/jahia.mdc +13 -40
- package/dist/gemini/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/gemini/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/gemini/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/gemini/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/gemini/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/gemini/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/gemini/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/gemini/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/gemini/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/gemini/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/gemini/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/gemini/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/gemini/AGENTS.md +15 -42
- package/dist/gemini/GEMINI.md +2 -2
- package/dist/index.js +13 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/opencode/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/opencode/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/opencode/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/opencode/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/opencode/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/opencode/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/opencode/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/opencode/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/opencode/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/opencode/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/opencode/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/opencode/AGENTS.md +15 -42
- package/dist/windsurf/.windsurf/rules/jahia.md +13 -40
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/windsurf/.windsurf/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/windsurf/.windsurf/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/windsurf/.windsurf/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/windsurf/.windsurf/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/windsurf/AGENTS.md +15 -42
- package/package.json +1 -1
- package/dist/claude/.claude/skills/jahia/SKILL.md +0 -144
- package/dist/claude/.claude/skills/jahia-content/SKILL.md +0 -157
- package/dist/claude/.claude/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/claude/.claude/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/claude/.claude/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/claude/.claude/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/claude/.claude/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/claude/.claude/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/claude/.claude/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/claude/.claude/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/claude/.claude/skills/jahia-dev/SKILL.md +0 -124
- package/dist/claude/.claude/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/claude/.claude/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/claude/.claude/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/claude/.claude/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/claude/.claude/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/claude/.claude/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/claude/.claude/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/claude/.claude/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/claude/.claude/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/claude/.claude/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/claude/.claude/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/claude/.claude/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/claude/.claude/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/claude/.claude/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/claude/.claude/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/claude/.claude/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/claude/.claude/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/claude/.claude/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/claude/.claude/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/claude/.claude/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/claude/.claude/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/claude/.claude/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/claude/.claude/skills/jahia-review-java/references/code-review-output.md +0 -121
- package/dist/codex/.agents/skills/jahia/SKILL.md +0 -144
- package/dist/codex/.agents/skills/jahia-content/SKILL.md +0 -157
- package/dist/codex/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/codex/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/codex/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/codex/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/codex/.agents/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/codex/.agents/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/codex/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/codex/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/codex/.agents/skills/jahia-dev/SKILL.md +0 -124
- package/dist/codex/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/codex/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/codex/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/codex/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/codex/.agents/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/codex/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/codex/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/codex/.agents/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/codex/.agents/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/codex/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/codex/.agents/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/codex/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/codex/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/codex/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/codex/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/codex/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/codex/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/codex/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/codex/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/codex/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/codex/.agents/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/codex/.agents/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/codex/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
- package/dist/copilot/.agents/skills/jahia/SKILL.md +0 -144
- package/dist/copilot/.agents/skills/jahia-content/SKILL.md +0 -157
- package/dist/copilot/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/copilot/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/copilot/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/copilot/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/copilot/.agents/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/copilot/.agents/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/copilot/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/copilot/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/copilot/.agents/skills/jahia-dev/SKILL.md +0 -124
- package/dist/copilot/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/copilot/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/copilot/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/copilot/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/copilot/.agents/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/copilot/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/copilot/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/copilot/.agents/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/copilot/.agents/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/copilot/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/copilot/.agents/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/copilot/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/copilot/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/copilot/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/copilot/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/copilot/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/copilot/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/copilot/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/copilot/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/copilot/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/copilot/.agents/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/copilot/.agents/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/copilot/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
- package/dist/cursor/.agents/skills/jahia/SKILL.md +0 -144
- package/dist/cursor/.agents/skills/jahia-content/SKILL.md +0 -157
- package/dist/cursor/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/cursor/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/cursor/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/cursor/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/cursor/.agents/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/cursor/.agents/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/cursor/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/cursor/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/cursor/.agents/skills/jahia-dev/SKILL.md +0 -124
- package/dist/cursor/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/cursor/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/cursor/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/cursor/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/cursor/.agents/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/cursor/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/cursor/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/cursor/.agents/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/cursor/.agents/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/cursor/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/cursor/.agents/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/cursor/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/cursor/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/cursor/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/cursor/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/cursor/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/cursor/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/cursor/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/cursor/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/cursor/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/cursor/.agents/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/cursor/.agents/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/cursor/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
- package/dist/gemini/.agents/skills/jahia/SKILL.md +0 -144
- package/dist/gemini/.agents/skills/jahia-content/SKILL.md +0 -157
- package/dist/gemini/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/gemini/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/gemini/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/gemini/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/gemini/.agents/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/gemini/.agents/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/gemini/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/gemini/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/gemini/.agents/skills/jahia-dev/SKILL.md +0 -124
- package/dist/gemini/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/gemini/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/gemini/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/gemini/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/gemini/.agents/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/gemini/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/gemini/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/gemini/.agents/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/gemini/.agents/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/gemini/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/gemini/.agents/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/gemini/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/gemini/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/gemini/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/gemini/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/gemini/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/gemini/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/gemini/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/gemini/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/gemini/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/gemini/.agents/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/gemini/.agents/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/gemini/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
- package/dist/opencode/.agents/skills/jahia/SKILL.md +0 -144
- package/dist/opencode/.agents/skills/jahia-content/SKILL.md +0 -157
- package/dist/opencode/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/opencode/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/opencode/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/opencode/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/opencode/.agents/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/opencode/.agents/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/opencode/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/opencode/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/opencode/.agents/skills/jahia-dev/SKILL.md +0 -124
- package/dist/opencode/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/opencode/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/opencode/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/opencode/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/opencode/.agents/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/opencode/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/opencode/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/opencode/.agents/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/opencode/.agents/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/opencode/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/opencode/.agents/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/opencode/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/opencode/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/opencode/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/opencode/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/opencode/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/opencode/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/opencode/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/opencode/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/opencode/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/opencode/.agents/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/opencode/.agents/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/opencode/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
- package/dist/windsurf/.windsurf/skills/jahia/SKILL.md +0 -144
- package/dist/windsurf/.windsurf/skills/jahia-content/SKILL.md +0 -157
- package/dist/windsurf/.windsurf/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/windsurf/.windsurf/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/windsurf/.windsurf/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/windsurf/.windsurf/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/windsurf/.windsurf/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/windsurf/.windsurf/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/windsurf/.windsurf/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/windsurf/.windsurf/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/windsurf/.windsurf/skills/jahia-dev/SKILL.md +0 -124
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/windsurf/.windsurf/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/windsurf/.windsurf/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/windsurf/.windsurf/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/windsurf/.windsurf/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/windsurf/.windsurf/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/windsurf/.windsurf/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/windsurf/.windsurf/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/windsurf/.windsurf/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/windsurf/.windsurf/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/windsurf/.windsurf/skills/jahia-review-java/references/code-review-output.md +0 -121
|
@@ -79,36 +79,28 @@ Follow the instructions on that page for the user's platform, then return here t
|
|
|
79
79
|
|
|
80
80
|
## Step 4 — Create a new site in Jahia
|
|
81
81
|
|
|
82
|
-
Once the module is deployed to Jahia, create the site via
|
|
82
|
+
Once the module is deployed to Jahia, create the site via MCP:
|
|
83
83
|
|
|
84
|
-
> ⚠️ **CRITICAL: syntax is `- createSite: ""`** — the empty string `""` after the colon is **mandatory**. Without it, Jahia returns HTTP 200 but silently creates nothing. Using `- createSite:` with nested properties is **wrong and will fail silently**.
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
MODULE_NAME=<module-name> # value of "name" in package.json
|
|
88
|
-
|
|
89
|
-
cat > /tmp/create-site.yaml <<EOF
|
|
90
|
-
- createSite: ""
|
|
91
|
-
siteKey: ${MODULE_NAME}
|
|
92
|
-
title: "My Site"
|
|
93
|
-
defaultLanguage: en
|
|
94
|
-
serverName: localhost
|
|
95
|
-
templateSet: ${MODULE_NAME}
|
|
96
|
-
EOF
|
|
97
|
-
|
|
98
|
-
curl -u root:root1234 -X POST -H "Content-Type: application/yaml" \
|
|
99
|
-
--data-binary @/tmp/create-site.yaml \
|
|
100
|
-
http://localhost:8080/modules/api/provisioning
|
|
101
84
|
```
|
|
85
|
+
tool: site.create
|
|
86
|
+
args: {
|
|
87
|
+
"siteKey": "<module-name>",
|
|
88
|
+
"title": "My Site",
|
|
89
|
+
"templateSet": "<module-name>",
|
|
90
|
+
"defaultLanguage": "en",
|
|
91
|
+
"serverName": "localhost"
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Replace `<module-name>` with the `name` from `package.json`. `templateSet` must exactly match the deployed module name.
|
|
102
96
|
|
|
103
97
|
Verify the site exists:
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
-X POST http://localhost:8080/modules/graphql \
|
|
108
|
-
-d "{\"query\":\"{ jcr { nodeByPath(path:\\\"/sites/${MODULE_NAME}\\\") { name } } }\"}"
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
tool: site.list
|
|
109
101
|
```
|
|
110
102
|
|
|
111
|
-
The
|
|
103
|
+
The site key must appear in the response. If it does not, check that `templateSet` exactly matches the deployed module name.
|
|
112
104
|
|
|
113
105
|
Then open **Page Builder** at http://localhost:8080/jahia/page-builder to start building.
|
|
114
106
|
|
|
@@ -119,8 +111,8 @@ Then open **Page Builder** at http://localhost:8080/jahia/page-builder to start
|
|
|
119
111
|
- [ ] `docker compose up --wait` completes without errors (Docker path)
|
|
120
112
|
- [ ] Jahia UI is reachable at http://localhost:8080
|
|
121
113
|
- [ ] Module deployed to Jahia (`yarn build && yarn jahia-deploy` run; or `yarn dev` in user terminal for interactive development)
|
|
122
|
-
- [ ] Site created via
|
|
123
|
-
- [ ]
|
|
114
|
+
- [ ] Site created via `site.create` MCP tool with correct `templateSet`
|
|
115
|
+
- [ ] `site.list` confirms site key exists
|
|
124
116
|
|
|
125
117
|
## Troubleshooting
|
|
126
118
|
|
package/dist/copilot/AGENTS.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# AGENTS.md
|
|
2
2
|
<!-- Generated by APM CLI from distributed .apm/ primitives -->
|
|
3
|
-
<!-- Build ID:
|
|
4
|
-
<!-- APM Version: 0.
|
|
3
|
+
<!-- Build ID: f8784ff296c9 -->
|
|
4
|
+
<!-- APM Version: 0.21.0 -->
|
|
5
5
|
|
|
6
6
|
## Global Instructions
|
|
7
7
|
|
|
@@ -14,47 +14,22 @@ You are helping develop a **Jahia JavaScript Module** — a React-based template
|
|
|
14
14
|
## Agent Principles
|
|
15
15
|
|
|
16
16
|
1. **Always invoke a skill before any Jahia task** — skills are the canonical source of patterns, gotchas, and API syntax. Never operate from memory alone.
|
|
17
|
+
1a. **Always load CND reference files before writing any CND** — Jahia-specific patterns (`choicelist[linkTypeInitializer]`, `mix:title`, child nodes for CTAs, `jmix:image` weakreferences) are not in your training data. Before writing any CND, read the reference files: `find . -maxdepth 4 -name 'cnd-jahia-mixins*' | head -3`. When working interactively through skill chains, prefer `@jahia-cnd-author` (it loads these files for you).
|
|
17
18
|
2. **Never use `yarn dev` from an agent** — it is an interactive file watcher for human developers only. Always deploy with `yarn build && yarn jahia-deploy` (one-shot, non-interactive).
|
|
19
|
+
2a. **Use the TypeScript LSP for API discovery, never grep.** When you need to know a function's signature or what a module exports, call `mcp__ide__getDiagnostics` on the file after writing it — the LSP reads live type definitions and reports mismatches, wrong argument counts, and missing exports. Never run `grep` on `node_modules` to find a function name or signature.
|
|
18
20
|
3. **Never hardcode URLs** — all navigable links must come from contributed content (JCR nodes, `j:linkType`, `buildNodeUrl`). This is a CMS: content owns the URLs.
|
|
19
21
|
4. **Never use `j:linkType: "external"` for internal pages** — use `"internal"` + `j:linknode`. External URLs break on environment changes, language switches, and vanity URL rewrites.
|
|
20
|
-
5. **Always verify before creating** — check that content types are deployed, site keys are correct, and area
|
|
22
|
+
5. **Always verify before creating** — check that content types are deployed, site keys are correct, and parent area nodes exist before creating content via MCP.
|
|
21
23
|
6. **All props are optional at runtime** — even mandatory CND fields. Always guard against `undefined` in views.
|
|
22
|
-
7. **
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
### Development
|
|
32
|
-
|
|
33
|
-
| Skill | Purpose |
|
|
34
|
-
|-------|---------|
|
|
35
|
-
| `/jahia-dev` | Entry point — detect project state, guide to next step |
|
|
36
|
-
| `/jahia-dev-create-template-set` | Scaffold a new Jahia JS module |
|
|
37
|
-
| `/jahia-dev-start-local` | Start Jahia locally (Docker or bare metal) |
|
|
38
|
-
| `/jahia-dev-build-component` | Build a complete component (CND + view) — start here |
|
|
39
|
-
| `/jahia-dev-define-content-type` | Define a CND content type + types.ts |
|
|
40
|
-
| `/jahia-dev-create-view` | Implement a React view (.server.tsx + CSS Module) |
|
|
41
|
-
| `/jahia-dev-create-page-template` | Create a page template with Areas |
|
|
42
|
-
| `/jahia-dev-query-content` | Write JCR-SQL2 queries and useJCRQuery |
|
|
43
|
-
| `/jahia-dev-review` | Code review: 8 critical checks, 9 warnings, 11 suggestions |
|
|
44
|
-
| `/jahia-dev-accessibility` | Audit live pages with axe-core, fix WCAG 2.1 AA violations |
|
|
45
|
-
| `/jahia-dev-screenshot` | Screenshot reference + local render for visual comparison |
|
|
46
|
-
| `/jahia-dev-debug` | Debug build/deploy/runtime errors end-to-end |
|
|
47
|
-
|
|
48
|
-
### Content Management
|
|
49
|
-
|
|
50
|
-
| Skill | Purpose |
|
|
51
|
-
|-------|---------|
|
|
52
|
-
| `/jahia-content` | Entry point — detect site state, route to content operations |
|
|
53
|
-
| `/jahia-content-explore-structure` | Map content types, properties, enums on an unknown site |
|
|
54
|
-
| `/jahia-content-query-content` | List and inspect content via GraphQL |
|
|
55
|
-
| `/jahia-content-create-content` | Create nodes, folders, articles, bulk-populate |
|
|
56
|
-
| `/jahia-content-move-content` | Restructure the content tree |
|
|
57
|
-
| `/jahia-content-translate-content` | Translate existing nodes to a new language and publish |
|
|
24
|
+
7. **Use MCP tools for all Jahia operations — never GraphQL curl.** The `jahia` MCP server covers site, page, content, and publication operations. Never fall back to `curl` + GraphQL mutations for anything the MCP server can do. Never write Python scripts — use JavaScript or bash only.
|
|
25
|
+
7a. **`yarn` and `npx` must be run from the module root** — the module is a standalone project, not part of a monorepo. Running `yarn` from a parent directory fails with a workspace boundary error. Always `cd` to the module directory first.
|
|
26
|
+
7b. **Use `grep`, not `ugrep`** — `ugrep` is not available on all systems and does not support the same regex syntax. Use `grep -rn` for plain text, `grep -rn -E` for extended regex, or `grep -rn -P` for Perl-compatible patterns (e.g. lookaheads). Never use `ugrep` or `(?m)` flags.
|
|
27
|
+
8. **Build accessible HTML from the start** — every view must use semantic HTML (`<main>`, `<header>`, `<nav>`, `<footer>`, `<section>`, `<article>`), include exactly one `<h1>` per page (in the template from `jcr:title` — never inside a component), use a strict heading hierarchy (h1 in template → h2 in components → h3 for sub-items), add `alt` text to every `<img>` with a meaningful fallback (`imageAlt || title || 'Image'` — never empty string), ensure sufficient colour contrast (≥ 4.5:1 for body text), include a skip link at the top of the template, and never leave a landmark (`<nav>`, `<footer>`) empty.
|
|
28
|
+
9. **Review quality after each deploy** — after deploying and populating content, run `/jahia-dev-site-review` to get a scored a11y + SEO report. Fix any critical/serious violations before moving on. Do not write `pages.json` until the review passes.
|
|
29
|
+
10. **Deploy iteratively** — deploy after each component with `yarn build && yarn jahia-deploy`, verify it renders, then move to the next. Don't accumulate components before deploying; a broken component is easier to diagnose in isolation.
|
|
30
|
+
11. **Collocate everything per component** — each component lives in `src/components/<Category>/<Name>/` containing its `definition.cnd`, `default.server.tsx`, `component.module.css`, and `types.ts`. Never centralize content types in `settings/definitions.cnd` — that file holds only namespace declarations and the module base mixin.
|
|
31
|
+
12. **Always build a page template first** — every website needs a root template at `src/templates/<ModuleName>Template/default.server.tsx`. It must include: a skip link, a `<nav>` built inline from children of the site's home node using `getChildNodes(renderContext.getSite().getNode('home'), -1, 0, n => n.isNodeType('jnt:page'))` (pages live under `home`, not directly under the site), a `<main id="main-content">` with `<h1>{title}</h1>` and Areas, and a `<footer>` that is never empty. The `<title>` tag must be `{title} | {siteName}` — never set `jcr:title` to the full `Page | Site` string; `jcr:title` is always just the short page name (e.g. "Car Insurance"). Build and deploy before any page-specific components.
|
|
32
|
+
13. **SEO baseline** — every page template must render a `<title>` tag, all `<img>` must have descriptive `alt` text, all links must have visible text (no icon-only links without `aria-label`), and pages must have a single `<h1>` matching the page title.
|
|
58
33
|
|
|
59
34
|
## Canonical References
|
|
60
35
|
|
|
@@ -78,9 +53,7 @@ Always fetch these when uncertain about version-sensitive topics:
|
|
|
78
53
|
When Jahia is running at `http://localhost:8080` (default credentials: `root` / `root1234`):
|
|
79
54
|
|
|
80
55
|
- **Login**: http://localhost:8080/cms/login
|
|
81
|
-
- **
|
|
82
|
-
- **jContent**: http://localhost:8080/jahia/jcontent
|
|
83
|
-
- **GraphQL playground**: http://localhost:8080/modules/graphql
|
|
56
|
+
- **GraphQL playground**: http://localhost:8080/modules/graphql-dxm-provider/tools/graphql-workspace.jsp
|
|
84
57
|
- **JCR browser**: http://localhost:8080/modules/tools/jcrBrowser.jsp
|
|
85
58
|
- **Definitions browser**: http://localhost:8080/modules/tools/definitionsBrowser.jsp
|
|
86
59
|
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jahia-cnd-author
|
|
3
|
+
description: Use when you need to write a Jahia CND content type definition and its TypeScript props interface. Receives a component spec and produces definition.cnd + types.ts + .properties labels with correct Jahia-specific syntax. Self-validates output before returning.
|
|
4
|
+
context: fork
|
|
5
|
+
argument-hint: "[business need]"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a Jahia content modeling specialist. You receive a business need, e.g. "I want to model a blog post". If used in interactive mode, you may ask for clarifications. Your job is to write correct `definition.cnd`, `types.ts`, and `.properties` files for Jahia components.
|
|
9
|
+
|
|
10
|
+
## Content Modeling 101
|
|
11
|
+
|
|
12
|
+
Jahia stores content in a tree structure. Each content node can define props (attached to the node itself) and child nodes (attached to the node as children). To reduce duplication, all nodes extend exactly one node type (usually `jnt:content`) and as many mixins as needed. Mixins are reusable sets of props and child nodes. Jahia ships with many native mixins, and you can define your own.
|
|
13
|
+
|
|
14
|
+
The content model is pushed to Jahia as CND files. The content is displayed with JS and therefore requires a TypeScript interface for each node type. For each component, you need to provide a `definition.cnd` and a `types.ts` file.
|
|
15
|
+
|
|
16
|
+
Unless told otherwise, the practice is to create one component per file, colocated with the type definition: `src/components/<name>/definition.cnd` and `./types.ts`.
|
|
17
|
+
|
|
18
|
+
Project-wide mixins are declared in `settings/definitions.cnd`. Read this file first to see which mixins are already defined. Unless told otherwise, in an existing project, read all existing `.cnd` files to infer practices. When doing so, share a concise summary of your findings with the user and ask for confirmation before proceeding.
|
|
19
|
+
|
|
20
|
+
## Step 1: establish the component requirements
|
|
21
|
+
|
|
22
|
+
Understanding the needs correctly is mandatory to provide a good editing experience. The component may be contributed directly in pages, with the visual editor named Page Builder, or from content folders (content collections).
|
|
23
|
+
|
|
24
|
+
If invoked as a sub-agent with a structured spec, skip to Step 2.
|
|
25
|
+
|
|
26
|
+
In interactive mode, ask the user to confirm using this template:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
Component: [PascalCase name]
|
|
30
|
+
Description: [what it represents and how editors use it]
|
|
31
|
+
Fields:
|
|
32
|
+
- name: type / i18n? / mandatory?
|
|
33
|
+
Views: [default, card, fullPage, small — list all needed]
|
|
34
|
+
Used where: [page area / content folder / child of <Parent>]
|
|
35
|
+
Has repeatable children: [no / yes: describe them]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
For decisions that aren't obvious — semantic vs. generic type, weakreference vs. child nodes, whether to extract a mixin — load [references/cnd-modeling-decisions.md].
|
|
39
|
+
|
|
40
|
+
## Step 2: survey the project
|
|
41
|
+
|
|
42
|
+
Before writing anything, understand the project context:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
grep -h "^<" settings/definitions.cnd | head -1 # namespace prefix
|
|
46
|
+
grep "nsmix:pageComponent" settings/definitions.cnd # two-tier mixin?
|
|
47
|
+
grep -rh "^\[" settings/definitions.cnd src/components/ 2>/dev/null | sort # existing types
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Note the namespace prefix. Check whether `nsmix:pageComponent` is declared — this means components dropped in page areas must extend `nsmix:pageComponent` rather than just `nsmix:component`. Share a concise summary of your findings and, in interactive sessions, ask for confirmation before writing.
|
|
51
|
+
|
|
52
|
+
## Step 3: write `definition.cnd`
|
|
53
|
+
|
|
54
|
+
Load reference files as needed for the syntax you require:
|
|
55
|
+
|
|
56
|
+
- **File structure, namespace declarations, property anatomy** → [references/cnd-syntax.md]
|
|
57
|
+
- **Which Jahia native mixins to extend** (`mix:title`, `jmix:mainResource`, etc.) → [references/cnd-jahia-mixins.md]
|
|
58
|
+
- **String properties, choicelists, link pickers, richtext** → [references/cnd-string-selectors.md]
|
|
59
|
+
- **Numeric, boolean, and date properties** → [references/cnd-numbers-dates.md]
|
|
60
|
+
- **Child nodes, CTAs, orderable containers** → [references/cnd-child-nodes.md]
|
|
61
|
+
- **Custom area types** (only relevant for page template types) → [references/cnd-area-types.md]
|
|
62
|
+
|
|
63
|
+
Write component-level definitions to `src/components/<Category>/<Name>/definition.cnd`. Module-level mixins belong in `settings/definitions.cnd`.
|
|
64
|
+
|
|
65
|
+
## Step 4: write `types.ts`
|
|
66
|
+
|
|
67
|
+
Every CND property needs a corresponding TypeScript entry. Load [references/types-ts-mapping.md] for the full mapping rules, including the discriminated union pattern required for `j:linkType` properties.
|
|
68
|
+
|
|
69
|
+
Write to `src/components/<Category>/<Name>/types.ts`.
|
|
70
|
+
|
|
71
|
+
## Step 5: write `.properties` labels
|
|
72
|
+
|
|
73
|
+
Editors see these labels in the content editor — every type name and every field needs an entry. Load [references/cnd-authoring-experience.md] for the naming conventions and icon patterns.
|
|
74
|
+
|
|
75
|
+
Write to:
|
|
76
|
+
- `settings/resources/<module>_en.properties`
|
|
77
|
+
- `settings/resources/<module>_fr.properties` (use the English label as a placeholder if no translation is available)
|
|
78
|
+
|
|
79
|
+
## Step 6: validate and report
|
|
80
|
+
|
|
81
|
+
Before returning, verify:
|
|
82
|
+
|
|
83
|
+
- [ ] Namespace prefix matches `settings/definitions.cnd`
|
|
84
|
+
- [ ] All component types extend `nsmix:component` (or `nsmix:pageComponent` if page-area only)
|
|
85
|
+
- [ ] No `- title (string) i18n mandatory` — use `mix:title` instead
|
|
86
|
+
- [ ] No `imageAlt (string)` — the image node's `jcr:title` serves as alt text
|
|
87
|
+
- [ ] Links use `choicelist[linkTypeInitializer]`, not a plain string
|
|
88
|
+
- [ ] No declared `j:linknode` or `j:url` — Jahia injects these automatically
|
|
89
|
+
- [ ] Every `autocreated` property has a `= 'value'` default
|
|
90
|
+
- [ ] `jmix:hiddenType` used for structural types (never `jmix:studioOnly`)
|
|
91
|
+
- [ ] Every CND property has a matching entry in `types.ts`
|
|
92
|
+
- [ ] `.properties` labels written for every type and field
|
|
93
|
+
|
|
94
|
+
Return **PASS** or **FAIL** with a list of specific issues.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# CND Area Types — Quick Reference
|
|
2
|
+
|
|
3
|
+
## Two-tier mixin system
|
|
4
|
+
|
|
5
|
+
Define in `settings/definitions.cnd`:
|
|
6
|
+
|
|
7
|
+
```cnd
|
|
8
|
+
[nsmix:component] > jmix:droppableContent, jmix:accessControllableContent mixin
|
|
9
|
+
[nsmix:pageComponent] > nsmix:component mixin
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
| Component placement | Extend |
|
|
13
|
+
|---|---|
|
|
14
|
+
| Dropped in page areas (top-level) | `nsmix:pageComponent` |
|
|
15
|
+
| Child of another component | `nsmix:component` |
|
|
16
|
+
|
|
17
|
+
A component extending only `nsmix:component` cannot be dropped in areas that restrict to `nsmix:pageComponent`.
|
|
18
|
+
|
|
19
|
+
## Custom area type
|
|
20
|
+
|
|
21
|
+
Restricts what editors can drop into a given area:
|
|
22
|
+
|
|
23
|
+
```cnd
|
|
24
|
+
[nsnt:pageArea] > jnt:content, jmix:list, jmix:studioOnly orderable
|
|
25
|
+
+ * (nsmix:pageComponent)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Use in a page template view:
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
<Area name="main" nodeType="nsnt:pageArea" />
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
`jmix:studioOnly` on the area type prevents it from appearing in the content picker. Use `jmix:hiddenType` for regular component types that should be hidden.
|
|
35
|
+
|
|
36
|
+
## Escape hatch component
|
|
37
|
+
|
|
38
|
+
One component that accepts any droppable content, for advanced editors:
|
|
39
|
+
|
|
40
|
+
```cnd
|
|
41
|
+
[nsnt:contentStack] > jnt:content, nsmix:pageComponent
|
|
42
|
+
+ * (jmix:droppableContent)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Editors add this to a page area, then drop any content type inside it.
|
|
46
|
+
|
|
47
|
+
## Page templates vs sectioning components
|
|
48
|
+
|
|
49
|
+
| Page templates | Sectioning components |
|
|
50
|
+
|---|---|
|
|
51
|
+
| Fixed vertical sections per template | Editor builds sections freely |
|
|
52
|
+
| Simpler for less experienced editors | More flexible, preferred for evolving integrations |
|
|
53
|
+
| Use when mockups define clear distinct layouts | Use for a single free-form template |
|
|
54
|
+
|
|
55
|
+
Reuse area names across templates (e.g. always `main` and `sidebar`) so content is not lost when editors switch templates.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# CND Authoring Experience Reference
|
|
2
|
+
|
|
3
|
+
## .properties labels and icons
|
|
4
|
+
|
|
5
|
+
Required files for every content type:
|
|
6
|
+
- `settings/resources/<module>_en.properties`
|
|
7
|
+
- `settings/resources/<module>_fr.properties`
|
|
8
|
+
|
|
9
|
+
```ini
|
|
10
|
+
# Node type label
|
|
11
|
+
ns_heroSection.label=Hero Section
|
|
12
|
+
|
|
13
|
+
# Field labels
|
|
14
|
+
ns_heroSection.subtitle.label=Subtitle
|
|
15
|
+
ns_heroSection.backgroundImage.label=Background Image
|
|
16
|
+
|
|
17
|
+
# Field tooltip
|
|
18
|
+
ns_heroSection.subtitle.ui.tooltip=Optional subtitle text displayed below the heading.
|
|
19
|
+
|
|
20
|
+
# Choicelist item labels (for resourceBundle choicelist)
|
|
21
|
+
ns_heroSection.variant.primary=Primary
|
|
22
|
+
ns_heroSection.variant.secondary=Secondary
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Icon file: `settings/content-types-icons/<ns>_<typeName>.png`
|
|
26
|
+
Free icons: https://www.flaticon.com/
|
|
27
|
+
|
|
28
|
+
**Rules:**
|
|
29
|
+
- Every node type must have a `.label` entry.
|
|
30
|
+
- Every field must have a `.label` entry.
|
|
31
|
+
- Choicelist options using `resourceBundle` must have a label per value.
|
|
32
|
+
- Replace special characters (e.g. `:`) with `_` in the `.properties` key.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Editor hints in views
|
|
37
|
+
|
|
38
|
+
Use `renderContext.isEditMode()` to show a flat, non-interactive layout and hints in edit mode.
|
|
39
|
+
|
|
40
|
+
```tsx
|
|
41
|
+
({ slides }: Props, { renderContext }) => {
|
|
42
|
+
const isEdit = renderContext.isEditMode();
|
|
43
|
+
return isEdit ? (
|
|
44
|
+
<div>
|
|
45
|
+
<RenderChildren />
|
|
46
|
+
<p className={classes.hint}>Carousel — add or reorder slides here</p>
|
|
47
|
+
</div>
|
|
48
|
+
) : (
|
|
49
|
+
<div className={classes.carousel}><RenderChildren /></div>
|
|
50
|
+
);
|
|
51
|
+
};
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Show inline validation hints:
|
|
55
|
+
|
|
56
|
+
```tsx
|
|
57
|
+
{renderContext.isEditMode() && value % 2 !== 0 && (
|
|
58
|
+
<p className="editor-hint">Value should be even for best visual result.</p>
|
|
59
|
+
)}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## import.xml recommendations
|
|
65
|
+
|
|
66
|
+
Provide `import.xml` in every template set to pre-populate new sites:
|
|
67
|
+
|
|
68
|
+
- A homepage with `j:isHomePage="true"` — required for sitemap and nav generation.
|
|
69
|
+
- Offline folder structure with `jmix:systemNameReadonly` + `jmix:nolive`:
|
|
70
|
+
- "Offline pages/Models"
|
|
71
|
+
- "Offline pages/Drafts"
|
|
72
|
+
- "Offline pages/Archive"
|
|
73
|
+
- Content folders matching your types (e.g. "Blog/Authors", "Blog/Posts").
|
|
74
|
+
- Content restrictions on folders:
|
|
75
|
+
```xml
|
|
76
|
+
jcr:mixinTypes="jmix:contributeMode" j:contributeTypes="ns:blogPost"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
> `import.xml` only applies at site creation — changes do NOT update existing sites.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## jmix:visibleInContentTree
|
|
84
|
+
|
|
85
|
+
Enables Page Builder visual editing inside content folders (not just list view).
|
|
86
|
+
|
|
87
|
+
```cnd
|
|
88
|
+
[ns:authorCollection] > jnt:content, jmix:visibleInContentTree
|
|
89
|
+
+ * (ns:author)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Use when editors benefit from visual layout while editing content folder items.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# CND Child Nodes
|
|
2
|
+
|
|
3
|
+
## Syntax
|
|
4
|
+
|
|
5
|
+
```cnd
|
|
6
|
+
+ childName (ns:type) // named child — exactly one
|
|
7
|
+
+ childName (ns:type) multiple // named child — list
|
|
8
|
+
+ * (ns:type) // any-name child of a specific type
|
|
9
|
+
+ * (jmix:droppableContent) // open container — any droppable component
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## When to use child nodes vs `weakreference multiple`
|
|
13
|
+
|
|
14
|
+
| Use child nodes when… | Use `weakreference multiple` when… |
|
|
15
|
+
|---|---|
|
|
16
|
+
| Each item has multiple properties (label + link) | Each item is just a reference (a page, an image) |
|
|
17
|
+
| Items have no life outside the parent | Items are managed elsewhere and reused |
|
|
18
|
+
| You always create them together | Editors need to pick from existing content |
|
|
19
|
+
|
|
20
|
+
## Repeatable CTA pattern
|
|
21
|
+
|
|
22
|
+
**NEVER put `ctaText + ctaLink/ctaUrl` on the parent type as flat properties.**
|
|
23
|
+
Model CTAs as child nodes — editors can then add multiple CTAs.
|
|
24
|
+
|
|
25
|
+
```cnd
|
|
26
|
+
// ✅ Correct — supports multiple CTAs
|
|
27
|
+
[ns:heroSection] > jnt:content, nsmix:component, mix:title
|
|
28
|
+
- subtitle (string, richtext) i18n
|
|
29
|
+
- backgroundImage (weakreference, picker[type='image']) < jmix:image
|
|
30
|
+
+ * (ns:heroCallToAction)
|
|
31
|
+
|
|
32
|
+
[ns:heroCallToAction] > jnt:content, nsmix:component
|
|
33
|
+
- label (string) i18n mandatory
|
|
34
|
+
- j:linkType (string, choicelist[linkTypeInitializer]) mandatory
|
|
35
|
+
|
|
36
|
+
// ❌ Wrong — forces exactly one CTA, editors can't add more
|
|
37
|
+
[ns:heroSection] > jnt:content, nsmix:component
|
|
38
|
+
- ctaText (string) i18n
|
|
39
|
+
- ctaLink (string) i18n // also wrong type for links
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Ordering
|
|
43
|
+
|
|
44
|
+
Add `orderable` to the parent type when editors need to reorder children:
|
|
45
|
+
|
|
46
|
+
```cnd
|
|
47
|
+
[ns:featureList] > jnt:content, nsmix:component orderable
|
|
48
|
+
+ * (ns:featureItem)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Hidden structural nodes
|
|
52
|
+
|
|
53
|
+
Child nodes that editors should never add manually (structural containers, auto-created nodes):
|
|
54
|
+
|
|
55
|
+
```cnd
|
|
56
|
+
[ns:heroSection] > jnt:content, nsmix:component, mix:title
|
|
57
|
+
+ ctaContainer (ns:ctaContainer) autocreated
|
|
58
|
+
|
|
59
|
+
[ns:ctaContainer] > jnt:content, jmix:hiddenType orderable
|
|
60
|
+
+ * (ns:callToAction)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
`jmix:hiddenType` hides a type from the Page Builder component picker.
|
|
64
|
+
**Never use `jmix:studioOnly`** — it causes silent rendering issues.
|
|
65
|
+
|
|
66
|
+
## Open container (accept any droppable)
|
|
67
|
+
|
|
68
|
+
```cnd
|
|
69
|
+
[ns:gridRow] > jnt:content, nsmix:component
|
|
70
|
+
- columns (long) = '3' autocreated mandatory < '1', '2', '3', '4'
|
|
71
|
+
+ * (jmix:droppableContent)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
`+ * (jmix:droppableContent)` accepts any component the editor can drop.
|