@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.
Files changed (373) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/claude/.claude/rules/jahia.md +1 -37
  3. package/dist/claude/.claude/skills/jahia-cnd-author/SKILL.md +94 -0
  4. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  5. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  6. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  7. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  8. package/dist/{opencode/.opencode/agents → claude/.claude/skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
  9. package/dist/{opencode/.opencode/agents → claude/.claude/skills/jahia-cnd-author/references}/cnd-string-selectors.md +49 -10
  10. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  11. package/dist/claude/.claude/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  12. package/dist/claude/.claude/skills/jahia-dev-accessibility/SKILL.md +5 -265
  13. package/dist/claude/.claude/skills/jahia-dev-build-component/SKILL.md +13 -8
  14. package/dist/claude/CLAUDE.md +2 -38
  15. package/dist/codex/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  16. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  17. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  18. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  19. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  20. package/dist/{claude/.claude/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
  21. package/dist/{cursor/.cursor/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-string-selectors.md +49 -10
  22. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  23. package/dist/codex/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  24. package/dist/codex/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  25. package/dist/codex/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  26. package/dist/codex/AGENTS.md +2 -38
  27. package/dist/copilot/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  28. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  29. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  30. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  31. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  32. package/dist/{cursor/.cursor/agents → copilot/.agents/skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
  33. package/dist/{claude/.claude/agents → copilot/.agents/skills/jahia-cnd-author/references}/cnd-string-selectors.md +49 -10
  34. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  35. package/dist/copilot/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  36. package/dist/copilot/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  37. package/dist/copilot/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  38. package/dist/copilot/AGENTS.md +2 -38
  39. package/dist/cursor/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  40. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  41. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  42. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  43. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  44. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  45. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  46. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  47. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  48. package/dist/cursor/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  49. package/dist/cursor/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  50. package/dist/cursor/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  51. package/dist/cursor/.cursor/rules/jahia.mdc +1 -37
  52. package/dist/gemini/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  53. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  54. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  55. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  56. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  57. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  58. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  59. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  60. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  61. package/dist/gemini/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  62. package/dist/gemini/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  63. package/dist/gemini/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  64. package/dist/gemini/AGENTS.md +2 -38
  65. package/dist/opencode/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  66. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  67. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  68. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  69. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  70. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  71. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  72. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  73. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  74. package/dist/opencode/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  75. package/dist/opencode/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  76. package/dist/opencode/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  77. package/dist/opencode/AGENTS.md +2 -38
  78. package/dist/windsurf/.windsurf/rules/jahia.md +1 -37
  79. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/SKILL.md +94 -0
  80. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  81. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  82. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  83. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  84. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  85. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  86. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  87. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  88. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  89. package/dist/windsurf/.windsurf/skills/jahia-dev-accessibility/SKILL.md +5 -265
  90. package/dist/windsurf/.windsurf/skills/jahia-dev-build-component/SKILL.md +13 -8
  91. package/dist/windsurf/AGENTS.md +2 -38
  92. package/package.json +1 -1
  93. package/dist/claude/.claude/agents/cnd-jahia-mixins.md +0 -113
  94. package/dist/claude/.claude/agents/jahia-cnd-author.md +0 -130
  95. package/dist/claude/.claude/agents/jahia-dev-worker.md +0 -264
  96. package/dist/claude/.claude/agents/jahia-reviewer.md +0 -105
  97. package/dist/claude/.claude/skills/jahia/SKILL.md +0 -148
  98. package/dist/claude/.claude/skills/jahia-content/SKILL.md +0 -157
  99. package/dist/claude/.claude/skills/jahia-content-create-content/SKILL.md +0 -359
  100. package/dist/claude/.claude/skills/jahia-content-explore-structure/SKILL.md +0 -255
  101. package/dist/claude/.claude/skills/jahia-content-media-upload/SKILL.md +0 -197
  102. package/dist/claude/.claude/skills/jahia-content-move-content/SKILL.md +0 -231
  103. package/dist/claude/.claude/skills/jahia-content-organize/SKILL.md +0 -209
  104. package/dist/claude/.claude/skills/jahia-content-publish/SKILL.md +0 -181
  105. package/dist/claude/.claude/skills/jahia-content-query-content/SKILL.md +0 -174
  106. package/dist/claude/.claude/skills/jahia-content-translate-content/SKILL.md +0 -226
  107. package/dist/claude/.claude/skills/jahia-dev/SKILL.md +0 -124
  108. package/dist/claude/.claude/skills/jahia-dev-apis/SKILL.md +0 -52
  109. package/dist/claude/.claude/skills/jahia-dev-apis/references/authentication.md +0 -484
  110. package/dist/claude/.claude/skills/jahia-dev-apis/references/graphql.md +0 -657
  111. package/dist/claude/.claude/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  112. package/dist/claude/.claude/skills/jahia-dev-apis/references/security.md +0 -541
  113. package/dist/claude/.claude/skills/jahia-dev-cypress/SKILL.md +0 -265
  114. package/dist/claude/.claude/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  115. package/dist/claude/.claude/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  116. package/dist/claude/.claude/skills/jahia-dev-java/SKILL.md +0 -110
  117. package/dist/claude/.claude/skills/jahia-dev-java/references/backend.md +0 -331
  118. package/dist/claude/.claude/skills/jahia-dev-java/references/content-types.md +0 -273
  119. package/dist/claude/.claude/skills/jahia-dev-java/references/modules.md +0 -218
  120. package/dist/claude/.claude/skills/jahia-dev-java/references/osgi.md +0 -208
  121. package/dist/claude/.claude/skills/jahia-dev-java/references/rendering.md +0 -191
  122. package/dist/claude/.claude/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  123. package/dist/claude/.claude/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  124. package/dist/claude/.claude/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  125. package/dist/claude/.claude/skills/jahia-java-concurrency/SKILL.md +0 -308
  126. package/dist/claude/.claude/skills/jahia-java-jcr/SKILL.md +0 -153
  127. package/dist/claude/.claude/skills/jahia-java-osgi/SKILL.md +0 -134
  128. package/dist/claude/.claude/skills/jahia-java-persistence/SKILL.md +0 -177
  129. package/dist/claude/.claude/skills/jahia-java-security/SKILL.md +0 -84
  130. package/dist/claude/.claude/skills/jahia-orchestrate/SKILL.md +0 -148
  131. package/dist/claude/.claude/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  132. package/dist/claude/.claude/skills/jahia-review-java/SKILL.md +0 -131
  133. package/dist/claude/.claude/skills/jahia-review-java/references/code-review-output.md +0 -121
  134. package/dist/codex/.agents/skills/jahia/SKILL.md +0 -148
  135. package/dist/codex/.agents/skills/jahia-content/SKILL.md +0 -157
  136. package/dist/codex/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  137. package/dist/codex/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  138. package/dist/codex/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  139. package/dist/codex/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  140. package/dist/codex/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  141. package/dist/codex/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  142. package/dist/codex/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  143. package/dist/codex/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  144. package/dist/codex/.agents/skills/jahia-dev/SKILL.md +0 -124
  145. package/dist/codex/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  146. package/dist/codex/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  147. package/dist/codex/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  148. package/dist/codex/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  149. package/dist/codex/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  150. package/dist/codex/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  151. package/dist/codex/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  152. package/dist/codex/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  153. package/dist/codex/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  154. package/dist/codex/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  155. package/dist/codex/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  156. package/dist/codex/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  157. package/dist/codex/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  158. package/dist/codex/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  159. package/dist/codex/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  160. package/dist/codex/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  161. package/dist/codex/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  162. package/dist/codex/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  163. package/dist/codex/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  164. package/dist/codex/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  165. package/dist/codex/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  166. package/dist/codex/.agents/skills/jahia-java-security/SKILL.md +0 -84
  167. package/dist/codex/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  168. package/dist/codex/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  169. package/dist/codex/.agents/skills/jahia-review-java/SKILL.md +0 -131
  170. package/dist/codex/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  171. package/dist/codex/.codex/agents/cnd-child-nodes.toml +0 -3
  172. package/dist/codex/.codex/agents/cnd-jahia-mixins.toml +0 -3
  173. package/dist/codex/.codex/agents/cnd-numbers-dates.toml +0 -3
  174. package/dist/codex/.codex/agents/cnd-string-selectors.toml +0 -3
  175. package/dist/codex/.codex/agents/jahia-cnd-author.toml +0 -3
  176. package/dist/codex/.codex/agents/jahia-dev-worker.toml +0 -3
  177. package/dist/codex/.codex/agents/jahia-reviewer.toml +0 -3
  178. package/dist/copilot/.agents/skills/jahia/SKILL.md +0 -148
  179. package/dist/copilot/.agents/skills/jahia-content/SKILL.md +0 -157
  180. package/dist/copilot/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  181. package/dist/copilot/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  182. package/dist/copilot/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  183. package/dist/copilot/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  184. package/dist/copilot/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  185. package/dist/copilot/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  186. package/dist/copilot/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  187. package/dist/copilot/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  188. package/dist/copilot/.agents/skills/jahia-dev/SKILL.md +0 -124
  189. package/dist/copilot/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  190. package/dist/copilot/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  191. package/dist/copilot/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  192. package/dist/copilot/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  193. package/dist/copilot/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  194. package/dist/copilot/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  195. package/dist/copilot/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  196. package/dist/copilot/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  197. package/dist/copilot/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  198. package/dist/copilot/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  199. package/dist/copilot/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  200. package/dist/copilot/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  201. package/dist/copilot/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  202. package/dist/copilot/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  203. package/dist/copilot/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  204. package/dist/copilot/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  205. package/dist/copilot/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  206. package/dist/copilot/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  207. package/dist/copilot/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  208. package/dist/copilot/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  209. package/dist/copilot/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  210. package/dist/copilot/.agents/skills/jahia-java-security/SKILL.md +0 -84
  211. package/dist/copilot/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  212. package/dist/copilot/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  213. package/dist/copilot/.agents/skills/jahia-review-java/SKILL.md +0 -131
  214. package/dist/copilot/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  215. package/dist/cursor/.agents/skills/jahia/SKILL.md +0 -148
  216. package/dist/cursor/.agents/skills/jahia-content/SKILL.md +0 -157
  217. package/dist/cursor/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  218. package/dist/cursor/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  219. package/dist/cursor/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  220. package/dist/cursor/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  221. package/dist/cursor/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  222. package/dist/cursor/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  223. package/dist/cursor/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  224. package/dist/cursor/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  225. package/dist/cursor/.agents/skills/jahia-dev/SKILL.md +0 -124
  226. package/dist/cursor/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  227. package/dist/cursor/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  228. package/dist/cursor/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  229. package/dist/cursor/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  230. package/dist/cursor/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  231. package/dist/cursor/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  232. package/dist/cursor/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  233. package/dist/cursor/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  234. package/dist/cursor/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  235. package/dist/cursor/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  236. package/dist/cursor/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  237. package/dist/cursor/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  238. package/dist/cursor/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  239. package/dist/cursor/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  240. package/dist/cursor/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  241. package/dist/cursor/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  242. package/dist/cursor/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  243. package/dist/cursor/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  244. package/dist/cursor/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  245. package/dist/cursor/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  246. package/dist/cursor/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  247. package/dist/cursor/.agents/skills/jahia-java-security/SKILL.md +0 -84
  248. package/dist/cursor/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  249. package/dist/cursor/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  250. package/dist/cursor/.agents/skills/jahia-review-java/SKILL.md +0 -131
  251. package/dist/cursor/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  252. package/dist/cursor/.cursor/agents/cnd-jahia-mixins.md +0 -113
  253. package/dist/cursor/.cursor/agents/jahia-cnd-author.md +0 -130
  254. package/dist/cursor/.cursor/agents/jahia-dev-worker.md +0 -264
  255. package/dist/cursor/.cursor/agents/jahia-reviewer.md +0 -105
  256. package/dist/gemini/.agents/skills/jahia/SKILL.md +0 -148
  257. package/dist/gemini/.agents/skills/jahia-content/SKILL.md +0 -157
  258. package/dist/gemini/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  259. package/dist/gemini/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  260. package/dist/gemini/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  261. package/dist/gemini/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  262. package/dist/gemini/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  263. package/dist/gemini/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  264. package/dist/gemini/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  265. package/dist/gemini/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  266. package/dist/gemini/.agents/skills/jahia-dev/SKILL.md +0 -124
  267. package/dist/gemini/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  268. package/dist/gemini/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  269. package/dist/gemini/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  270. package/dist/gemini/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  271. package/dist/gemini/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  272. package/dist/gemini/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  273. package/dist/gemini/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  274. package/dist/gemini/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  275. package/dist/gemini/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  276. package/dist/gemini/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  277. package/dist/gemini/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  278. package/dist/gemini/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  279. package/dist/gemini/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  280. package/dist/gemini/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  281. package/dist/gemini/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  282. package/dist/gemini/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  283. package/dist/gemini/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  284. package/dist/gemini/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  285. package/dist/gemini/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  286. package/dist/gemini/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  287. package/dist/gemini/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  288. package/dist/gemini/.agents/skills/jahia-java-security/SKILL.md +0 -84
  289. package/dist/gemini/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  290. package/dist/gemini/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  291. package/dist/gemini/.agents/skills/jahia-review-java/SKILL.md +0 -131
  292. package/dist/gemini/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  293. package/dist/opencode/.agents/skills/jahia/SKILL.md +0 -148
  294. package/dist/opencode/.agents/skills/jahia-content/SKILL.md +0 -157
  295. package/dist/opencode/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  296. package/dist/opencode/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  297. package/dist/opencode/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  298. package/dist/opencode/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  299. package/dist/opencode/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  300. package/dist/opencode/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  301. package/dist/opencode/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  302. package/dist/opencode/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  303. package/dist/opencode/.agents/skills/jahia-dev/SKILL.md +0 -124
  304. package/dist/opencode/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  305. package/dist/opencode/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  306. package/dist/opencode/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  307. package/dist/opencode/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  308. package/dist/opencode/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  309. package/dist/opencode/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  310. package/dist/opencode/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  311. package/dist/opencode/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  312. package/dist/opencode/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  313. package/dist/opencode/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  314. package/dist/opencode/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  315. package/dist/opencode/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  316. package/dist/opencode/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  317. package/dist/opencode/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  318. package/dist/opencode/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  319. package/dist/opencode/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  320. package/dist/opencode/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  321. package/dist/opencode/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  322. package/dist/opencode/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  323. package/dist/opencode/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  324. package/dist/opencode/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  325. package/dist/opencode/.agents/skills/jahia-java-security/SKILL.md +0 -84
  326. package/dist/opencode/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  327. package/dist/opencode/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  328. package/dist/opencode/.agents/skills/jahia-review-java/SKILL.md +0 -131
  329. package/dist/opencode/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  330. package/dist/opencode/.opencode/agents/cnd-jahia-mixins.md +0 -113
  331. package/dist/opencode/.opencode/agents/jahia-cnd-author.md +0 -130
  332. package/dist/opencode/.opencode/agents/jahia-dev-worker.md +0 -264
  333. package/dist/opencode/.opencode/agents/jahia-reviewer.md +0 -105
  334. package/dist/windsurf/.windsurf/skills/jahia/SKILL.md +0 -148
  335. package/dist/windsurf/.windsurf/skills/jahia-content/SKILL.md +0 -157
  336. package/dist/windsurf/.windsurf/skills/jahia-content-create-content/SKILL.md +0 -359
  337. package/dist/windsurf/.windsurf/skills/jahia-content-explore-structure/SKILL.md +0 -255
  338. package/dist/windsurf/.windsurf/skills/jahia-content-media-upload/SKILL.md +0 -197
  339. package/dist/windsurf/.windsurf/skills/jahia-content-move-content/SKILL.md +0 -231
  340. package/dist/windsurf/.windsurf/skills/jahia-content-organize/SKILL.md +0 -209
  341. package/dist/windsurf/.windsurf/skills/jahia-content-publish/SKILL.md +0 -181
  342. package/dist/windsurf/.windsurf/skills/jahia-content-query-content/SKILL.md +0 -174
  343. package/dist/windsurf/.windsurf/skills/jahia-content-translate-content/SKILL.md +0 -226
  344. package/dist/windsurf/.windsurf/skills/jahia-dev/SKILL.md +0 -124
  345. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/SKILL.md +0 -52
  346. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/authentication.md +0 -484
  347. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/graphql.md +0 -657
  348. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  349. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/security.md +0 -541
  350. package/dist/windsurf/.windsurf/skills/jahia-dev-cypress/SKILL.md +0 -265
  351. package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  352. package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  353. package/dist/windsurf/.windsurf/skills/jahia-dev-java/SKILL.md +0 -110
  354. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/backend.md +0 -331
  355. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/content-types.md +0 -273
  356. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/modules.md +0 -218
  357. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/osgi.md +0 -208
  358. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/rendering.md +0 -191
  359. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  360. package/dist/windsurf/.windsurf/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  361. package/dist/windsurf/.windsurf/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  362. package/dist/windsurf/.windsurf/skills/jahia-java-concurrency/SKILL.md +0 -308
  363. package/dist/windsurf/.windsurf/skills/jahia-java-jcr/SKILL.md +0 -153
  364. package/dist/windsurf/.windsurf/skills/jahia-java-osgi/SKILL.md +0 -134
  365. package/dist/windsurf/.windsurf/skills/jahia-java-persistence/SKILL.md +0 -177
  366. package/dist/windsurf/.windsurf/skills/jahia-java-security/SKILL.md +0 -84
  367. package/dist/windsurf/.windsurf/skills/jahia-orchestrate/SKILL.md +0 -148
  368. package/dist/windsurf/.windsurf/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  369. package/dist/windsurf/.windsurf/skills/jahia-review-java/SKILL.md +0 -131
  370. package/dist/windsurf/.windsurf/skills/jahia-review-java/references/code-review-output.md +0 -121
  371. /package/dist/claude/.claude/{agents → skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
  372. /package/dist/{cursor/.cursor/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
  373. /package/dist/{opencode/.opencode/agents → copilot/.agents/skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
@@ -1,6 +1,6 @@
1
1
  # AGENTS.md
2
2
  <!-- Generated by APM CLI from distributed .apm/ primitives -->
3
- <!-- Build ID: 4b60eae51ba0 -->
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
- - **Page Builder**: http://localhost:8080/jahia/page-builder
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jahia/agentic",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "A CLI to bootstrap an agentic harness for Jahia",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -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.
@@ -1,105 +0,0 @@
1
- ---
2
- name: jahia-reviewer
3
- description: Code review agent for Jahia modules. Reads the module source and writes REVIEW.md with findings from the jahia-dev-review criteria. Invoked by the orchestrator after each dev cycle.
4
- allowed-tools: Read, Bash
5
- # No tools: block — consistent with other agents; Claude Code allows all by default
6
- ---
7
-
8
- You are the Jahia code reviewer. Your job is to read the module source and report findings. You do NOT fix anything — you only report. Keep your analysis focused and your output concise.
9
-
10
- ## Step 1 — Collect files to review
11
-
12
- ```bash
13
- find src/ -name "definition.cnd" | sort
14
- find src/ -name "*.server.tsx" | sort
15
- find src/ -name "types.ts" | sort
16
- cat settings/definitions.cnd
17
- ```
18
-
19
- Read ALL of the above files before forming any conclusions.
20
-
21
- ---
22
-
23
- ## Step 2 — Run critical checks
24
-
25
- Scan for each of these. Report only what you actually find — do not guess or infer.
26
-
27
- ### 🔴 CRITICAL (must fix — causes broken pages or editor UX)
28
-
29
- **C1** — Any concrete CND type (not a mixin) extending `jmix:droppableContent` directly
30
- ```bash
31
- grep -rn "jmix:droppableContent" src/ --include="*.cnd" | grep -v "mixin"
32
- ```
33
-
34
- **C2** — Page template not registered with `nodeType: "jnt:page"`
35
- ```bash
36
- grep -rn "componentType.*template" src/templates/ --include="*.server.tsx"
37
- ```
38
- Flag if any template file uses `componentType: 'template'` but does NOT have `nodeType: 'jnt:page'`. Page templates must always target `jnt:page` — a custom namespace type (e.g. `ns:template`) will never match and causes Jahia to render an error page.
39
-
40
- Also flag: `fullPage` view with `componentType: "template"` (should be `componentType: "view"`).
41
-
42
- **C3** — CND type explicitly declaring `j:linknode` or `j:url` fields
43
- ```bash
44
- grep -rn "j:linknode\|j:url" src/ --include="*.cnd"
45
- ```
46
-
47
- **C4** — View using `j:linkType` value directly as an `href`
48
- ```bash
49
- grep -rn 'href=.*j:linkType\|href=.*\["j:linkType"\]' src/ --include="*.server.tsx" --include="*.client.tsx"
50
- ```
51
- Note: a `switch(props["j:linkType"])` block is CORRECT usage — do NOT flag it. Only flag if the `j:linkType` value appears directly as an `href` attribute.
52
-
53
- **C8** — All `<Area>` elements using the same generic `nodeType`
54
- ```bash
55
- grep -rn "nodeType" src/templates/ --include="*.server.tsx"
56
- ```
57
-
58
- ### 🟡 WARNINGS (fix if time allows)
59
-
60
- **W1** — User-visible CND string/textarea without `i18n`
61
- ```bash
62
- grep -rn "(string\|textarea\|richtext)" src/ --include="*.cnd" | grep -v "i18n\|j:linkType\|j:url\|j:linknode"
63
- ```
64
-
65
- **W4** — Props typed as required (not `?:`) in types.ts
66
- ```bash
67
- grep -rn ": string\b\|: number\b\|: boolean\b" src/ --include="types.ts" | grep -v "?:"
68
- ```
69
-
70
- **W9** — Hardcoded URLs in views
71
- ```bash
72
- grep -rn 'href="http\|href="/\|href=`/' src/ --include="*.server.tsx" --include="*.client.tsx"
73
- ```
74
-
75
- ---
76
-
77
- ## Step 3 — Write REVIEW.md
78
-
79
- Write `REVIEW.md` in the project root. Be specific: include file path and line content for each finding.
80
-
81
- ```
82
- # Code Review — Round <N>
83
-
84
- ## Verdict
85
- PASS | NEEDS_WORK
86
-
87
- (PASS if zero Critical issues. NEEDS_WORK if any Critical issue found.)
88
-
89
- ## Critical Issues (must fix before next deploy)
90
- - [C1] src/components/Hero/definition.cnd:5 — extends jmix:droppableContent directly
91
- Fix: change to extend namespacemix:pageComponent
92
-
93
- (Write "None" if no critical issues.)
94
-
95
- ## Warnings (fix if time allows, do NOT redeploy just for these)
96
- ...
97
-
98
- ## Suggestions (informational only)
99
- ...
100
-
101
- ## Summary
102
- - Critical: N | Warnings: N | Suggestions: N
103
- ```
104
-
105
- Set Verdict to PASS only if there are **zero Critical issues**. Warnings and suggestions alone do not block.