@jahia/agentic 0.4.0 → 0.5.0
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 +10 -0
- package/dist/antigravity/.agents/rules/jahia.md +51 -0
- package/dist/antigravity/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/antigravity/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/antigravity/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/antigravity/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/antigravity/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/{opencode/.opencode/agents → antigravity/.agents/skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
- package/dist/{opencode/.opencode/agents → antigravity/.agents/skills/jahia-cnd-author/references}/cnd-string-selectors.md +49 -10
- package/dist/antigravity/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/antigravity/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/antigravity/.agents/skills/jahia-dev-accessibility/SKILL.md +11 -0
- package/dist/antigravity/.agents/skills/jahia-dev-build-component/SKILL.md +133 -0
- package/dist/antigravity/.agents/skills/jahia-dev-create-page-template/SKILL.md +341 -0
- package/dist/antigravity/.agents/skills/jahia-dev-create-template-set/SKILL.md +205 -0
- package/dist/antigravity/.agents/skills/jahia-dev-create-view/SKILL.md +896 -0
- package/dist/antigravity/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
- package/dist/antigravity/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
- package/dist/antigravity/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
- package/dist/antigravity/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
- package/dist/antigravity/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
- package/dist/antigravity/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
- package/dist/antigravity/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
- package/dist/antigravity/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
- package/dist/antigravity/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
- package/dist/antigravity/.agents/skills/jahia-dev-query-content/SKILL.md +204 -0
- package/dist/antigravity/.agents/skills/jahia-dev-review/SKILL.md +228 -0
- package/dist/antigravity/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/antigravity/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/antigravity/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/antigravity/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
- package/dist/antigravity/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/antigravity/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/antigravity/.agents/skills/jahia-dev-start-local/SKILL.md +121 -0
- package/dist/antigravity/.agents/skills/jahia-jcr-sql2/SKILL.md +258 -0
- package/dist/antigravity/AGENTS.md +62 -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/claude/.claude/{agents → skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
- package/dist/{cursor/.cursor/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/.mcp.json +11 -0
- 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/{cursor/.cursor/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
- package/dist/{claude/.claude/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-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 +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/mcp.json +11 -0
- 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/.gemini/settings.json +10 -0
- package/dist/gemini/AGENTS.md +2 -38
- package/dist/index.js +12 -0
- package/dist/kiro/.kiro/settings/mcp.json +10 -0
- package/dist/kiro/.kiro/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/kiro/.kiro/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/kiro/.kiro/skills/jahia-dev-accessibility/SKILL.md +11 -0
- package/dist/kiro/.kiro/skills/jahia-dev-build-component/SKILL.md +133 -0
- package/dist/kiro/.kiro/skills/jahia-dev-create-page-template/SKILL.md +341 -0
- package/dist/kiro/.kiro/skills/jahia-dev-create-template-set/SKILL.md +205 -0
- package/dist/kiro/.kiro/skills/jahia-dev-create-view/SKILL.md +896 -0
- package/dist/kiro/.kiro/skills/jahia-dev-debug/SKILL.md +176 -0
- package/dist/kiro/.kiro/skills/jahia-dev-import-from/SKILL.md +244 -0
- package/dist/kiro/.kiro/skills/jahia-dev-jexperience/SKILL.md +269 -0
- package/dist/kiro/.kiro/skills/jahia-dev-ops/SKILL.md +50 -0
- package/dist/kiro/.kiro/skills/jahia-dev-ops/references/docker.md +151 -0
- package/dist/kiro/.kiro/skills/jahia-dev-ops/references/monitoring.md +195 -0
- package/dist/kiro/.kiro/skills/jahia-dev-ops/references/provisioning.md +269 -0
- package/dist/kiro/.kiro/skills/jahia-dev-properties/SKILL.md +147 -0
- package/dist/kiro/.kiro/skills/jahia-dev-properties/references/all-properties.md +231 -0
- package/dist/kiro/.kiro/skills/jahia-dev-query-content/SKILL.md +204 -0
- package/dist/kiro/.kiro/skills/jahia-dev-review/SKILL.md +228 -0
- package/dist/kiro/.kiro/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/kiro/.kiro/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/kiro/.kiro/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/kiro/.kiro/skills/jahia-dev-screenshot/SKILL.md +177 -0
- package/dist/kiro/.kiro/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/kiro/.kiro/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/kiro/.kiro/skills/jahia-dev-start-local/SKILL.md +121 -0
- package/dist/kiro/.kiro/skills/jahia-jcr-sql2/SKILL.md +258 -0
- package/dist/kiro/.kiro/steering/jahia.md +55 -0
- package/dist/kiro/AGENTS.md +62 -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 +13 -8
- package/dist/opencode/AGENTS.md +2 -38
- package/dist/opencode/opencode.json +12 -0
- 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 → antigravity/.agents/skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
- /package/dist/{cursor/.cursor/agents → claude/.claude/skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
- /package/dist/{opencode/.opencode/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
# Skill: Code Review Output Format
|
|
2
|
-
|
|
3
|
-
Load this skill before writing the review output. It defines the section order, finding template, and summary table schema.
|
|
4
|
-
|
|
5
|
-
## When to load
|
|
6
|
-
|
|
7
|
-
Always, just before writing the deliverable. Do not load during analysis passes.
|
|
8
|
-
|
|
9
|
-
## Output mode selection
|
|
10
|
-
|
|
11
|
-
Detect from context:
|
|
12
|
-
|
|
13
|
-
| Signal | Mode |
|
|
14
|
-
|---|---|
|
|
15
|
-
| GitHub MCP tools available + a PR number in context | **PR mode**: inline comments + one summary comment |
|
|
16
|
-
| Local filesystem only, module checked out, no PR | **File mode**: single markdown at repo root |
|
|
17
|
-
| A prior `code-review-*.md` exists in the repo | **Follow-up mode**: see `skills/review-followup/SKILL.md` |
|
|
18
|
-
|
|
19
|
-
When unclear, default to **File mode**.
|
|
20
|
-
|
|
21
|
-
## File naming (File mode)
|
|
22
|
-
|
|
23
|
-
`code-review-{module-name}-{YYYY-MM-DD}.md` at the module root. The module name comes from `pom.xml` `<artifactId>`.
|
|
24
|
-
|
|
25
|
-
If a review already exists for the same date, append `-v2`, `-v3`, etc. Do not overwrite without explicit instruction.
|
|
26
|
-
|
|
27
|
-
## Section order (mandatory)
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
# Code review — {module-name} (backend|frontend|fullstack)
|
|
31
|
-
|
|
32
|
-
- Date: YYYY-MM-DD
|
|
33
|
-
- Scope: {one line — what was reviewed, what was not}
|
|
34
|
-
- Out of scope: {one line — explicit exclusions}
|
|
35
|
-
|
|
36
|
-
{One short paragraph: overall posture. Lead with what is right; the findings list is for what is wrong. Do not pad.}
|
|
37
|
-
|
|
38
|
-
## 1. Security
|
|
39
|
-
## 2. API and backend design
|
|
40
|
-
## 3. Bugs and rough edges
|
|
41
|
-
## 4. Documentation and harness drift
|
|
42
|
-
## 5. Build, Maven, and OSGi packaging
|
|
43
|
-
## 6. OSGi and concurrency
|
|
44
|
-
## 7. Tests
|
|
45
|
-
## {N}. Prioritised summary
|
|
46
|
-
## {N+1}. Closing note
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Omit sections with no findings — write "No findings." inline only if the absence itself is worth noting (e.g. "No concurrency findings — all `@Component` services are stateless.").
|
|
50
|
-
|
|
51
|
-
The Closing note is one paragraph. It names the single biggest risk and the single biggest strength. No bullet lists.
|
|
52
|
-
|
|
53
|
-
## Finding template
|
|
54
|
-
|
|
55
|
-
Each finding has the same shape:
|
|
56
|
-
|
|
57
|
-
```markdown
|
|
58
|
-
### {N.M} {Short title} — {severity emoji} P{0|1|2|3}
|
|
59
|
-
|
|
60
|
-
{One sentence: the problem.}
|
|
61
|
-
|
|
62
|
-
{2-6 sentences: why it matters, where it manifests, what triggers it. Code snippet if it clarifies in fewer words than prose.}
|
|
63
|
-
|
|
64
|
-
**Fix:** {Concrete action. Library name + method, or class change, or "accept and document".}
|
|
65
|
-
|
|
66
|
-
**Effort:** {XS | S | M | L}
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Rules:
|
|
70
|
-
|
|
71
|
-
- **Severity emoji + level** in the heading. Never one without the other.
|
|
72
|
-
- **The problem in one sentence.** If you need a paragraph, you have not understood it yet.
|
|
73
|
-
- **Code snippets are quoted, not paraphrased.** If the bug is in three lines of code, show those three lines.
|
|
74
|
-
- **The Fix line is mandatory.** No exceptions. If there is no fix, the finding is "accept and document" — say so explicitly.
|
|
75
|
-
- **Effort is mandatory.** Authors prioritise by effort × severity. Without effort, the table is half-useless.
|
|
76
|
-
|
|
77
|
-
## Anchors
|
|
78
|
-
|
|
79
|
-
Use `ClassName#methodName` as the anchor for code references. Line numbers go stale; method names survive refactors. When a finding spans multiple files, list them under "Affected sites" inline.
|
|
80
|
-
|
|
81
|
-
## Severity rules
|
|
82
|
-
|
|
83
|
-
See the parent `AGENTS.md` severity table. One reminder: **the prioritised summary table is your honesty check**. If P0 has more than 5 items, you have inflated severity. Re-evaluate.
|
|
84
|
-
|
|
85
|
-
## Prioritised summary table
|
|
86
|
-
|
|
87
|
-
The penultimate section. Schema:
|
|
88
|
-
|
|
89
|
-
| Priority | Item | Effort |
|
|
90
|
-
|---|---|---|
|
|
91
|
-
| 🔴 P0 | {one-line description with §X.Y backref} | XS/S/M/L |
|
|
92
|
-
| ... |
|
|
93
|
-
|
|
94
|
-
Sort by priority, then by section number. P3 items can be grouped if numerous.
|
|
95
|
-
|
|
96
|
-
The backref (`§X.Y`) is mandatory — the reader uses the table as an index into the full findings.
|
|
97
|
-
|
|
98
|
-
## PR mode specifics
|
|
99
|
-
|
|
100
|
-
When posting to a PR:
|
|
101
|
-
|
|
102
|
-
- **Inline comments** for findings that point to a specific file/line span. Use the same finding template, condensed.
|
|
103
|
-
- **One summary comment** at the PR level containing:
|
|
104
|
-
- The opening paragraph (overall posture).
|
|
105
|
-
- The prioritised summary table.
|
|
106
|
-
- Links to the inline comments via their permalinks.
|
|
107
|
-
- **No giant markdown dump in the summary comment.** Inline comments carry the body of each finding.
|
|
108
|
-
|
|
109
|
-
If a finding cannot be anchored to a line (e.g. "the module has no tests"), it goes only in the summary comment.
|
|
110
|
-
|
|
111
|
-
## Follow-up mode handoff
|
|
112
|
-
|
|
113
|
-
If a prior review exists, hand off to `skills/review-followup/SKILL.md`. Do not write a fresh review.
|
|
114
|
-
|
|
115
|
-
## What not to do
|
|
116
|
-
|
|
117
|
-
- Do not number findings across the whole document (e.g. "Finding 47"). Number within sections: §1.1, §1.2, §3.1.
|
|
118
|
-
- Do not split a finding into a "problem" finding and a "fix" finding. One finding = one problem + its fix.
|
|
119
|
-
- Do not write a "tl;dr" at the top. The opening paragraph is the tl;dr.
|
|
120
|
-
- Do not include process meta-commentary in the output ("During Pass 2 I noticed..."). The doc is for the author, not a log of your work.
|
|
121
|
-
- Do not write recommendations the author cannot act on alone. If a fix requires a product decision, name the decision; do not pretend it is purely technical.
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
# Jahia Native Mixins & Types
|
|
2
|
-
|
|
3
|
-
Source: https://github.com/Jahia/jahia/tree/master/war/src/main/webapp/WEB-INF/etc/repository/nodetypes
|
|
4
|
-
Fetch this URL to verify before using any mixin not listed here.
|
|
5
|
-
|
|
6
|
-
## Base types — always extend these
|
|
7
|
-
|
|
8
|
-
| Type | Purpose |
|
|
9
|
-
|---|---|
|
|
10
|
-
| `jnt:content` | Base for all user content nodes — **always include** |
|
|
11
|
-
| `jnt:page` | Page node — only for `jmix:mainResource` full-page types |
|
|
12
|
-
| `jnt:file` | File node — for file references |
|
|
13
|
-
|
|
14
|
-
## Mixins by use case
|
|
15
|
-
|
|
16
|
-
### `mix:title` — preferred over a raw title property
|
|
17
|
-
|
|
18
|
-
Adds `jcr:title` (string). Jahia's UI, breadcrumbs, SEO, and sitemap generation all read `jcr:title`.
|
|
19
|
-
**Extend this instead of declaring `- title (string) i18n mandatory`.**
|
|
20
|
-
|
|
21
|
-
```cnd
|
|
22
|
-
[ns:article] > jnt:content, nsmix:component, mix:title
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Access in view: `props["jcr:title"]`
|
|
26
|
-
|
|
27
|
-
### `jmix:mainResource` — full-page content types only
|
|
28
|
-
|
|
29
|
-
Makes a node accessible at its own URL. Use **only** for content that needs both a listing card AND a detail page (e.g. blog posts, team members, events). Do not add to navigation or visual composition types.
|
|
30
|
-
|
|
31
|
-
```cnd
|
|
32
|
-
[ns:blogPost] > jnt:content, mix:title, jmix:mainResource, nsmix:component
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### `jmix:image` — image constraint for weakreference
|
|
36
|
-
|
|
37
|
-
Use as the type constraint on image weakreference properties:
|
|
38
|
-
|
|
39
|
-
```cnd
|
|
40
|
-
- backgroundImage (weakreference, picker[type='image']) < jmix:image
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
**Never use `< 'jnt:file'`** (quoted string form) — it does not enforce image type correctly.
|
|
44
|
-
|
|
45
|
-
**Never declare `imageAlt (string) i18n`** alongside an image weakreference. The referenced image node already has `jcr:title` (from `mix:title`). Use that as the alt text in the view:
|
|
46
|
-
|
|
47
|
-
```tsx
|
|
48
|
-
const imageAlt = props.image?.getPropertyAsString("jcr:title") ?? "";
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Remove any `imageAlt` property — it forces editors to enter duplicate data.
|
|
52
|
-
|
|
53
|
-
### `jmix:droppableContent` — never extend directly
|
|
54
|
-
|
|
55
|
-
Always define a module-level component mixin and extend that:
|
|
56
|
-
|
|
57
|
-
```cnd
|
|
58
|
-
// In settings/definitions.cnd
|
|
59
|
-
[nsmix:component] > jmix:droppableContent, jmix:accessControllableContent mixin
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Then all component types extend `nsmix:component`.
|
|
63
|
-
|
|
64
|
-
### `jmix:hiddenType` — hide from Page Builder picker
|
|
65
|
-
|
|
66
|
-
Structural/container types editors should not add manually:
|
|
67
|
-
|
|
68
|
-
```cnd
|
|
69
|
-
[ns:ctaContainer] > jnt:content, jmix:hiddenType orderable
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
**Never use `jmix:studioOnly`** — it causes silent rendering issues in some contexts.
|
|
73
|
-
|
|
74
|
-
### `jmix:accessControllableContent` — per-component access control
|
|
75
|
-
|
|
76
|
-
Add to your base module mixin so all components support it:
|
|
77
|
-
|
|
78
|
-
```cnd
|
|
79
|
-
[nsmix:component] > jmix:droppableContent, jmix:accessControllableContent mixin
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### `jmix:link` — built-in link type
|
|
83
|
-
|
|
84
|
-
Provides `j:linkType`, `j:linknode`, `j:url`, `j:linkTitle`. Extend this mixin as an alternative to declaring `j:linkType` directly on a type that needs only link behavior and nothing else.
|
|
85
|
-
|
|
86
|
-
## picker[] selector
|
|
87
|
-
|
|
88
|
-
| Selector | Use |
|
|
89
|
-
|---|---|
|
|
90
|
-
| `picker[type='image']` | Image assets only |
|
|
91
|
-
| `picker[type='file']` | Any file asset |
|
|
92
|
-
|
|
93
|
-
```cnd
|
|
94
|
-
- backgroundImage (weakreference, picker[type='image']) < jmix:image
|
|
95
|
-
- attachment (weakreference, picker[type='file']) < jnt:file
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
## Two-tier component mixin system
|
|
99
|
-
|
|
100
|
-
If the module uses custom area types (see `jahia-dev-create-page-template`):
|
|
101
|
-
|
|
102
|
-
```cnd
|
|
103
|
-
[nsmix:component] > jmix:droppableContent, jmix:accessControllableContent mixin
|
|
104
|
-
[nsmix:pageComponent] > nsmix:component mixin
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
| Component will be… | Extend |
|
|
108
|
-
|---|---|
|
|
109
|
-
| Dropped in page areas | `nsmix:pageComponent` |
|
|
110
|
-
| Child of another component | `nsmix:component` |
|
|
111
|
-
| Listed programmatically | `nsmix:component` |
|
|
112
|
-
|
|
113
|
-
A component extending only `nsmix:component` **cannot** be dropped in areas that use `nsmix:pageComponent`.
|
|
@@ -1,130 +0,0 @@
|
|
|
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 a per-component definition.cnd + types.ts with correct Jahia-specific syntax. Self-validates output before returning.
|
|
4
|
-
allowed-tools: Read, Write, Edit, Bash
|
|
5
|
-
tools:
|
|
6
|
-
Read: true
|
|
7
|
-
Write: true
|
|
8
|
-
Edit: true
|
|
9
|
-
Bash: true
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
You are a Jahia CND specialist. Your sole job is to write correct `definition.cnd` and `types.ts` files for a single component type. You have no MCP tools and should not perform content operations or deployments.
|
|
13
|
-
|
|
14
|
-
## Your inputs
|
|
15
|
-
|
|
16
|
-
You will receive a structured spec:
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
Component: <name>
|
|
20
|
-
Namespace prefix: <ns>
|
|
21
|
-
Module path: <path to module root>
|
|
22
|
-
Fields:
|
|
23
|
-
- <field name>: <type description> [mandatory] [i18n] [multiple]
|
|
24
|
-
Usage: <where this component appears>
|
|
25
|
-
Children: <repeatable sub-items if any>
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Step 1 — Locate and load reference files
|
|
29
|
-
|
|
30
|
-
Reference files live next to this agent file. First, discover where they are:
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
# Find the directory that contains the cnd-jahia-mixins reference file
|
|
34
|
-
find . -maxdepth 4 -name "cnd-jahia-mixins*" 2>/dev/null | head -5
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Then read the files you need (using whichever path the find command returned):
|
|
38
|
-
|
|
39
|
-
- **Always read**: `cnd-jahia-mixins` (required — tells you which native mixins to extend)
|
|
40
|
-
- **If text, link, or choice properties**: `cnd-string-selectors`
|
|
41
|
-
- **If repeatable child items**: `cnd-child-nodes`
|
|
42
|
-
- **If numbers, dates, or booleans**: `cnd-numbers-dates`
|
|
43
|
-
|
|
44
|
-
Do not skip this step. These files contain the exact CND patterns you must use. If the find returns nothing, something is wrong with the harness installation — stop and report.
|
|
45
|
-
|
|
46
|
-
## Step 2 — Resolve namespace and location
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
# Get namespace prefix
|
|
50
|
-
grep "^<" <module-path>/settings/definitions.cnd | head -5
|
|
51
|
-
|
|
52
|
-
# Check for two-tier mixin
|
|
53
|
-
grep "pageComponent" <module-path>/settings/definitions.cnd
|
|
54
|
-
|
|
55
|
-
# Find the right category directory
|
|
56
|
-
ls <module-path>/src/components/
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
If `namespacemix:pageComponent` exists: use it for components dropped in page areas, use `namespacemix:component` for children of other components.
|
|
60
|
-
|
|
61
|
-
**File locations — collocation is mandatory:**
|
|
62
|
-
|
|
63
|
-
Each component type lives in its own file, next to its view. NEVER put all types in `settings/definitions.cnd`.
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
src/
|
|
67
|
-
components/
|
|
68
|
-
Sections/
|
|
69
|
-
HeroSection/
|
|
70
|
-
definition.cnd ← one type per file, co-located here
|
|
71
|
-
default.server.tsx
|
|
72
|
-
types.ts
|
|
73
|
-
Cards/
|
|
74
|
-
TextCard/
|
|
75
|
-
definition.cnd ← separate file per component
|
|
76
|
-
types.ts
|
|
77
|
-
settings/
|
|
78
|
-
definitions.cnd ← namespace declarations + shared mixins ONLY
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Step 3 — Write the CND
|
|
82
|
-
|
|
83
|
-
Create `<module-path>/src/components/<Category>/<Name>/definition.cnd`.
|
|
84
|
-
|
|
85
|
-
Rules from the reference files you loaded — apply all of them:
|
|
86
|
-
1. **Links**: `j:linkType (string, choicelist[linkTypeInitializer]) mandatory` — never `(string)` for `*Url`, `*Href`, `*Link`
|
|
87
|
-
2. **Titles**: extend `mix:title` — never `- title (string)` or `- jcr:title (string)`
|
|
88
|
-
3. **Repeatable CTAs**: child nodes `+ * (ns:callToAction)` — never flat `ctaText + ctaUrl` on the parent
|
|
89
|
-
4. **Images**: `(weakreference, picker[type='image']) < jmix:image` — never `(string)` for image URLs
|
|
90
|
-
5. **i18n**: on every user-facing string/textarea/richtext property
|
|
91
|
-
6. **Component mixin**: extend `namespacemix:component` or `namespacemix:pageComponent` — never `jmix:droppableContent` directly on a concrete type
|
|
92
|
-
|
|
93
|
-
Each per-component `definition.cnd` must include the namespace declarations at the top:
|
|
94
|
-
```cnd
|
|
95
|
-
<ns = 'http://...'>
|
|
96
|
-
<nsmix = 'http://...'>
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Step 4 — Write types.ts
|
|
100
|
-
|
|
101
|
-
Create `<module-path>/src/components/<Category>/<Name>/types.ts`. All fields use `?:` even if mandatory in CND.
|
|
102
|
-
|
|
103
|
-
For `j:linkType` properties, use the discriminated union from the reference file you loaded.
|
|
104
|
-
|
|
105
|
-
## Step 5 — Self-validate
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
CND=<module-path>/src/components/<Category>/<Name>/definition.cnd
|
|
109
|
-
|
|
110
|
-
# Error: raw string for a link/URL property
|
|
111
|
-
grep -En "^[[:space:]]*-[[:space:]]+[a-zA-Z]*(Url|Href|Link)[[:space:]]+\(string" "$CND"
|
|
112
|
-
|
|
113
|
-
# Error: title declared as raw property instead of mix:title
|
|
114
|
-
grep -En "^[[:space:]]*-[[:space:]]+(title|jcr:title)[[:space:]]+\(string" "$CND"
|
|
115
|
-
|
|
116
|
-
# Error: concrete type extends jmix:droppableContent directly
|
|
117
|
-
grep -n "jmix:droppableContent" "$CND" | grep -v "mixin"
|
|
118
|
-
|
|
119
|
-
# Error: image as plain string URL
|
|
120
|
-
grep -En "^[[:space:]]*-[[:space:]]+[a-zA-Z]*(Image|Photo|Avatar|Logo)[[:space:]]+\(string" "$CND"
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
If any of these print matches, fix the issue and re-run before reporting.
|
|
124
|
-
|
|
125
|
-
## Step 6 — Report
|
|
126
|
-
|
|
127
|
-
- Files written: paths
|
|
128
|
-
- Type name(s) defined
|
|
129
|
-
- Self-validate result: PASS / fixed N errors
|
|
130
|
-
- Any warnings not fixed and why
|
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: jahia-dev-worker
|
|
3
|
-
description: Developer worker for Jahia module builds. Reads PLAN.md, builds all components (CND + views + CSS), deploys, creates content via MCP, writes DEV_STATUS.md. Invoked by the orchestrator.
|
|
4
|
-
allowed-tools: Read, Write, Edit, Bash
|
|
5
|
-
# MCP tools (jahia server) are also required — no tools: block so Claude Code allows all
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are the Jahia developer worker. You implement Jahia module components as directed by the orchestrator. Your context window is precious — do not read files you don't need.
|
|
9
|
-
|
|
10
|
-
## Step 0 — Read your plan
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
cat PLAN.md
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
Parse the plan carefully. Note:
|
|
17
|
-
- Module path
|
|
18
|
-
- Components to build
|
|
19
|
-
- Efficiency rules (follow them exactly)
|
|
20
|
-
- Round N Fix-Ups section (present from round 2 — fix these and ONLY these before re-deploying)
|
|
21
|
-
|
|
22
|
-
**Fix-cycle guard:** If PLAN.md contains a `## Round N Fix-Ups` section (where N ≥ 2), this is a fix cycle. Skip Steps 5 (create content) and 6 (write pages.json) entirely — content was already created in round 1 and pages.json already exists. Apply only the listed fixes, redeploy (Step 4), and write DEV_STATUS.md (Step 7).
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## Step 1 — Load CND reference files
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
find . -maxdepth 4 -name "cnd-jahia-mixins*" 2>/dev/null | head -3
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Read the file found. Also read `cnd-string-selectors.md` (links, choices) and `cnd-child-nodes.md` (repeatable children) from the same directory.
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## Step 2 — Resolve namespace
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
grep "^<" settings/definitions.cnd | head -5
|
|
40
|
-
grep "pageComponent" settings/definitions.cnd || echo "(pageComponent not yet defined)"
|
|
41
|
-
ls src/components/ 2>/dev/null || echo "(no components yet)"
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Note the namespace prefix and whether `namespacemix:pageComponent` exists.
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## Step 3 — Build page template, then all components
|
|
49
|
-
|
|
50
|
-
**Build the page template first.** Every website needs a root layout. Create:
|
|
51
|
-
|
|
52
|
-
`src/templates/<ModuleName>Template/default.server.tsx`
|
|
53
|
-
|
|
54
|
-
> The template file is always `default.server.tsx` inside a named folder — never `basic.server.tsx` or any other name.
|
|
55
|
-
|
|
56
|
-
```tsx
|
|
57
|
-
import React from 'react';
|
|
58
|
-
import { Area, AbsoluteArea, getChildNodes, buildNodeUrl, jahiaComponent } from '@jahia/javascript-modules-library';
|
|
59
|
-
import styles from './template.module.css';
|
|
60
|
-
|
|
61
|
-
jahiaComponent(
|
|
62
|
-
{
|
|
63
|
-
componentType: 'template',
|
|
64
|
-
nodeType: 'jnt:page',
|
|
65
|
-
displayName: 'Default Template',
|
|
66
|
-
name: 'default',
|
|
67
|
-
},
|
|
68
|
-
({ 'jcr:title': title }, { renderContext, mainNode }) => {
|
|
69
|
-
// Pages live under /sites/<key>/home — not directly under the site node
|
|
70
|
-
const siteHome = renderContext.getSite().getNode('home');
|
|
71
|
-
const navPages = getChildNodes(siteHome, -1, 0, n => n.isNodeType('jnt:page'));
|
|
72
|
-
const siteName = renderContext.getSite().getPropertyAsString('j:siteTitle') ?? renderContext.getSite().getName();
|
|
73
|
-
return (
|
|
74
|
-
<html lang="en">
|
|
75
|
-
<head>
|
|
76
|
-
<meta charSet="UTF-8" />
|
|
77
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
78
|
-
{/* title = short page name + site name — never set jcr:title to the full "Page | Site" string */}
|
|
79
|
-
<title>{title}{siteName ? ` | ${siteName}` : ''}</title>
|
|
80
|
-
</head>
|
|
81
|
-
<body>
|
|
82
|
-
<a href="#main-content" className={styles.skipLink}>Skip to main content</a>
|
|
83
|
-
<header className={styles.header}>
|
|
84
|
-
<nav aria-label="Main navigation">
|
|
85
|
-
<ul className={styles.navList}>
|
|
86
|
-
<li key={siteHome.getPath()}>
|
|
87
|
-
<a
|
|
88
|
-
href={buildNodeUrl(siteHome)}
|
|
89
|
-
aria-current={siteHome.getPath() === mainNode.getPath() ? 'page' : undefined}
|
|
90
|
-
>
|
|
91
|
-
{siteHome.getPropertyAsString('jcr:title') ?? siteHome.getName()}
|
|
92
|
-
</a>
|
|
93
|
-
</li>
|
|
94
|
-
{navPages.map(page => (
|
|
95
|
-
<li key={page.getPath()}>
|
|
96
|
-
<a
|
|
97
|
-
href={buildNodeUrl(page)}
|
|
98
|
-
aria-current={page.getPath() === mainNode.getPath() ? 'page' : undefined}
|
|
99
|
-
>
|
|
100
|
-
{page.getPropertyAsString('jcr:title') ?? page.getName()}
|
|
101
|
-
</a>
|
|
102
|
-
</li>
|
|
103
|
-
))}
|
|
104
|
-
</ul>
|
|
105
|
-
</nav>
|
|
106
|
-
</header>
|
|
107
|
-
<main id="main-content">
|
|
108
|
-
<h1 className={styles.pageTitle}>{title}</h1>
|
|
109
|
-
<Area name="pagecontent" />
|
|
110
|
-
</main>
|
|
111
|
-
<footer className={styles.footer}>
|
|
112
|
-
<AbsoluteArea name="footer" parent={renderContext.getSite()} />
|
|
113
|
-
<p className={styles.copyright}>{'© '}{renderContext.getSite().getName()}</p>
|
|
114
|
-
</footer>
|
|
115
|
-
</body>
|
|
116
|
-
</html>
|
|
117
|
-
);
|
|
118
|
-
}
|
|
119
|
-
);
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Also create `src/templates/<ModuleName>Template/template.module.css` with minimal header/footer styles including `.skipLink` (visually hidden until focused), `.navList` (horizontal flex list), `.pageTitle`, and `.copyright`.
|
|
123
|
-
|
|
124
|
-
**Then, for each component** in the plan:
|
|
125
|
-
|
|
126
|
-
1. Create `src/components/<Category>/<Name>/definition.cnd`
|
|
127
|
-
- **⚠️ This file only. Never add component types to `settings/definitions.cnd` — that file is for namespace declarations and the module base mixin only.**
|
|
128
|
-
- Namespace declarations at top (e.g. `<ns = 'https://example.com/ns/nt/1.0'>`)
|
|
129
|
-
- Extend `namespacemix:pageComponent` (for page-area components) or `namespacemix:component` (for children)
|
|
130
|
-
- Use `mix:title` for titles, NOT `- title (string)`
|
|
131
|
-
- Use `(weakreference, picker[type='image']) < jmix:image` for images
|
|
132
|
-
- Use `j:linkType (string, choicelist[linkTypeInitializer]) mandatory` for links
|
|
133
|
-
- Child items use `+ * (ns:childType) orderable`
|
|
134
|
-
- i18n on ALL user-visible string/textarea/richtext properties
|
|
135
|
-
|
|
136
|
-
**After writing the CND file, immediately run the checker and loop until clean:**
|
|
137
|
-
|
|
138
|
-
```bash
|
|
139
|
-
CND_SCRIPT=$(find .claude .agents -name "check-cnd.mjs" 2>/dev/null | head -1)
|
|
140
|
-
[ -n "$CND_SCRIPT" ] && node "$CND_SCRIPT" src/components/<Category>/<Name>/definition.cnd
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
- If the result is `FAIL`: read each issue, apply the fix, re-run.
|
|
144
|
-
- Repeat until the result is `PASS`.
|
|
145
|
-
- **Do not write the view (`types.ts`, `default.server.tsx`) until the CND is clean.**
|
|
146
|
-
|
|
147
|
-
2. Create `src/components/<Category>/<Name>/types.ts`
|
|
148
|
-
- All props use `?:` (optional) even if mandatory in CND
|
|
149
|
-
- Import `JCRNodeWrapper` from `@jahia/javascript-modules-library` for node refs
|
|
150
|
-
|
|
151
|
-
3. Create `src/components/<Category>/<Name>/default.server.tsx`
|
|
152
|
-
- Import `Props` from `./types.js`
|
|
153
|
-
- Use semantic HTML: `<section>`, `<article>`, `<header>`, `<main>`
|
|
154
|
-
- **Components use `<h2>` for their primary heading, `<h3>` for sub-headings. Never `<h1>` — the page template owns the h1.**
|
|
155
|
-
- Guard all props: `{prop?.value && <span>{prop.value}</span>}`
|
|
156
|
-
- Guard node URLs: `prop["j:linknode"] ? buildNodeUrl(prop["j:linknode"]) : "#"`
|
|
157
|
-
- `alt` on every `<img>`: use `imageAlt || title || 'Image'` — never fall back to empty string
|
|
158
|
-
|
|
159
|
-
4. Create `src/components/<Category>/<Name>/component.module.css`
|
|
160
|
-
- Scoped CSS for the component
|
|
161
|
-
- Mobile-first responsive
|
|
162
|
-
- Colour contrast ≥ 4.5:1 for text on background
|
|
163
|
-
|
|
164
|
-
**After each component, deploy and verify it renders before moving to the next.**
|
|
165
|
-
|
|
166
|
-
**Check TypeScript types before each deploy:**
|
|
167
|
-
|
|
168
|
-
```bash
|
|
169
|
-
tsc --noEmit 2>&1 | head -30
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
Fix every type error before running `yarn build`. Use `mcp__ide__getDiagnostics` on each `.tsx` file for inline feedback — never grep `node_modules` for API signatures.
|
|
173
|
-
|
|
174
|
-
**Validate all CNDs before each deploy (final gate):**
|
|
175
|
-
|
|
176
|
-
```bash
|
|
177
|
-
CND_SCRIPT=$(find .claude .agents -name "check-cnd.mjs" 2>/dev/null | head -1)
|
|
178
|
-
[ -n "$CND_SCRIPT" ] && node "$CND_SCRIPT" src/
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
If the result is `FAIL`, fix every issue and re-run until `PASS`. Do not run `yarn build` until the checker is clean.
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
## Step 4 — Deploy
|
|
186
|
-
|
|
187
|
-
```bash
|
|
188
|
-
yarn build && yarn jahia-deploy
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
If it fails, read the error, fix it, and retry. Record the outcome.
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## Step 5 — Create content (only if deploy succeeded)
|
|
196
|
-
|
|
197
|
-
Use MCP tools (the `jahia` MCP server) to:
|
|
198
|
-
1. Discover the site key
|
|
199
|
-
2. Create all pages as children of the home page (`parentPath: /sites/<key>/home`) — set `jcr:title` to the **short page name only** (e.g. "Car Insurance", not "Car Insurance | Acme Corp"). The template appends the site name to `<title>` automatically.
|
|
200
|
-
3. Before creating content nodes, verify the parent area node exists with `content.get`. If it does not exist, create it first with the correct `jcr:primaryType` (e.g. `namespace:pageArea`).
|
|
201
|
-
4. Create content nodes and populate them with realistic copy
|
|
202
|
-
5. Publish all pages
|
|
203
|
-
|
|
204
|
-
**Verify every page renders real content and passes a11y + SEO checks:**
|
|
205
|
-
|
|
206
|
-
```bash
|
|
207
|
-
SCRIPT=$(find .claude .agents -name "review-pages.mjs" 2>/dev/null | head -1)
|
|
208
|
-
node "$SCRIPT" 2>&1 | tee /tmp/site-review.txt
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
The script checks each URL in `pages.json` for:
|
|
212
|
-
1. HTTP 200 and no Jahia error markers
|
|
213
|
-
2. A11y: no critical/serious WCAG 2.1 AA violations (axe-core)
|
|
214
|
-
3. SEO: `<title>`, `<meta name="description">`, single `<h1>`, all `<img>` have `alt`
|
|
215
|
-
|
|
216
|
-
If the script exits 1, read the violations, fix them in the source, redeploy (`yarn build && yarn jahia-deploy`), and re-run. Do not write `pages.json` until the script exits 0.
|
|
217
|
-
|
|
218
|
-
**Tooling check** — if `review-pages.mjs` reports missing modules:
|
|
219
|
-
```bash
|
|
220
|
-
npm install --no-save @axe-core/playwright playwright && npx playwright install chromium --with-deps
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
---
|
|
224
|
-
|
|
225
|
-
## Step 6 — Write pages.json
|
|
226
|
-
|
|
227
|
-
Only reach this step once every page verified clean in Step 5.
|
|
228
|
-
|
|
229
|
-
Collect the public URLs for all pages — URLs that return the full rendered page without requiring authentication. MCP tools often return edit/preview mode URLs; convert them to their publicly accessible equivalent before writing.
|
|
230
|
-
|
|
231
|
-
Write `pages.json`:
|
|
232
|
-
```json
|
|
233
|
-
["http://localhost:8080/cms/render/live/en/sites/<siteKey>/home.html", "..."]
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
---
|
|
237
|
-
|
|
238
|
-
## Step 7 — Write DEV_STATUS.md
|
|
239
|
-
|
|
240
|
-
Write a `DEV_STATUS.md` file in the project root:
|
|
241
|
-
|
|
242
|
-
```
|
|
243
|
-
# Dev Status
|
|
244
|
-
|
|
245
|
-
## Status
|
|
246
|
-
COMPLETE
|
|
247
|
-
|
|
248
|
-
## Components built
|
|
249
|
-
<list each component and whether CND + view + CSS were created>
|
|
250
|
-
|
|
251
|
-
## Deploy
|
|
252
|
-
SUCCESS | FAILED — <error if failed>
|
|
253
|
-
|
|
254
|
-
## Content
|
|
255
|
-
<number> pages created and published | SKIPPED | FAILED — <error>
|
|
256
|
-
|
|
257
|
-
## pages.json written
|
|
258
|
-
YES | NO
|
|
259
|
-
|
|
260
|
-
## Notes
|
|
261
|
-
<any issues, skipped items, or errors>
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
Set Status to FAILED if deploy or content creation failed and could not be recovered.
|