@jahia/agentic 0.4.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 +4 -0
- package/dist/claude/.claude/rules/jahia.md +1 -37
- 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-jahia-mixins.md +510 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/{opencode/.opencode/agents → claude/.claude/skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
- package/dist/{opencode/.opencode/agents → claude/.claude/skills/jahia-cnd-author/references}/cnd-string-selectors.md +49 -10
- 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 +13 -8
- package/dist/claude/CLAUDE.md +2 -38
- 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-jahia-mixins.md +510 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/{claude/.claude/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
- package/dist/{cursor/.cursor/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-string-selectors.md +49 -10
- 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 +13 -8
- package/dist/codex/AGENTS.md +2 -38
- 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-jahia-mixins.md +510 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/{cursor/.cursor/agents → copilot/.agents/skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
- package/dist/{claude/.claude/agents → copilot/.agents/skills/jahia-cnd-author/references}/cnd-string-selectors.md +49 -10
- 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 +13 -8
- package/dist/copilot/AGENTS.md +2 -38
- 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 +13 -8
- package/dist/cursor/.cursor/rules/jahia.mdc +1 -37
- 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 +13 -8
- package/dist/gemini/AGENTS.md +2 -38
- 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 +13 -8
- package/dist/opencode/AGENTS.md +2 -38
- package/dist/windsurf/.windsurf/rules/jahia.md +1 -37
- 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 +13 -8
- package/dist/windsurf/AGENTS.md +2 -38
- package/package.json +1 -1
- package/dist/claude/.claude/agents/cnd-jahia-mixins.md +0 -113
- package/dist/claude/.claude/agents/jahia-cnd-author.md +0 -130
- package/dist/claude/.claude/agents/jahia-dev-worker.md +0 -264
- package/dist/claude/.claude/agents/jahia-reviewer.md +0 -105
- package/dist/claude/.claude/skills/jahia/SKILL.md +0 -148
- 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 -93
- package/dist/claude/.claude/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
- 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-orchestrate/SKILL.md +0 -148
- package/dist/claude/.claude/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
- 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 -148
- 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 -93
- package/dist/codex/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
- 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-orchestrate/SKILL.md +0 -148
- package/dist/codex/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
- 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/codex/.codex/agents/cnd-child-nodes.toml +0 -3
- package/dist/codex/.codex/agents/cnd-jahia-mixins.toml +0 -3
- package/dist/codex/.codex/agents/cnd-numbers-dates.toml +0 -3
- package/dist/codex/.codex/agents/cnd-string-selectors.toml +0 -3
- package/dist/codex/.codex/agents/jahia-cnd-author.toml +0 -3
- package/dist/codex/.codex/agents/jahia-dev-worker.toml +0 -3
- package/dist/codex/.codex/agents/jahia-reviewer.toml +0 -3
- package/dist/copilot/.agents/skills/jahia/SKILL.md +0 -148
- 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 -93
- package/dist/copilot/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
- 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-orchestrate/SKILL.md +0 -148
- package/dist/copilot/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
- 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 -148
- 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 -93
- package/dist/cursor/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
- 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-orchestrate/SKILL.md +0 -148
- package/dist/cursor/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
- 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/cursor/.cursor/agents/cnd-jahia-mixins.md +0 -113
- package/dist/cursor/.cursor/agents/jahia-cnd-author.md +0 -130
- package/dist/cursor/.cursor/agents/jahia-dev-worker.md +0 -264
- package/dist/cursor/.cursor/agents/jahia-reviewer.md +0 -105
- package/dist/gemini/.agents/skills/jahia/SKILL.md +0 -148
- 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 -93
- package/dist/gemini/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
- 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-orchestrate/SKILL.md +0 -148
- package/dist/gemini/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
- 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 -148
- 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 -93
- package/dist/opencode/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
- 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-orchestrate/SKILL.md +0 -148
- package/dist/opencode/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
- 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/opencode/.opencode/agents/cnd-jahia-mixins.md +0 -113
- package/dist/opencode/.opencode/agents/jahia-cnd-author.md +0 -130
- package/dist/opencode/.opencode/agents/jahia-dev-worker.md +0 -264
- package/dist/opencode/.opencode/agents/jahia-reviewer.md +0 -105
- package/dist/windsurf/.windsurf/skills/jahia/SKILL.md +0 -148
- 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 -93
- package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
- 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-orchestrate/SKILL.md +0 -148
- package/dist/windsurf/.windsurf/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
- 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
- /package/dist/claude/.claude/{agents → skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
- /package/dist/{cursor/.cursor/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
- /package/dist/{opencode/.opencode/agents → copilot/.agents/skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
|
@@ -8,6 +8,9 @@
|
|
|
8
8
|
| `(string, textarea)` | Multi-line text area | Paragraphs, descriptions |
|
|
9
9
|
| `(string, richtext)` | Rich text editor (TinyMCE) | Body content, formatted text |
|
|
10
10
|
| `(string) multiple` | Tag input / list | Lists of plain strings |
|
|
11
|
+
| `(string, tag[autocomplete=<n>,separator='<char>']) multiple` | Tag input with autocomplete | Tagging, keywords |
|
|
12
|
+
| `(string, color)` | Color picker | Color values |
|
|
13
|
+
| `(string, cron)` | Cron expression editor | Scheduling |
|
|
11
14
|
|
|
12
15
|
## Fixed-choice dropdowns
|
|
13
16
|
|
|
@@ -19,6 +22,26 @@ Use `(string, choicelist)` + `< 'val1', 'val2'` for a dropdown with a hard-coded
|
|
|
19
22
|
- variant (string, choicelist) < 'primary', 'secondary', 'ghost'
|
|
20
23
|
```
|
|
21
24
|
|
|
25
|
+
## `choicelist[...]` initializer variants
|
|
26
|
+
|
|
27
|
+
| Initializer | What it renders |
|
|
28
|
+
|---|---|
|
|
29
|
+
| `choicelist` | Dropdown from constraints list |
|
|
30
|
+
| `choicelist[componentTypes='<types>']` | Component types/mixins dropdown |
|
|
31
|
+
| `choicelist[country]` | Countries list (ISO codes, localized labels) |
|
|
32
|
+
| `choicelist[menus]` | Site menus |
|
|
33
|
+
| `choicelist[nodes='<path>;<type>;<property>']` | Nodes from a JCR path; supports `$currentSiteTemplatesSet` |
|
|
34
|
+
| `choicelist[nodetypes='<type>']` | Node types inheriting from `<type>`; special values: `PRIMARY;fromDependencies;useName`, `MIXIN;fromDependencies;useName` |
|
|
35
|
+
| `choicelist[permissions]` | Permissions list |
|
|
36
|
+
| `choicelist[renderModes]` | Render modes |
|
|
37
|
+
| `choicelist[resourceBundle]` | Keys as constraints, labels from resource bundle |
|
|
38
|
+
| `choicelist[sortableFieldnames]` | Sortable field names |
|
|
39
|
+
| `choicelist[subnodetypes='<type>']` | Similar to nodetypes |
|
|
40
|
+
| `choicelist[templates]` | Site templates; variants: `mainresource`, `reference`, `subnodes`, `<type>`, with optional `, dependentProperties='<property>'` |
|
|
41
|
+
| `choicelist[templatesNode]` | Node templates; variant: `pageTemplate` |
|
|
42
|
+
| `choicelist[workflow]` | Available workflows |
|
|
43
|
+
| `choicelist[linkTypeInitializer]` | Internal/external/none link picker (see below) |
|
|
44
|
+
|
|
22
45
|
## `mix:title` instead of a title string property
|
|
23
46
|
|
|
24
47
|
**NEVER write `- title (string) i18n mandatory`.**
|
|
@@ -65,15 +88,14 @@ export type Props =
|
|
|
65
88
|
|
|
66
89
|
In the view, switch on `props["j:linkType"]`.
|
|
67
90
|
|
|
68
|
-
##
|
|
91
|
+
## Weakreference picker variants
|
|
69
92
|
|
|
70
|
-
| Initializer | What it
|
|
93
|
+
| Initializer | What it picks |
|
|
71
94
|
|---|---|
|
|
72
|
-
| `
|
|
73
|
-
| `
|
|
74
|
-
| `
|
|
75
|
-
| `
|
|
76
|
-
| `choicelist[menus]` | Site menus |
|
|
95
|
+
| `picker[type='image']` | Image from media library |
|
|
96
|
+
| `picker[type='editoriallink']` | Editorial content node |
|
|
97
|
+
| `picker[type='page']` | Page node |
|
|
98
|
+
| `picker[type='file']` | Any file asset |
|
|
77
99
|
|
|
78
100
|
## Regex constraints on strings
|
|
79
101
|
|
|
@@ -83,12 +105,29 @@ In the view, switch on `props["j:linkType"]`.
|
|
|
83
105
|
- externalUrl (string) < '^https?://'
|
|
84
106
|
```
|
|
85
107
|
|
|
86
|
-
##
|
|
108
|
+
## Modifiers / keywords
|
|
87
109
|
|
|
88
|
-
|
|
|
110
|
+
| Keyword | Description |
|
|
89
111
|
|---|---|
|
|
90
112
|
| `i18n` | Translatable per language — **default to always on user-facing fields** |
|
|
91
113
|
| `mandatory` | Required |
|
|
92
114
|
| `multiple` | List of values |
|
|
93
115
|
| `primary` | Highlighted field in editor (one per type) |
|
|
94
|
-
| `autocreated` | Auto-created on node creation
|
|
116
|
+
| `autocreated` | Auto-created on node creation; requires `= 'value'` |
|
|
117
|
+
| `indexed=no` | Excludes from indexing |
|
|
118
|
+
| `nofulltext` | Excludes from full-text search |
|
|
119
|
+
| `boost=<float>` | Multiplies full-text search score |
|
|
120
|
+
| `facetable` | Enables faceted search on this property |
|
|
121
|
+
| `protected` | Cannot be set by external tools |
|
|
122
|
+
| `hidden` | Hidden in editor |
|
|
123
|
+
|
|
124
|
+
## Examples combining selectors and modifiers
|
|
125
|
+
|
|
126
|
+
```cnd
|
|
127
|
+
- tags (string, tag[autocomplete=5,separator=',']) multiple
|
|
128
|
+
- color (string, color) = '#000000' autocreated
|
|
129
|
+
- template (string, choicelist[templates]) i18n
|
|
130
|
+
- nodes (weakreference, choicelist[nodes='/sites/systemsite/categories;jnt:category',sort]) multiple
|
|
131
|
+
- image (weakreference, picker[type='image'])
|
|
132
|
+
- page (weakreference, picker[type='page'])
|
|
133
|
+
```
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# CND Syntax Reference
|
|
2
|
+
|
|
3
|
+
## Namespace declarations
|
|
4
|
+
|
|
5
|
+
| Pattern | Example |
|
|
6
|
+
|---|---|
|
|
7
|
+
| `<prefix = 'uri'>` | `<jnt = 'http://www.jahia.org/jahia/nt/1.0'>` |
|
|
8
|
+
|
|
9
|
+
Jahia built-in namespaces:
|
|
10
|
+
|
|
11
|
+
| Prefix | URI |
|
|
12
|
+
|---|---|
|
|
13
|
+
| `j` | `http://www.jahia.org/jahia/1.0` |
|
|
14
|
+
| `jnt` | `http://www.jahia.org/jahia/nt/1.0` |
|
|
15
|
+
| `jmix` | `http://www.jahia.org/jahia/mix/1.0` |
|
|
16
|
+
|
|
17
|
+
Module convention: declare two namespaces — one for node types (`ns`), one for mixins (`nsmix`). The prefix is read from the first `<…>` line in `settings/definitions.cnd`.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Node type definition
|
|
22
|
+
|
|
23
|
+
```cnd
|
|
24
|
+
[ns:nodeType] > ns:baseType, nsmix:mixin1, nsmix:mixin2
|
|
25
|
+
- property1 (type) = 'default' modifier1 modifier2
|
|
26
|
+
+ childNode1 (ns:childType)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Add `abstract` after supertypes to prevent direct instantiation:
|
|
30
|
+
|
|
31
|
+
```cnd
|
|
32
|
+
[ns:abstractType] > jnt:content abstract
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
All component node types must extend `nsmix:component`:
|
|
36
|
+
|
|
37
|
+
```cnd
|
|
38
|
+
[ns:myComponent] > jnt:content, nsmix:component
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Mixin definition
|
|
44
|
+
|
|
45
|
+
```cnd
|
|
46
|
+
[nsmix:myMixin] > jmix:templateMixin mixin
|
|
47
|
+
- property1 (type) = 'default'
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Property anatomy
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
- propertyName (type, visualHint) = 'default' modifier1 modifier2 < constraint1, constraint2
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
| Part | Position | Example |
|
|
59
|
+
|---|---|---|
|
|
60
|
+
| Name | after `-` | `- title` |
|
|
61
|
+
| Type | first parens | `(string)` |
|
|
62
|
+
| Visual hint | after type, same parens | `(string, text)` |
|
|
63
|
+
| Default value | after `=` | `= 'Hello'` |
|
|
64
|
+
| Modifiers | after default | `i18n mandatory multiple autocreated primary` |
|
|
65
|
+
| Constraints | after `<` | `< 'en', 'fr', 'de'` |
|
|
66
|
+
|
|
67
|
+
### Property types
|
|
68
|
+
|
|
69
|
+
| Type | Notes |
|
|
70
|
+
|---|---|
|
|
71
|
+
| `string` | Plain text |
|
|
72
|
+
| `richtext` | HTML rich text |
|
|
73
|
+
| `boolean` | `true` / `false` |
|
|
74
|
+
| `long` | Integer |
|
|
75
|
+
| `double` | Floating point |
|
|
76
|
+
| `decimal` | Exact decimal |
|
|
77
|
+
| `date` | ISO date/time |
|
|
78
|
+
| `weakreference` | Node reference |
|
|
79
|
+
| `uri` | URI string |
|
|
80
|
+
|
|
81
|
+
### Common modifiers
|
|
82
|
+
|
|
83
|
+
| Modifier | Meaning |
|
|
84
|
+
|---|---|
|
|
85
|
+
| `i18n` | Translatable per language |
|
|
86
|
+
| `mandatory` | Must have a value |
|
|
87
|
+
| `multiple` | Multi-value property |
|
|
88
|
+
| `autocreated` | Created automatically |
|
|
89
|
+
| `primary` | Primary property of the node |
|
|
90
|
+
| `hidden` | Not shown in editor UI |
|
|
91
|
+
| `protected` | Not editable by users |
|
|
92
|
+
|
|
93
|
+
### Common visual hints
|
|
94
|
+
|
|
95
|
+
| Hint | Editor widget |
|
|
96
|
+
|---|---|
|
|
97
|
+
| `text` | Single-line text |
|
|
98
|
+
| `textarea` | Multi-line text |
|
|
99
|
+
| `richtext` | Rich text editor |
|
|
100
|
+
| `picker` | Content picker |
|
|
101
|
+
| `color` | Color picker |
|
|
102
|
+
| `checkbox` | Checkbox |
|
|
103
|
+
| `radio` | Radio buttons |
|
|
104
|
+
| `choicelist` | Drop-down list |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Minimal working example
|
|
109
|
+
|
|
110
|
+
```cnd
|
|
111
|
+
<ns = 'http://www.example.org/ns/1.0'>
|
|
112
|
+
<nsmix = 'http://www.example.org/nsmix/1.0'>
|
|
113
|
+
|
|
114
|
+
[ns:card] > jnt:content, nsmix:component
|
|
115
|
+
- title (string, text) = '' i18n
|
|
116
|
+
- body (string, richtext) i18n
|
|
117
|
+
- ctaLabel (string, text) i18n
|
|
118
|
+
- ctaLink (weakreference, picker[type='page'])
|
|
119
|
+
```
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
## CND type → TypeScript mapping
|
|
2
|
+
|
|
3
|
+
| CND type | TypeScript type | Notes |
|
|
4
|
+
|---|---|---|
|
|
5
|
+
| `string` | `string` | |
|
|
6
|
+
| `string` + `multiple` | `string[]` | |
|
|
7
|
+
| `long` | `number` | 64-bit integer |
|
|
8
|
+
| `double` | `number` | 64-bit float |
|
|
9
|
+
| `boolean` | `boolean` | |
|
|
10
|
+
| `date` | `string` | ISO 8601 string |
|
|
11
|
+
| `weakreference` | `JCRNodeWrapper \| undefined` | Always optional |
|
|
12
|
+
| `weakreference` + `multiple` | `JCRNodeWrapper[]` | |
|
|
13
|
+
|
|
14
|
+
## Required import
|
|
15
|
+
```ts
|
|
16
|
+
import type { JCRNodeWrapper } from "org.jahia.services.content";
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## mix:title
|
|
20
|
+
When a type extends `mix:title`, add `"jcr:title"?: string` to Props.
|
|
21
|
+
|
|
22
|
+
## linkTypeInitializer discriminated union
|
|
23
|
+
When CND has `j:linkType (string, choicelist[linkTypeInitializer])`, use a discriminated union:
|
|
24
|
+
```ts
|
|
25
|
+
export type Props =
|
|
26
|
+
| { "j:linkType": "none" }
|
|
27
|
+
| { "j:linkType": "internal"; "j:linknode"?: JCRNodeWrapper }
|
|
28
|
+
| { "j:linkType": "external"; "j:url"?: string; "j:linkTitle"?: string };
|
|
29
|
+
```
|
|
30
|
+
Add other fields of the type to each union member.
|
|
31
|
+
|
|
32
|
+
## Choicelist (fixed values)
|
|
33
|
+
Use a string literal union:
|
|
34
|
+
```ts
|
|
35
|
+
variant?: "primary" | "secondary" | "ghost";
|
|
36
|
+
columns?: "1" | "2" | "3"; // long choicelist values come through as strings
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Full example
|
|
40
|
+
For a CND type:
|
|
41
|
+
```cnd
|
|
42
|
+
[ns:card] > jnt:content, nsmix:component, mix:title
|
|
43
|
+
- subtitle (string) i18n
|
|
44
|
+
- body (string, richtext) i18n
|
|
45
|
+
- image (weakreference, picker[type='image']) < jmix:image
|
|
46
|
+
- variant (string, choicelist) < 'primary', 'secondary'
|
|
47
|
+
- j:linkType (string, choicelist[linkTypeInitializer]) mandatory
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The `types.ts`:
|
|
51
|
+
```ts
|
|
52
|
+
import type { JCRNodeWrapper } from "org.jahia.services.content";
|
|
53
|
+
|
|
54
|
+
type CardBase = {
|
|
55
|
+
"jcr:title"?: string;
|
|
56
|
+
subtitle?: string;
|
|
57
|
+
body?: string;
|
|
58
|
+
image?: JCRNodeWrapper;
|
|
59
|
+
variant?: "primary" | "secondary";
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export type Props = CardBase & (
|
|
63
|
+
| { "j:linkType": "none" }
|
|
64
|
+
| { "j:linkType": "internal"; "j:linknode"?: JCRNodeWrapper }
|
|
65
|
+
| { "j:linkType": "external"; "j:url"?: string; "j:linkTitle"?: string }
|
|
66
|
+
);
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Rules
|
|
70
|
+
- All properties are optional unless `mandatory` in CND (and even mandatory fields may be absent at runtime — always guard)
|
|
71
|
+
- `weakreference` is always `JCRNodeWrapper | undefined` regardless of `mandatory`
|
|
72
|
+
- Never add `j:linknode` or `j:url` to the CND — they appear in types.ts via the discriminated union because Jahia injects them
|
|
73
|
+
- `i18n` does not affect the TypeScript type
|
|
@@ -1,271 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jahia-dev-accessibility
|
|
3
|
-
description: Audits a
|
|
4
|
-
|
|
3
|
+
description: Audits a site for accessibility issues
|
|
4
|
+
argument-hint: "[live page]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Run `npx pa11y [live page]` on all live pages to audit a site for accessibility issues.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Fix all issues systematically, and re-run the audit until no issues remain.
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Step 1 — Confirm pages are live
|
|
14
|
-
|
|
15
|
-
You need the list of public page URLs. Look for `pages.json` in the module root first:
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
cat pages.json 2>/dev/null || echo "not found"
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
If absent, derive URLs from the site structure or ask the user. All pages must be accessible at `http://localhost:8080`.
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## Step 2 — Install audit tooling
|
|
26
|
-
|
|
27
|
-
Check if `@axe-core/playwright` and `playwright` are available:
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
node -e "require('@axe-core/playwright'); require('playwright'); console.log('ok')" 2>/dev/null || echo "missing"
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
If missing, install temporarily (project-local, not committed):
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
npm install --no-save @axe-core/playwright playwright
|
|
37
|
-
npx playwright install chromium --with-deps
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## Step 3 — Run the audit
|
|
43
|
-
|
|
44
|
-
Save this script as `/tmp/a11y-audit.mjs` and run it:
|
|
45
|
-
|
|
46
|
-
```js
|
|
47
|
-
import { chromium } from "playwright";
|
|
48
|
-
import { AxeBuilder } from "@axe-core/playwright";
|
|
49
|
-
import { readFileSync } from "fs";
|
|
50
|
-
|
|
51
|
-
const urls = JSON.parse(readFileSync("pages.json", "utf-8"));
|
|
52
|
-
|
|
53
|
-
const browser = await chromium.launch({ args: ["--no-sandbox"] });
|
|
54
|
-
const page = await browser.newPage();
|
|
55
|
-
|
|
56
|
-
for (const url of urls) {
|
|
57
|
-
console.log(`\n${"=".repeat(60)}\nAuditing: ${url}\n${"=".repeat(60)}`);
|
|
58
|
-
await page.goto(url, { waitUntil: "networkidle", timeout: 30_000 });
|
|
59
|
-
|
|
60
|
-
const results = await new AxeBuilder({ page })
|
|
61
|
-
.withTags(["wcag2a", "wcag2aa", "wcag21aa"])
|
|
62
|
-
.analyze();
|
|
63
|
-
|
|
64
|
-
if (results.violations.length === 0) {
|
|
65
|
-
console.log("✅ No violations found.");
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
for (const v of results.violations) {
|
|
70
|
-
console.log(`\n[${v.impact?.toUpperCase()}] ${v.id}: ${v.description}`);
|
|
71
|
-
console.log(`Help: ${v.helpUrl}`);
|
|
72
|
-
for (const node of v.nodes) {
|
|
73
|
-
console.log(` Target: ${node.target.join(" > ")}`);
|
|
74
|
-
console.log(` HTML: ${node.html}`);
|
|
75
|
-
if (node.failureSummary) {
|
|
76
|
-
console.log(` Fix: ${node.failureSummary}`);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
await browser.close();
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
node /tmp/a11y-audit.mjs 2>&1 | tee /tmp/a11y-report.txt
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Step 4 — Interpret results
|
|
92
|
-
|
|
93
|
-
Group violations by impact. Focus on `critical` and `serious` first — they contribute most to a poor score.
|
|
94
|
-
|
|
95
|
-
Common violations in Jahia JS modules and their fixes:
|
|
96
|
-
|
|
97
|
-
### 🔴 Critical / Serious
|
|
98
|
-
|
|
99
|
-
**`color-contrast`** — text fails WCAG AA contrast ratio (4.5:1 for normal text, 3:1 for large text)
|
|
100
|
-
```css
|
|
101
|
-
/* Bad */
|
|
102
|
-
color: #aaa; background: #fff;
|
|
103
|
-
|
|
104
|
-
/* Fix — use a contrast checker: https://webaim.org/resources/contrastchecker/ */
|
|
105
|
-
color: #595959; /* 7:1 ratio on white */
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
**`image-alt`** — `<img>` missing `alt` attribute
|
|
109
|
-
```tsx
|
|
110
|
-
/* Bad */
|
|
111
|
-
<img src={buildNodeUrl(props.image)} />
|
|
112
|
-
|
|
113
|
-
/* Fix — use the image node's jcr:title, fall back to empty string for decorative */
|
|
114
|
-
<img src={buildNodeUrl(props.image)} alt={props.image?.getPropertyAsString("jcr:title") ?? ""} />
|
|
115
|
-
```
|
|
116
|
-
The image node already has `jcr:title` (from `mix:title`). **Do not add `imageAlt (string) i18n`** to the CND.
|
|
117
|
-
|
|
118
|
-
**`button-name`** — `<button>` or `<a>` is empty (icon-only without label)
|
|
119
|
-
```tsx
|
|
120
|
-
/* Bad */
|
|
121
|
-
<button><svg>...</svg></button>
|
|
122
|
-
|
|
123
|
-
/* Fix */
|
|
124
|
-
<button aria-label="Open menu"><svg aria-hidden="true">...</svg></button>
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
**`landmark-one-main`** — page has no `<main>` landmark
|
|
128
|
-
```tsx
|
|
129
|
-
/* Fix — wrap page content in <main> */
|
|
130
|
-
<main id="main-content">
|
|
131
|
-
{/* page content */}
|
|
132
|
-
</main>
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
**`page-has-heading-one`** — page has no `<h1>` element
|
|
136
|
-
```tsx
|
|
137
|
-
/* Fix — ensure the hero or first section renders an <h1> */
|
|
138
|
-
<h1>{props.title}</h1>
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
**`link-name`** — `<a>` with no accessible text
|
|
142
|
-
```tsx
|
|
143
|
-
/* Bad */
|
|
144
|
-
<a href={url}><img src="..." /></a>
|
|
145
|
-
|
|
146
|
-
/* Fix */
|
|
147
|
-
<a href={url}><img src="..." alt={props.linkLabel ?? "Learn more"} /></a>
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
### 🟡 Moderate
|
|
151
|
-
|
|
152
|
-
**`heading-order`** — headings skip levels (e.g. `<h1>` → `<h3>`)
|
|
153
|
-
```tsx
|
|
154
|
-
/* Review: the first heading in a component should be h2 (after the page h1) */
|
|
155
|
-
/* Section titles: h2, subsections: h3 */
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
**`region`** — content is outside landmark regions
|
|
159
|
-
Wrap page sections in semantic elements: `<header>`, `<nav>`, `<main>`, `<footer>`, `<section aria-label="...">`.
|
|
160
|
-
|
|
161
|
-
**`list`** — `<ul>` or `<ol>` contains elements other than `<li>`
|
|
162
|
-
```tsx
|
|
163
|
-
/* Bad */
|
|
164
|
-
<ul>
|
|
165
|
-
<div>item</div>
|
|
166
|
-
</ul>
|
|
167
|
-
|
|
168
|
-
/* Fix */
|
|
169
|
-
<ul>
|
|
170
|
-
<li>item</li>
|
|
171
|
-
</ul>
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
**`html-has-lang`** — `<html>` element missing `lang` attribute
|
|
175
|
-
This is set at the page template level. Verify the template registered in `src/templates/` includes `lang`:
|
|
176
|
-
```tsx
|
|
177
|
-
/* In the page template */
|
|
178
|
-
<html lang={currentLanguage ?? "en"}>
|
|
179
|
-
```
|
|
180
|
-
Jahia provides the language via `useServerContext()`:
|
|
181
|
-
```tsx
|
|
182
|
-
import { useServerContext } from "@jahia/javascript-modules-library";
|
|
183
|
-
const { currentLanguage } = useServerContext();
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
**`aria-required-children`** — ARIA role is missing required children
|
|
187
|
-
Avoid misusing ARIA roles. Prefer native HTML elements (`<ul>/<li>`, `<table>/<tr>/<td>`).
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
|
-
## Step 5 — Fix in source
|
|
192
|
-
|
|
193
|
-
For each violation:
|
|
194
|
-
|
|
195
|
-
1. Identify the component: match `node.target` HTML to a `.server.tsx` file
|
|
196
|
-
2. Edit the view to apply the fix
|
|
197
|
-
3. If the fix requires a new CND field (e.g. `imageAlt`), update `definition.cnd` and `types.ts`
|
|
198
|
-
4. Run `yarn build && yarn jahia-deploy`
|
|
199
|
-
|
|
200
|
-
After all fixes:
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
# Re-run the audit to verify violations are resolved
|
|
204
|
-
node /tmp/a11y-audit.mjs 2>&1 | grep -E "(CRITICAL|SERIOUS|MODERATE|No violations)"
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
Iterate until only `minor` violations remain (or none).
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
|
|
211
|
-
## Step 6 — Proactive checks beyond axe-core
|
|
212
|
-
|
|
213
|
-
axe-core catches ~30–40% of WCAG issues automatically. Also check manually:
|
|
214
|
-
|
|
215
|
-
- **Keyboard navigation**: can every interactive element (link, button, form field) be reached with Tab?
|
|
216
|
-
- **Focus indicators**: is `:focus` visible on all interactive elements?
|
|
217
|
-
```css
|
|
218
|
-
/* Ensure focus ring is never suppressed globally */
|
|
219
|
-
/* Bad */
|
|
220
|
-
* { outline: none; }
|
|
221
|
-
/* Fix — use :focus-visible */
|
|
222
|
-
:focus-visible { outline: 2px solid #0969da; outline-offset: 2px; }
|
|
223
|
-
```
|
|
224
|
-
- **Skip link**: add a "Skip to main content" link as the first focusable element
|
|
225
|
-
```tsx
|
|
226
|
-
<a href="#main-content" className={styles.skipLink}>Skip to main content</a>
|
|
227
|
-
```
|
|
228
|
-
```css
|
|
229
|
-
.skipLink {
|
|
230
|
-
position: absolute;
|
|
231
|
-
top: -100%;
|
|
232
|
-
left: 0;
|
|
233
|
-
background: #000;
|
|
234
|
-
color: #fff;
|
|
235
|
-
padding: 8px 16px;
|
|
236
|
-
z-index: 999;
|
|
237
|
-
}
|
|
238
|
-
.skipLink:focus { top: 0; }
|
|
239
|
-
```
|
|
240
|
-
- **Motion**: if any CSS animation exists, wrap it in `@media (prefers-reduced-motion: no-preference)`
|
|
241
|
-
- **Touch targets**: interactive elements should be at least 44×44px
|
|
242
|
-
|
|
243
|
-
---
|
|
244
|
-
|
|
245
|
-
## Step 7 — Report summary
|
|
246
|
-
|
|
247
|
-
After fixing, report:
|
|
248
|
-
|
|
249
|
-
```
|
|
250
|
-
## Accessibility Audit Summary
|
|
251
|
-
|
|
252
|
-
Pages audited: N
|
|
253
|
-
Violations fixed:
|
|
254
|
-
- [critical] color-contrast: 3 instances → fixed (updated CSS contrast ratios)
|
|
255
|
-
- [serious] image-alt: 2 instances → fixed (added imageAlt CND field)
|
|
256
|
-
- [serious] button-name: 1 instance → fixed (added aria-label to icon button)
|
|
257
|
-
- [moderate] heading-order: 2 instances → fixed (restructured h2/h3 hierarchy)
|
|
258
|
-
|
|
259
|
-
Remaining violations: N (all minor / informational)
|
|
260
|
-
|
|
261
|
-
Axe tags checked: wcag2a, wcag2aa, wcag21aa
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
---
|
|
265
|
-
|
|
266
|
-
## References
|
|
267
|
-
|
|
268
|
-
- WebAIM Contrast Checker: https://webaim.org/resources/contrastchecker/
|
|
269
|
-
- axe-core rules: https://dequeuniversity.com/rules/axe/
|
|
270
|
-
- WCAG 2.1 Quick Ref: https://www.w3.org/WAI/WCAG21/quickref/
|
|
271
|
-
- MDN ARIA: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA
|
|
11
|
+
If available, use a subagent to fix issues, with the right amount of context.
|
|
@@ -43,18 +43,23 @@ Has children: <yes: ChildType / no>
|
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
46
|
-
## Step 2 — REQUIRED: Invoke
|
|
46
|
+
## Step 2 — REQUIRED: Invoke `@jahia-cnd-author`
|
|
47
47
|
|
|
48
|
-
**Do not write CND manually.** Jahia-specific patterns (`choicelist[linkTypeInitializer]`, `mix:title`, child nodes for CTAs) are not in LLM training data — writing
|
|
48
|
+
**Do not write CND manually.** Jahia-specific patterns (`choicelist[linkTypeInitializer]`, `mix:title`, child nodes for CTAs) are not in LLM training data — writing from memory produces broken output.
|
|
49
49
|
|
|
50
|
-
Invoke
|
|
50
|
+
Invoke `@jahia-cnd-author` as a sub-agent with the complete spec:
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
```
|
|
53
|
+
Component: <PascalCase name>
|
|
54
|
+
Namespace prefix: <ns>
|
|
55
|
+
Module path: <absolute path to module root>
|
|
56
|
+
Fields:
|
|
57
|
+
- <fieldName>: <type description> [mandatory] [i18n] [multiple]
|
|
58
|
+
Children: <repeatable sub-items, e.g. "CTA buttons with label + link">
|
|
59
|
+
Usage: <where this component appears, e.g. "dropped in page areas">
|
|
60
|
+
```
|
|
56
61
|
|
|
57
|
-
**
|
|
62
|
+
Wait for **PASS** before continuing. If it returns **FAIL**, send the issues back to `@jahia-cnd-author` to fix.
|
|
58
63
|
|
|
59
64
|
---
|
|
60
65
|
|
package/dist/codex/AGENTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AGENTS.md
|
|
2
2
|
<!-- Generated by APM CLI from distributed .apm/ primitives -->
|
|
3
|
-
<!-- Build ID:
|
|
3
|
+
<!-- Build ID: f8784ff296c9 -->
|
|
4
4
|
<!-- APM Version: 0.21.0 -->
|
|
5
5
|
|
|
6
6
|
## Global Instructions
|
|
@@ -31,40 +31,6 @@ You are helping develop a **Jahia JavaScript Module** — a React-based template
|
|
|
31
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
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.
|
|
33
33
|
|
|
34
|
-
## Skill Map
|
|
35
|
-
|
|
36
|
-
Start with `/jahia` if unsure where to begin.
|
|
37
|
-
|
|
38
|
-
### Development
|
|
39
|
-
|
|
40
|
-
| Skill | Purpose |
|
|
41
|
-
|-------|---------|
|
|
42
|
-
| `/jahia-dev` | Entry point — detect project state, guide to next step |
|
|
43
|
-
| `/jahia-dev-create-template-set` | Scaffold a new Jahia JS module |
|
|
44
|
-
| `/jahia-dev-start-local` | Start Jahia locally (Docker or bare metal) |
|
|
45
|
-
| `/jahia-dev-build-component` | Build a complete component (CND + view) — start here |
|
|
46
|
-
| `/jahia-dev-define-content-type` | Define a CND content type + types.ts |
|
|
47
|
-
| `/jahia-dev-review-cnd` | Validate a CND file for antipatterns — run after writing any CND |
|
|
48
|
-
| `/jahia-dev-create-view` | Implement a React view (.server.tsx + CSS Module) |
|
|
49
|
-
| `/jahia-dev-create-page-template` | Create a page template with Areas |
|
|
50
|
-
| `/jahia-dev-query-content` | Write JCR-SQL2 queries and useJCRQuery |
|
|
51
|
-
| `/jahia-dev-review` | Code review: 8 critical checks, 9 warnings, 11 suggestions |
|
|
52
|
-
| `/jahia-dev-site-review` | Scored a11y + SEO report on live pages — use after every deploy |
|
|
53
|
-
| `/jahia-dev-accessibility` | Deep WCAG 2.1 AA audit with fixes — use for targeted a11y work |
|
|
54
|
-
| `/jahia-dev-screenshot` | Screenshot reference + local render for visual comparison |
|
|
55
|
-
| `/jahia-dev-debug` | Debug build/deploy/runtime errors end-to-end |
|
|
56
|
-
|
|
57
|
-
### Content Management
|
|
58
|
-
|
|
59
|
-
| Skill | Purpose |
|
|
60
|
-
|-------|---------|
|
|
61
|
-
| `/jahia-content` | Entry point — detect site state, route to content operations |
|
|
62
|
-
| `/jahia-content-explore-structure` | Map content types, properties, enums on an unknown site |
|
|
63
|
-
| `/jahia-content-query-content` | List and inspect content via GraphQL |
|
|
64
|
-
| `/jahia-content-create-content` | Create nodes, folders, articles, bulk-populate |
|
|
65
|
-
| `/jahia-content-move-content` | Restructure the content tree |
|
|
66
|
-
| `/jahia-content-translate-content` | Translate existing nodes to a new language and publish |
|
|
67
|
-
|
|
68
34
|
## Canonical References
|
|
69
35
|
|
|
70
36
|
Always fetch these when uncertain about version-sensitive topics:
|
|
@@ -87,9 +53,7 @@ Always fetch these when uncertain about version-sensitive topics:
|
|
|
87
53
|
When Jahia is running at `http://localhost:8080` (default credentials: `root` / `root1234`):
|
|
88
54
|
|
|
89
55
|
- **Login**: http://localhost:8080/cms/login
|
|
90
|
-
- **
|
|
91
|
-
- **jContent**: http://localhost:8080/jahia/jcontent
|
|
92
|
-
- **GraphQL playground**: http://localhost:8080/modules/graphql
|
|
56
|
+
- **GraphQL playground**: http://localhost:8080/modules/graphql-dxm-provider/tools/graphql-workspace.jsp
|
|
93
57
|
- **JCR browser**: http://localhost:8080/modules/tools/jcrBrowser.jsp
|
|
94
58
|
- **Definitions browser**: http://localhost:8080/modules/tools/definitionsBrowser.jsp
|
|
95
59
|
|