@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.
Files changed (451) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/antigravity/.agents/rules/jahia.md +51 -0
  3. package/dist/antigravity/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  4. package/dist/antigravity/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  5. package/dist/antigravity/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  6. package/dist/antigravity/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  7. package/dist/antigravity/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  8. package/dist/{opencode/.opencode/agents → antigravity/.agents/skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
  9. package/dist/{opencode/.opencode/agents → antigravity/.agents/skills/jahia-cnd-author/references}/cnd-string-selectors.md +49 -10
  10. package/dist/antigravity/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  11. package/dist/antigravity/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  12. package/dist/antigravity/.agents/skills/jahia-dev-accessibility/SKILL.md +11 -0
  13. package/dist/antigravity/.agents/skills/jahia-dev-build-component/SKILL.md +133 -0
  14. package/dist/antigravity/.agents/skills/jahia-dev-create-page-template/SKILL.md +341 -0
  15. package/dist/antigravity/.agents/skills/jahia-dev-create-template-set/SKILL.md +205 -0
  16. package/dist/antigravity/.agents/skills/jahia-dev-create-view/SKILL.md +896 -0
  17. package/dist/antigravity/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
  18. package/dist/antigravity/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
  19. package/dist/antigravity/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
  20. package/dist/antigravity/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
  21. package/dist/antigravity/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
  22. package/dist/antigravity/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
  23. package/dist/antigravity/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
  24. package/dist/antigravity/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
  25. package/dist/antigravity/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
  26. package/dist/antigravity/.agents/skills/jahia-dev-query-content/SKILL.md +204 -0
  27. package/dist/antigravity/.agents/skills/jahia-dev-review/SKILL.md +228 -0
  28. package/dist/antigravity/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  29. package/dist/antigravity/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  30. package/dist/antigravity/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  31. package/dist/antigravity/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
  32. package/dist/antigravity/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
  33. package/dist/antigravity/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  34. package/dist/antigravity/.agents/skills/jahia-dev-start-local/SKILL.md +121 -0
  35. package/dist/antigravity/.agents/skills/jahia-jcr-sql2/SKILL.md +258 -0
  36. package/dist/antigravity/AGENTS.md +62 -0
  37. package/dist/claude/.claude/rules/jahia.md +1 -37
  38. package/dist/claude/.claude/skills/jahia-cnd-author/SKILL.md +94 -0
  39. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  40. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  41. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  42. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  43. package/dist/claude/.claude/{agents → skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
  44. package/dist/{cursor/.cursor/agents → claude/.claude/skills/jahia-cnd-author/references}/cnd-string-selectors.md +49 -10
  45. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  46. package/dist/claude/.claude/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  47. package/dist/claude/.claude/skills/jahia-dev-accessibility/SKILL.md +5 -265
  48. package/dist/claude/.claude/skills/jahia-dev-build-component/SKILL.md +13 -8
  49. package/dist/claude/.mcp.json +11 -0
  50. package/dist/claude/CLAUDE.md +2 -38
  51. package/dist/codex/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  52. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  53. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  54. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  55. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  56. package/dist/{cursor/.cursor/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
  57. package/dist/{claude/.claude/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-string-selectors.md +49 -10
  58. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  59. package/dist/codex/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  60. package/dist/codex/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  61. package/dist/codex/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  62. package/dist/codex/AGENTS.md +2 -38
  63. package/dist/copilot/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  64. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  65. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  66. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  67. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  68. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  69. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  70. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  71. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  72. package/dist/copilot/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  73. package/dist/copilot/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  74. package/dist/copilot/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  75. package/dist/copilot/AGENTS.md +2 -38
  76. package/dist/cursor/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  77. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  78. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  79. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  80. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  81. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  82. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  83. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  84. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  85. package/dist/cursor/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  86. package/dist/cursor/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  87. package/dist/cursor/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  88. package/dist/cursor/.cursor/mcp.json +11 -0
  89. package/dist/cursor/.cursor/rules/jahia.mdc +1 -37
  90. package/dist/gemini/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  91. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  92. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  93. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  94. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  95. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  96. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  97. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  98. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  99. package/dist/gemini/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  100. package/dist/gemini/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  101. package/dist/gemini/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  102. package/dist/gemini/.gemini/settings.json +10 -0
  103. package/dist/gemini/AGENTS.md +2 -38
  104. package/dist/index.js +12 -0
  105. package/dist/kiro/.kiro/settings/mcp.json +10 -0
  106. package/dist/kiro/.kiro/skills/jahia-cnd-author/SKILL.md +94 -0
  107. package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  108. package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  109. package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  110. package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  111. package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  112. package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  113. package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  114. package/dist/kiro/.kiro/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  115. package/dist/kiro/.kiro/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  116. package/dist/kiro/.kiro/skills/jahia-dev-accessibility/SKILL.md +11 -0
  117. package/dist/kiro/.kiro/skills/jahia-dev-build-component/SKILL.md +133 -0
  118. package/dist/kiro/.kiro/skills/jahia-dev-create-page-template/SKILL.md +341 -0
  119. package/dist/kiro/.kiro/skills/jahia-dev-create-template-set/SKILL.md +205 -0
  120. package/dist/kiro/.kiro/skills/jahia-dev-create-view/SKILL.md +896 -0
  121. package/dist/kiro/.kiro/skills/jahia-dev-debug/SKILL.md +176 -0
  122. package/dist/kiro/.kiro/skills/jahia-dev-import-from/SKILL.md +244 -0
  123. package/dist/kiro/.kiro/skills/jahia-dev-jexperience/SKILL.md +269 -0
  124. package/dist/kiro/.kiro/skills/jahia-dev-ops/SKILL.md +50 -0
  125. package/dist/kiro/.kiro/skills/jahia-dev-ops/references/docker.md +151 -0
  126. package/dist/kiro/.kiro/skills/jahia-dev-ops/references/monitoring.md +195 -0
  127. package/dist/kiro/.kiro/skills/jahia-dev-ops/references/provisioning.md +269 -0
  128. package/dist/kiro/.kiro/skills/jahia-dev-properties/SKILL.md +147 -0
  129. package/dist/kiro/.kiro/skills/jahia-dev-properties/references/all-properties.md +231 -0
  130. package/dist/kiro/.kiro/skills/jahia-dev-query-content/SKILL.md +204 -0
  131. package/dist/kiro/.kiro/skills/jahia-dev-review/SKILL.md +228 -0
  132. package/dist/kiro/.kiro/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  133. package/dist/kiro/.kiro/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  134. package/dist/kiro/.kiro/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  135. package/dist/kiro/.kiro/skills/jahia-dev-screenshot/SKILL.md +177 -0
  136. package/dist/kiro/.kiro/skills/jahia-dev-site-review/SKILL.md +70 -0
  137. package/dist/kiro/.kiro/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  138. package/dist/kiro/.kiro/skills/jahia-dev-start-local/SKILL.md +121 -0
  139. package/dist/kiro/.kiro/skills/jahia-jcr-sql2/SKILL.md +258 -0
  140. package/dist/kiro/.kiro/steering/jahia.md +55 -0
  141. package/dist/kiro/AGENTS.md +62 -0
  142. package/dist/opencode/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  143. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  144. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  145. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  146. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  147. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  148. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  149. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  150. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  151. package/dist/opencode/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  152. package/dist/opencode/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  153. package/dist/opencode/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  154. package/dist/opencode/AGENTS.md +2 -38
  155. package/dist/opencode/opencode.json +12 -0
  156. package/dist/windsurf/.windsurf/rules/jahia.md +1 -37
  157. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/SKILL.md +94 -0
  158. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  159. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  160. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  161. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  162. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  163. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  164. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  165. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  166. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  167. package/dist/windsurf/.windsurf/skills/jahia-dev-accessibility/SKILL.md +5 -265
  168. package/dist/windsurf/.windsurf/skills/jahia-dev-build-component/SKILL.md +13 -8
  169. package/dist/windsurf/AGENTS.md +2 -38
  170. package/package.json +1 -1
  171. package/dist/claude/.claude/agents/cnd-jahia-mixins.md +0 -113
  172. package/dist/claude/.claude/agents/jahia-cnd-author.md +0 -130
  173. package/dist/claude/.claude/agents/jahia-dev-worker.md +0 -264
  174. package/dist/claude/.claude/agents/jahia-reviewer.md +0 -105
  175. package/dist/claude/.claude/skills/jahia/SKILL.md +0 -148
  176. package/dist/claude/.claude/skills/jahia-content/SKILL.md +0 -157
  177. package/dist/claude/.claude/skills/jahia-content-create-content/SKILL.md +0 -359
  178. package/dist/claude/.claude/skills/jahia-content-explore-structure/SKILL.md +0 -255
  179. package/dist/claude/.claude/skills/jahia-content-media-upload/SKILL.md +0 -197
  180. package/dist/claude/.claude/skills/jahia-content-move-content/SKILL.md +0 -231
  181. package/dist/claude/.claude/skills/jahia-content-organize/SKILL.md +0 -209
  182. package/dist/claude/.claude/skills/jahia-content-publish/SKILL.md +0 -181
  183. package/dist/claude/.claude/skills/jahia-content-query-content/SKILL.md +0 -174
  184. package/dist/claude/.claude/skills/jahia-content-translate-content/SKILL.md +0 -226
  185. package/dist/claude/.claude/skills/jahia-dev/SKILL.md +0 -124
  186. package/dist/claude/.claude/skills/jahia-dev-apis/SKILL.md +0 -52
  187. package/dist/claude/.claude/skills/jahia-dev-apis/references/authentication.md +0 -484
  188. package/dist/claude/.claude/skills/jahia-dev-apis/references/graphql.md +0 -657
  189. package/dist/claude/.claude/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  190. package/dist/claude/.claude/skills/jahia-dev-apis/references/security.md +0 -541
  191. package/dist/claude/.claude/skills/jahia-dev-cypress/SKILL.md +0 -265
  192. package/dist/claude/.claude/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  193. package/dist/claude/.claude/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  194. package/dist/claude/.claude/skills/jahia-dev-java/SKILL.md +0 -110
  195. package/dist/claude/.claude/skills/jahia-dev-java/references/backend.md +0 -331
  196. package/dist/claude/.claude/skills/jahia-dev-java/references/content-types.md +0 -273
  197. package/dist/claude/.claude/skills/jahia-dev-java/references/modules.md +0 -218
  198. package/dist/claude/.claude/skills/jahia-dev-java/references/osgi.md +0 -208
  199. package/dist/claude/.claude/skills/jahia-dev-java/references/rendering.md +0 -191
  200. package/dist/claude/.claude/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  201. package/dist/claude/.claude/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  202. package/dist/claude/.claude/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  203. package/dist/claude/.claude/skills/jahia-java-concurrency/SKILL.md +0 -308
  204. package/dist/claude/.claude/skills/jahia-java-jcr/SKILL.md +0 -153
  205. package/dist/claude/.claude/skills/jahia-java-osgi/SKILL.md +0 -134
  206. package/dist/claude/.claude/skills/jahia-java-persistence/SKILL.md +0 -177
  207. package/dist/claude/.claude/skills/jahia-java-security/SKILL.md +0 -84
  208. package/dist/claude/.claude/skills/jahia-orchestrate/SKILL.md +0 -148
  209. package/dist/claude/.claude/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  210. package/dist/claude/.claude/skills/jahia-review-java/SKILL.md +0 -131
  211. package/dist/claude/.claude/skills/jahia-review-java/references/code-review-output.md +0 -121
  212. package/dist/codex/.agents/skills/jahia/SKILL.md +0 -148
  213. package/dist/codex/.agents/skills/jahia-content/SKILL.md +0 -157
  214. package/dist/codex/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  215. package/dist/codex/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  216. package/dist/codex/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  217. package/dist/codex/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  218. package/dist/codex/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  219. package/dist/codex/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  220. package/dist/codex/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  221. package/dist/codex/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  222. package/dist/codex/.agents/skills/jahia-dev/SKILL.md +0 -124
  223. package/dist/codex/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  224. package/dist/codex/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  225. package/dist/codex/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  226. package/dist/codex/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  227. package/dist/codex/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  228. package/dist/codex/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  229. package/dist/codex/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  230. package/dist/codex/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  231. package/dist/codex/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  232. package/dist/codex/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  233. package/dist/codex/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  234. package/dist/codex/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  235. package/dist/codex/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  236. package/dist/codex/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  237. package/dist/codex/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  238. package/dist/codex/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  239. package/dist/codex/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  240. package/dist/codex/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  241. package/dist/codex/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  242. package/dist/codex/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  243. package/dist/codex/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  244. package/dist/codex/.agents/skills/jahia-java-security/SKILL.md +0 -84
  245. package/dist/codex/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  246. package/dist/codex/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  247. package/dist/codex/.agents/skills/jahia-review-java/SKILL.md +0 -131
  248. package/dist/codex/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  249. package/dist/codex/.codex/agents/cnd-child-nodes.toml +0 -3
  250. package/dist/codex/.codex/agents/cnd-jahia-mixins.toml +0 -3
  251. package/dist/codex/.codex/agents/cnd-numbers-dates.toml +0 -3
  252. package/dist/codex/.codex/agents/cnd-string-selectors.toml +0 -3
  253. package/dist/codex/.codex/agents/jahia-cnd-author.toml +0 -3
  254. package/dist/codex/.codex/agents/jahia-dev-worker.toml +0 -3
  255. package/dist/codex/.codex/agents/jahia-reviewer.toml +0 -3
  256. package/dist/copilot/.agents/skills/jahia/SKILL.md +0 -148
  257. package/dist/copilot/.agents/skills/jahia-content/SKILL.md +0 -157
  258. package/dist/copilot/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  259. package/dist/copilot/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  260. package/dist/copilot/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  261. package/dist/copilot/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  262. package/dist/copilot/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  263. package/dist/copilot/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  264. package/dist/copilot/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  265. package/dist/copilot/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  266. package/dist/copilot/.agents/skills/jahia-dev/SKILL.md +0 -124
  267. package/dist/copilot/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  268. package/dist/copilot/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  269. package/dist/copilot/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  270. package/dist/copilot/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  271. package/dist/copilot/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  272. package/dist/copilot/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  273. package/dist/copilot/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  274. package/dist/copilot/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  275. package/dist/copilot/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  276. package/dist/copilot/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  277. package/dist/copilot/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  278. package/dist/copilot/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  279. package/dist/copilot/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  280. package/dist/copilot/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  281. package/dist/copilot/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  282. package/dist/copilot/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  283. package/dist/copilot/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  284. package/dist/copilot/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  285. package/dist/copilot/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  286. package/dist/copilot/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  287. package/dist/copilot/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  288. package/dist/copilot/.agents/skills/jahia-java-security/SKILL.md +0 -84
  289. package/dist/copilot/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  290. package/dist/copilot/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  291. package/dist/copilot/.agents/skills/jahia-review-java/SKILL.md +0 -131
  292. package/dist/copilot/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  293. package/dist/cursor/.agents/skills/jahia/SKILL.md +0 -148
  294. package/dist/cursor/.agents/skills/jahia-content/SKILL.md +0 -157
  295. package/dist/cursor/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  296. package/dist/cursor/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  297. package/dist/cursor/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  298. package/dist/cursor/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  299. package/dist/cursor/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  300. package/dist/cursor/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  301. package/dist/cursor/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  302. package/dist/cursor/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  303. package/dist/cursor/.agents/skills/jahia-dev/SKILL.md +0 -124
  304. package/dist/cursor/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  305. package/dist/cursor/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  306. package/dist/cursor/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  307. package/dist/cursor/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  308. package/dist/cursor/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  309. package/dist/cursor/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  310. package/dist/cursor/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  311. package/dist/cursor/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  312. package/dist/cursor/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  313. package/dist/cursor/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  314. package/dist/cursor/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  315. package/dist/cursor/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  316. package/dist/cursor/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  317. package/dist/cursor/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  318. package/dist/cursor/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  319. package/dist/cursor/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  320. package/dist/cursor/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  321. package/dist/cursor/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  322. package/dist/cursor/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  323. package/dist/cursor/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  324. package/dist/cursor/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  325. package/dist/cursor/.agents/skills/jahia-java-security/SKILL.md +0 -84
  326. package/dist/cursor/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  327. package/dist/cursor/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  328. package/dist/cursor/.agents/skills/jahia-review-java/SKILL.md +0 -131
  329. package/dist/cursor/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  330. package/dist/cursor/.cursor/agents/cnd-jahia-mixins.md +0 -113
  331. package/dist/cursor/.cursor/agents/jahia-cnd-author.md +0 -130
  332. package/dist/cursor/.cursor/agents/jahia-dev-worker.md +0 -264
  333. package/dist/cursor/.cursor/agents/jahia-reviewer.md +0 -105
  334. package/dist/gemini/.agents/skills/jahia/SKILL.md +0 -148
  335. package/dist/gemini/.agents/skills/jahia-content/SKILL.md +0 -157
  336. package/dist/gemini/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  337. package/dist/gemini/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  338. package/dist/gemini/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  339. package/dist/gemini/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  340. package/dist/gemini/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  341. package/dist/gemini/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  342. package/dist/gemini/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  343. package/dist/gemini/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  344. package/dist/gemini/.agents/skills/jahia-dev/SKILL.md +0 -124
  345. package/dist/gemini/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  346. package/dist/gemini/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  347. package/dist/gemini/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  348. package/dist/gemini/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  349. package/dist/gemini/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  350. package/dist/gemini/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  351. package/dist/gemini/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  352. package/dist/gemini/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  353. package/dist/gemini/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  354. package/dist/gemini/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  355. package/dist/gemini/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  356. package/dist/gemini/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  357. package/dist/gemini/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  358. package/dist/gemini/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  359. package/dist/gemini/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  360. package/dist/gemini/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  361. package/dist/gemini/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  362. package/dist/gemini/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  363. package/dist/gemini/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  364. package/dist/gemini/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  365. package/dist/gemini/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  366. package/dist/gemini/.agents/skills/jahia-java-security/SKILL.md +0 -84
  367. package/dist/gemini/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  368. package/dist/gemini/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  369. package/dist/gemini/.agents/skills/jahia-review-java/SKILL.md +0 -131
  370. package/dist/gemini/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  371. package/dist/opencode/.agents/skills/jahia/SKILL.md +0 -148
  372. package/dist/opencode/.agents/skills/jahia-content/SKILL.md +0 -157
  373. package/dist/opencode/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  374. package/dist/opencode/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  375. package/dist/opencode/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  376. package/dist/opencode/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  377. package/dist/opencode/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  378. package/dist/opencode/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  379. package/dist/opencode/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  380. package/dist/opencode/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  381. package/dist/opencode/.agents/skills/jahia-dev/SKILL.md +0 -124
  382. package/dist/opencode/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  383. package/dist/opencode/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  384. package/dist/opencode/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  385. package/dist/opencode/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  386. package/dist/opencode/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  387. package/dist/opencode/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  388. package/dist/opencode/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  389. package/dist/opencode/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  390. package/dist/opencode/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  391. package/dist/opencode/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  392. package/dist/opencode/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  393. package/dist/opencode/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  394. package/dist/opencode/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  395. package/dist/opencode/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  396. package/dist/opencode/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  397. package/dist/opencode/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  398. package/dist/opencode/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  399. package/dist/opencode/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  400. package/dist/opencode/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  401. package/dist/opencode/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  402. package/dist/opencode/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  403. package/dist/opencode/.agents/skills/jahia-java-security/SKILL.md +0 -84
  404. package/dist/opencode/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  405. package/dist/opencode/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  406. package/dist/opencode/.agents/skills/jahia-review-java/SKILL.md +0 -131
  407. package/dist/opencode/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  408. package/dist/opencode/.opencode/agents/cnd-jahia-mixins.md +0 -113
  409. package/dist/opencode/.opencode/agents/jahia-cnd-author.md +0 -130
  410. package/dist/opencode/.opencode/agents/jahia-dev-worker.md +0 -264
  411. package/dist/opencode/.opencode/agents/jahia-reviewer.md +0 -105
  412. package/dist/windsurf/.windsurf/skills/jahia/SKILL.md +0 -148
  413. package/dist/windsurf/.windsurf/skills/jahia-content/SKILL.md +0 -157
  414. package/dist/windsurf/.windsurf/skills/jahia-content-create-content/SKILL.md +0 -359
  415. package/dist/windsurf/.windsurf/skills/jahia-content-explore-structure/SKILL.md +0 -255
  416. package/dist/windsurf/.windsurf/skills/jahia-content-media-upload/SKILL.md +0 -197
  417. package/dist/windsurf/.windsurf/skills/jahia-content-move-content/SKILL.md +0 -231
  418. package/dist/windsurf/.windsurf/skills/jahia-content-organize/SKILL.md +0 -209
  419. package/dist/windsurf/.windsurf/skills/jahia-content-publish/SKILL.md +0 -181
  420. package/dist/windsurf/.windsurf/skills/jahia-content-query-content/SKILL.md +0 -174
  421. package/dist/windsurf/.windsurf/skills/jahia-content-translate-content/SKILL.md +0 -226
  422. package/dist/windsurf/.windsurf/skills/jahia-dev/SKILL.md +0 -124
  423. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/SKILL.md +0 -52
  424. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/authentication.md +0 -484
  425. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/graphql.md +0 -657
  426. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  427. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/security.md +0 -541
  428. package/dist/windsurf/.windsurf/skills/jahia-dev-cypress/SKILL.md +0 -265
  429. package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  430. package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  431. package/dist/windsurf/.windsurf/skills/jahia-dev-java/SKILL.md +0 -110
  432. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/backend.md +0 -331
  433. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/content-types.md +0 -273
  434. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/modules.md +0 -218
  435. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/osgi.md +0 -208
  436. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/rendering.md +0 -191
  437. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  438. package/dist/windsurf/.windsurf/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  439. package/dist/windsurf/.windsurf/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  440. package/dist/windsurf/.windsurf/skills/jahia-java-concurrency/SKILL.md +0 -308
  441. package/dist/windsurf/.windsurf/skills/jahia-java-jcr/SKILL.md +0 -153
  442. package/dist/windsurf/.windsurf/skills/jahia-java-osgi/SKILL.md +0 -134
  443. package/dist/windsurf/.windsurf/skills/jahia-java-persistence/SKILL.md +0 -177
  444. package/dist/windsurf/.windsurf/skills/jahia-java-security/SKILL.md +0 -84
  445. package/dist/windsurf/.windsurf/skills/jahia-orchestrate/SKILL.md +0 -148
  446. package/dist/windsurf/.windsurf/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  447. package/dist/windsurf/.windsurf/skills/jahia-review-java/SKILL.md +0 -131
  448. package/dist/windsurf/.windsurf/skills/jahia-review-java/references/code-review-output.md +0 -121
  449. /package/dist/{claude/.claude/agents → antigravity/.agents/skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
  450. /package/dist/{cursor/.cursor/agents → claude/.claude/skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
  451. /package/dist/{opencode/.opencode/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
@@ -1,344 +0,0 @@
1
- # Jahia UI Extensions Reference
2
-
3
- ## Table of Contents
4
- 1. [Overview: two extension layers](#1-overview-two-extension-layers)
5
- 2. [Component registry](#2-component-registry)
6
- 3. [Content Editor JSON overrides](#3-content-editor-json-overrides)
7
- 4. [jContent UI extension points](#4-jcontent-ui-extension-points)
8
- 5. [Adding UI actions](#5-adding-ui-actions)
9
- 6. [Adding settings pages (admin routes)](#6-adding-settings-pages-admin-routes)
10
- 7. [Custom selector types](#7-custom-selector-types)
11
- 8. [Custom picker configuration](#8-custom-picker-configuration)
12
- 9. [Dynamic forms in Content Editor](#9-dynamic-forms-in-content-editor)
13
- 10. [CKEditor customization](#10-ckeditor-customization)
14
- 11. [Debugging JSON overrides and registry](#11-debugging-json-overrides-and-registry)
15
-
16
- ---
17
-
18
- ## 1. Overview: two extension layers
19
-
20
- | Mechanism | What it controls | Format |
21
- |-----------|-----------------|--------|
22
- | **Content Editor JSON overrides** | Form layout, field visibility, labels, sections, field order | JSON files in module JAR |
23
- | **Component registry** | Actions, accordions, nav items, selectors, routes, settings pages | JavaScript (React/JSX) |
24
-
25
- The component registry lives in the JavaScript layer. JSON overrides live in the Java module under `META-INF/jahia-content-editor-forms/`.
26
-
27
- ---
28
-
29
- ## 2. Component registry
30
-
31
- ```javascript
32
- import { registry } from '@jahia/ui-extender';
33
-
34
- registry.add('action', 'myAction', myActionObj, {
35
- targets: ['contentActions:5'],
36
- label: 'myModule:myAction.label'
37
- });
38
-
39
- registry.addOrReplace('adminRoute', 'mySettings', {
40
- targets: ['administration-sites:10'],
41
- label: 'myModule:settings.label',
42
- isSelectable: true,
43
- iframeUrl: window.contextJsParameters.contextPath + '/cms/adminframe/default/en/settings.myPage.html'
44
- });
45
-
46
- const existing = registry.get('action', 'createContent');
47
- const allActions = registry.find({ target: 'contentActions' });
48
- registry.remove('action', 'myAction');
49
- ```
50
-
51
- ### Registration timing
52
-
53
- ```javascript
54
- import { registry } from '@jahia/ui-extender';
55
- import register from './myModule.register';
56
-
57
- export default function () {
58
- registry.add('callback', 'myModule', {
59
- targets: ['jahiaApp-init:50'],
60
- callback: register
61
- });
62
- }
63
- ```
64
-
65
- ### Common registry types
66
-
67
- | Type | Purpose |
68
- |------|---------|
69
- | `action` | UI action in menus, headers, or toolbars |
70
- | `selectorType` | Custom field input in Content Editor |
71
- | `adminRoute` | Admin panel page |
72
- | `route` | Custom top-level route |
73
- | `primary-nav-item` | Top-level navigation entry |
74
- | `accordionItem` | Secondary navigation accordion in jContent |
75
- | `callback` | Initialization callback |
76
-
77
- ---
78
-
79
- ## 3. Content Editor JSON overrides
80
-
81
- ### File location
82
-
83
- ```
84
- src/main/resources/META-INF/jahia-content-editor-forms/
85
- forms/ # Form-level overrides (by nodetype)
86
- fieldsets/ # Fieldset-level overrides (by mixin or type)
87
- ```
88
-
89
- Naming convention: replace `:` with `_` — `jnt:article` → `jnt_article.json`
90
-
91
- ### Form override structure
92
-
93
- ```json
94
- {
95
- "nodeType": "myns:myContent",
96
- "priority": 2.0,
97
- "hasPreview": true,
98
- "sections": [
99
- {
100
- "name": "content",
101
- "fieldSets": [
102
- {
103
- "name": "<main>",
104
- "rank": 1.0,
105
- "fields": [
106
- {
107
- "name": "jcr:title",
108
- "declaringNodeType": "mix:title",
109
- "rank": 1.0,
110
- "labelKey": "myModule:label.title"
111
- },
112
- {
113
- "name": "myProp",
114
- "hide": false,
115
- "mandatory": true
116
- }
117
- ]
118
- }
119
- ]
120
- },
121
- { "name": "classification", "hide": true },
122
- { "name": "layout", "hide": true }
123
- ]
124
- }
125
- ```
126
-
127
- ### Key override actions
128
-
129
- | Goal | JSON |
130
- |------|------|
131
- | Hide a section | `{"name": "layout", "hide": true}` |
132
- | Hide a field | In field: `"hide": true` |
133
- | Make a field mandatory | In field: `"mandatory": true` |
134
- | Reorder a field | In field: `"rank": 3.0` |
135
- | Change a field label | In field: `"labelKey": "basename:myKey"` |
136
-
137
- ### `declaringNodeType` requirement
138
-
139
- Use when the field comes from a mixin or parent type:
140
-
141
- ```json
142
- {
143
- "name": "j:invalidLanguages",
144
- "declaringNodeType": "jmix:i18n",
145
- "hide": false
146
- }
147
- ```
148
-
149
- ### Known limitations
150
-
151
- - `multiple` and `i18n` properties CANNOT be overridden by JSON
152
- - `valueConstraints` for choicelists can only remove existing items, not add new ones
153
-
154
- ---
155
-
156
- ## 4. jContent UI extension points
157
-
158
- ### Adding an accordion
159
-
160
- ```javascript
161
- const baseAccordion = registry.get('accordionItem', 'pages');
162
- registry.add('accordionItem', 'myCustomAccordion', baseAccordion, {
163
- targets: ['jcontent:99'],
164
- label: 'myModule:accordion.label',
165
- rootPath: '/sites/{site}/contents/my-section',
166
- requiredSitePermission: 'myCustomPermission',
167
- isEnabled: (siteKey) => siteKey !== 'systemsite',
168
- treeConfig: Object.assign({}, baseAccordion.treeConfig, { hideRoot: false })
169
- });
170
- ```
171
-
172
- **Important:** Always use `Object.assign({}, base.nestedObj, {...})` when overriding nested config objects.
173
-
174
- ---
175
-
176
- ## 5. Adding UI actions
177
-
178
- ### Available action targets
179
-
180
- | Target | Location |
181
- |--------|----------|
182
- | `contentItemContextActions` | Right-click menu on content items |
183
- | `contentItemActions` | Three-dot menu on content items |
184
- | `browseControlBar` | Three-dot menu in header |
185
- | `headerPrimaryActions` | Header primary action buttons |
186
- | `selectedContentActions` | Actions for selected content |
187
- | `publishMenu` | Publish dropdown menu items |
188
-
189
- ### Registering an action
190
-
191
- ```javascript
192
- registry.add('action', 'myCustomAction', {
193
- buttonLabel: 'myModule:actions.myAction.label',
194
- targets: ['contentItemActions:5', 'contentItemContextActions:5'],
195
- showOnNodeTypes: ['jnt:article', 'jnt:page'],
196
- requiredPermission: ['jcr:modifyProperties'],
197
- onClick: ({ path, paths, client, notificationContext }) => {
198
- console.log('Action on:', path);
199
- }
200
- });
201
- ```
202
-
203
- ---
204
-
205
- ## 6. Adding settings pages (admin routes)
206
-
207
- ```javascript
208
- registry.add('adminRoute', 'mySettings', {
209
- targets: ['administration-sites:50'],
210
- requiredPermission: 'adminTemplates',
211
- label: 'myModule:settings.label',
212
- isSelectable: true,
213
- render: () => <MySettingsPage/>
214
- });
215
- ```
216
-
217
- ### iFrame-based admin route
218
-
219
- ```javascript
220
- registry.add('adminRoute', 'myLegacySettings', {
221
- targets: ['administration-server-systemComponents:10'],
222
- requiredPermission: 'adminTemplates',
223
- label: 'myModule:legacy.label',
224
- isSelectable: true,
225
- iframeUrl: window.contextJsParameters.contextPath +
226
- '/cms/adminframe/default/$lang/settings.myLegacyPage.html?redirect=false'
227
- });
228
- ```
229
-
230
- ### Administration target groups
231
-
232
- | Target group | Description |
233
- |-------------|-------------|
234
- | `administration-server-usersAndRoles` | Server > Users and Roles |
235
- | `administration-server-systemComponents` | Server > System Components |
236
- | `administration-sites` | Sites section |
237
-
238
- ---
239
-
240
- ## 7. Custom selector types
241
-
242
- ```javascript
243
- registry.add('selectorType', 'MyColorPicker', {
244
- targets: ['BuiltInTypes:10'],
245
- cmp: MyColorPickerComponent,
246
- supportedTypes: ['String'],
247
- });
248
- ```
249
-
250
- Reference in CND:
251
- ```cnd
252
- - myColor (string, MyColorPicker)
253
- ```
254
-
255
- ---
256
-
257
- ## 8. Custom picker configuration
258
-
259
- ```javascript
260
- registry.add('pickerConfig', 'myPicker', {
261
- accordionItem: 'pages',
262
- searchSelectorType: ['jnt:article', 'jnt:page'],
263
- selectableTypes: ['jnt:article'],
264
- openableTypes: ['jnt:page', 'jnt:contentFolder']
265
- });
266
- ```
267
-
268
- Reference in CND:
269
- ```cnd
270
- - relatedArticle (weakreference, picker[type='myPicker'])
271
- ```
272
-
273
- ---
274
-
275
- ## 9. Dynamic forms in Content Editor
276
-
277
- Implement `DynamicFieldSetExtractor` for server-side dynamic forms:
278
-
279
- ```java
280
- @Component(service = DynamicFieldSetExtractor.class)
281
- public class MyDynamicExtractor implements DynamicFieldSetExtractor {
282
-
283
- @Override
284
- public Set<String> getExtendedNodeTypesToFill(JCRNodeWrapper node,
285
- ExtendedNodeType primaryNodeType, Locale locale, RenderContext ctx) {
286
- String category = node.getPropertyAsString("myCategory");
287
- if ("premium".equals(category)) {
288
- return Collections.singleton("myns:premiumFields");
289
- }
290
- return Collections.emptySet();
291
- }
292
- }
293
- ```
294
-
295
- ---
296
-
297
- ## 10. CKEditor customization
298
-
299
- ### CKEditor 5 (Jahia 8.2+)
300
-
301
- ```javascript
302
- registry.add('ckeditor5Plugin', 'myPlugin', {
303
- plugin: MyCKEditorPlugin,
304
- config: { toolbar: { items: ['myButton'] } }
305
- });
306
- ```
307
-
308
- ### CKEditor 4 (legacy)
309
-
310
- Place custom configuration in `src/main/resources/javascript/ckeditor/config.js`.
311
-
312
- ---
313
-
314
- ## 11. Debugging JSON overrides and registry
315
-
316
- ### Checking JSON override registration
317
-
318
- Look in Jahia startup logs for `StaticDefinitionsRegistry` entries:
319
- ```
320
- INFO [StaticDefinitionsRegistry] - Successfully loaded static form for name myns:myContent
321
- ```
322
-
323
- ### Querying the generated form via GraphQL
324
-
325
- ```graphql
326
- {
327
- forms {
328
- editForm(uiLocale: "en", locale: "en", uuidOrPath: "/sites/mySite/home/myContent") {
329
- sections {
330
- name
331
- fieldSets { name fields { name selectorType mandatory hide } }
332
- }
333
- }
334
- }
335
- }
336
- ```
337
-
338
- ### Inspecting the component registry in browser console
339
-
340
- ```javascript
341
- window.jahia.uiExtender.registry.find({ type: 'action' });
342
- window.jahia.uiExtender.registry.get('accordionItem', 'pages');
343
- window.jahia.uiExtender.registry.find({ target: 'contentItemActions' });
344
- ```
@@ -1,297 +0,0 @@
1
- ---
2
- name: jahia-dev-osgi-module
3
- description: Conventions and invariants for building any Jahia OSGi/Java bundle module (Jahia 8.2). Use when working on Maven bundle structure, OSGi Declarative Services, JCR integration, or Java package design.
4
- ---
5
-
6
- # SKILL — Jahia OSGi Module Development (8.2)
7
-
8
- ## When this skill applies
9
-
10
- You are working on anything that touches the OSGi bundle structure, Maven build, JCR node-type definitions, or Jahia service integration. That is, almost every Java change in a Jahia module.
11
-
12
- ## Scaffold a new module
13
-
14
- Use the official Maven archetype. Always pick archetype **2** (`jahia-module-archetype`) and the latest version.
15
-
16
- ```bash
17
- mvn archetype:generate -Dfilter=org.jahia.archetypes:
18
- ```
19
-
20
- At the interactive prompts:
21
- 1. Enter `2` → `jahia-module-archetype` (Jahia DXP >=8)
22
- 2. Enter the latest version number (currently `4.8`)
23
- 3. Fill in the properties below, then confirm with `Y`
24
-
25
- | Property | Example | Notes |
26
- |---|---|---|
27
- | `artifactId` | `my-module` | Maven artifact ID and folder name |
28
- | `moduleName` | `My Module` | Human-readable name shown in Jahia UI |
29
- | `groupId` | `org.example.modules` | Java package root |
30
- | `jahiaVersion` | `8.2.0.0` | Target Jahia version — use `8.2.0.0`, not the archetype default |
31
- | `version` | `1.0.0-SNAPSHOT` | Module version |
32
- | `package` | `org.example.modules` | Java package (usually matches `groupId`) |
33
-
34
- > ⚠️ **Always set `jahiaVersion` to `8.2.0.0`** — the archetype default (`8.0.0.0`) is outdated. The parent POM version in the generated `pom.xml` should be `org.jahia.modules:jahia-modules:8.2.0.0`. If the archetype sets a different version, update it before your first build.
35
-
36
- After generation, the scaffolded structure contains:
37
- ```
38
- <artifactId>/
39
- ├── pom.xml
40
- └── src/
41
- ├── main/
42
- │ ├── java/<package>/ # Java sources
43
- │ └── resources/
44
- │ └── META-INF/
45
- │ └── definitions.cnd # Empty — add your node types here
46
- └── test/
47
- └── java/<package>/
48
- ```
49
-
50
- Build immediately to verify the scaffold compiles:
51
-
52
- ```bash
53
- cd <artifactId>
54
- mvn clean install
55
- ```
56
-
57
- ---
58
-
59
- ## Hard invariants
60
-
61
- 1. **Parent POM is `org.jahia.modules:jahia-modules:8.2.0.0`.** Do not bump without a documented decision. This version constrains the Java baseline (Java 17 max), the OSGi spec level (R6 / `osgi.cmpn` 6.0.0), and the available platform APIs.
62
-
63
- 2. **Packaging is `bundle`.** The manifest is generated by `maven-bundle-plugin` (BND) configured in the parent. The parent already sets `Jahia-Module-Type`, `Bundle-Category`, signature, SCM headers, and default JDK target — **do not redeclare them**. Use `<jahia-depends>` and `<jahia-module-signature>` properties to drive the inherited config.
64
-
65
- 3. **Dependencies on Jahia APIs go through `org.jahia.server:jahia-impl` and `jahia-api`** (both `provided`). On `jahia-impl`, exclude transitives:
66
- ```xml
67
- <exclusions>
68
- <exclusion><groupId>*</groupId><artifactId>*</artifactId></exclusion>
69
- </exclusions>
70
- ```
71
-
72
- 4. **OSGi services use Declarative Services (DS) annotations** (`@Component`, `@Reference`, `@Activate`). Enable BND processing with `<_dsannotations>*</_dsannotations>` (already set in the parent pom). Never use Blueprint; never use the `BundleActivator` pattern for new code.
73
-
74
- 5. **`@Component` services that are part of the public SPI must declare a `service` attribute** (e.g. `@Component(service = MyInterface.class)`) so the registry can look them up by interface.
75
-
76
- 6. **Public packages must be declared in `Export-Package`.** Internal implementation lives in `*.internal.*` packages and is *not* exported.
77
-
78
- ---
79
-
80
- ## Directory conventions
81
-
82
- | Path | Purpose |
83
- |---|---|
84
- | `src/main/java/org/jahia/modules/<name>/` | Java sources |
85
- | `src/main/resources/META-INF/definitions.cnd` | JCR node type definitions |
86
- | `src/main/resources/javascript/apps/` | jContent UI extension entry point |
87
- | `src/main/resources/resources/` | i18n bundles (`.properties` files) |
88
- | `src/main/import/repository.xml` | Initial JCR content imported on first install |
89
-
90
- ---
91
-
92
- ## Java baseline
93
-
94
- - Java 17. Records, sealed types, pattern matching, `var`, `switch` expressions are all fine.
95
- - Do **not** use Java 21-only features (virtual threads at the API surface, primitive pattern matching, etc.).
96
- - Prefer `java.util.Optional`, `java.time.*`, `java.util.concurrent.*` over Guava/Apache Commons unless an existing dependency already provides them.
97
-
98
- ---
99
-
100
- ## JCR access patterns
101
-
102
- - Always run JCR mutations as the calling Jahia user:
103
- ```java
104
- JCRTemplate.getInstance().doExecuteWithUserSession(username, workspace, locale, callback)
105
- ```
106
- Never escalate to a system session for content the user authored or requested.
107
- - For reads where the user has implicit access, prefer receiving the `JCRSessionWrapper` from the controller layer rather than obtaining one yourself — this keeps the audit trail clean.
108
- - Save changes explicitly (`session.save()`); do not rely on auto-commit.
109
- - `JCRSessionWrapper` is per-user, per-workspace, per-locale, **and not thread-safe**. Never hold a reference across threads.
110
- - Wrap user-visible errors in domain-specific exceptions; let infrastructure exceptions (`RepositoryException`) bubble up to the caller, which converts them to the appropriate response format.
111
-
112
- ---
113
-
114
- ## OSGi service pattern
115
-
116
- ```java
117
- @Component(service = MyService.class, immediate = true)
118
- public class MyServiceImpl implements MyService {
119
-
120
- @Reference
121
- private JahiaSitesService sitesService;
122
-
123
- @Activate
124
- protected void activate(Map<String, Object> config) {
125
- // initialization logic
126
- }
127
- }
128
- ```
129
-
130
- - `immediate = true` is needed for services that must activate on bundle start (e.g. servlet registrations, JCR event listeners).
131
- - Use `@Reference(cardinality = ReferenceCardinality.OPTIONAL)` for optional dependencies.
132
- - Constructor injection is preferred over field injection for testability.
133
-
134
- ---
135
-
136
- ## OSGi configuration (CFG files) — avoids redeployment
137
-
138
- **Always use a `.cfg` file for any runtime-configurable property** (API keys, URLs, feature flags, timeouts, rate limits). OSGi Config Admin reloads the file at runtime without requiring a module redeploy — changes take effect immediately via the `@Modified` callback.
139
-
140
- ### File location and naming
141
-
142
- ```
143
- src/main/resources/META-INF/configurations/<service.pid>.cfg
144
- ```
145
-
146
- The filename **must match the `service.pid`** declared on the `@Component`. Convention:
147
-
148
- ```
149
- org.<org>.<module-name>.cfg # main service config
150
- org.jahia.modules.jahiacsrfguard-<module>.cfg # CSRF whitelist (one per module with Actions)
151
- ```
152
-
153
- ### Main config pattern — DS `@Activate` + `@Modified` (preferred)
154
-
155
- Use the **snapshot pattern** with Declarative Services annotations. This is cleaner than implementing `ManagedService` — no need for the extra service declaration, and `@Modified` fires automatically on `.cfg` changes without a full component restart.
156
-
157
- ```java
158
- @Component(
159
- service = MyService.class,
160
- configurationPid = "org.example.mymodule", // links to the .cfg filename
161
- immediate = true
162
- )
163
- public class MyServiceImpl implements MyService {
164
-
165
- private volatile Snapshot config = Snapshot.empty();
166
-
167
- @Activate
168
- @Modified // ← same method handles both initial activation and runtime config changes
169
- protected void activate(Map<String, Object> properties) {
170
- this.config = Snapshot.from(properties);
171
- }
172
-
173
- @Override
174
- public String process(String input) {
175
- Snapshot cfg = this.config; // single volatile read — consistent snapshot
176
- if (!cfg.isConfigured()) throw new IllegalStateException("Service not configured");
177
- // use cfg.apiKey, cfg.baseUrl, cfg.timeoutMs ...
178
- }
179
-
180
- // Immutable snapshot — readers always see a complete, consistent config
181
- private static final class Snapshot {
182
- final String apiKey;
183
- final String baseUrl;
184
- final int timeoutMs;
185
-
186
- private Snapshot(String apiKey, String baseUrl, int timeoutMs) {
187
- this.apiKey = apiKey;
188
- this.baseUrl = baseUrl;
189
- this.timeoutMs = timeoutMs;
190
- }
191
-
192
- static Snapshot empty() { return new Snapshot("", "https://api.example.com", 30_000); }
193
-
194
- static Snapshot from(Map<String, Object> p) {
195
- return new Snapshot(
196
- str(p, "API_KEY", ""),
197
- str(p, "API_BASE_URL", "https://api.example.com"),
198
- intVal(p, "TIMEOUT_MS", 30_000)
199
- );
200
- }
201
-
202
- boolean isConfigured() { return !apiKey.isBlank() && !baseUrl.isBlank(); }
203
-
204
- private static String str(Map<String, Object> m, String k, String def) {
205
- Object v = m.get(k);
206
- return (v instanceof String s && !s.isBlank()) ? s.trim() : def;
207
- }
208
- private static int intVal(Map<String, Object> m, String k, int def) {
209
- try { return Integer.parseInt(String.valueOf(m.get(k))); }
210
- catch (Exception e) { return def; }
211
- }
212
- }
213
- }
214
- ```
215
-
216
- > **Why snapshot?** The `volatile Snapshot` field is replaced atomically. Callers that read `this.config` in a method always see a fully-initialized, internally consistent configuration — never a mix of old key + new URL. This is thread-safe without synchronization.
217
-
218
- > **Why `@Activate` + `@Modified` together?** OSGi DS calls `@Activate` on first start and `@Modified` when the `.cfg` file changes without stopping the component. Pointing both to the same method means a single code path handles both cases. If only `@Activate` is annotated, a config change triggers a full stop/start cycle instead of a lightweight update.
219
-
220
- ### The `.cfg` file
221
-
222
- ```properties
223
- # src/main/resources/META-INF/configurations/org.example.mymodule.cfg
224
- #
225
- # Deployed to: digital-factory-data/karaf/etc/
226
- # Edit that file at runtime — changes take effect without redeployment.
227
- #
228
- API_KEY=
229
- API_BASE_URL=https://api.example.com
230
- TIMEOUT_MS=30000
231
- ```
232
-
233
- > The `.cfg` file ships with safe defaults. Operators override it in `digital-factory-data/karaf/etc/` on each environment (dev / staging / prod) — secrets never live in the source repository.
234
-
235
- ### CSRF guard config (required for every module with Java Actions)
236
-
237
- ```properties
238
- # src/main/resources/META-INF/configurations/org.jahia.modules.jahiacsrfguard-mymodule.cfg
239
- whitelist = *.myFirstAction.do, *.mySecondAction.do
240
- ```
241
-
242
- One entry per Action name. Missing this file means every POST to those endpoints is rejected with 403.
243
-
244
- ---
245
-
246
- ## GraphQL extensions
247
-
248
- - Provided by the `graphql-dxm-provider` module (declare as `<jahia-depends>`).
249
- - Extend by registering classes annotated with `@GraphQLTypeExtension`, `@GraphQLField`, etc.
250
- - Authentication is inherited from the HTTP request; resolvers run as the authenticated user.
251
- - Register as a `@Component(service = DXGraphQLExtensionsProvider.class)`.
252
-
253
- ---
254
-
255
- ## Adding a dependency
256
-
257
- 1. Check if Jahia already provides it via `jahia-impl` exports before adding.
258
- 2. If available at runtime: `<scope>provided</scope>`.
259
- 3. If it must be bundled: `Embed-Dependency` in the BND config (last resort — adds to bundle size and risks classpath conflicts).
260
-
261
- ---
262
-
263
- ## Testing
264
-
265
- - **Unit tests:** JUnit 5 + Mockito. Place under `src/test/java`.
266
- - **Integration tests:** Use the `jahia-test-utils` framework against a running Jahia instance. Tag with `@Tag("integration")` and isolate from the unit test run.
267
- - Do not mock core Jahia services in integration tests — load them from the real OSGi registry. The registry is the contract.
268
-
269
- ---
270
-
271
- ## Common pitfalls
272
-
273
- - ❌ Adding a dependency without checking if Jahia already provides it → check `jahia-impl` exports first.
274
- - ❌ `LoggerFactory.getLogger(getClass())` in a `static` context → use `LoggerFactory.getLogger(MyClass.class)`.
275
- - ❌ Holding `JCRSessionWrapper` references across threads → sessions are not thread-safe.
276
- - ❌ Forgetting to export public packages → consumers won't see the service.
277
- - ❌ Using `jmix:studioOnly` in CND definitions → it can silently break area rendering. Use `jmix:hiddenType`.
278
- - ❌ Declaring `j:linknode` or `j:url` in a CND alongside `choicelist[linkTypeInitializer]` → they are injected automatically by Jahia's mixins at runtime.
279
-
280
- ---
281
-
282
- ## Useful Jahia service entry points
283
-
284
- ```java
285
- JCRTemplate.getInstance().doExecuteWithUserSession(...) // primary JCR access pattern
286
- JahiaSitesService.getInstance().getSiteByKey(siteKey) // resolve a site
287
- JCRSessionFactory.getInstance().getCurrentUser() // current Jahia user
288
- NodeTypeRegistry.getInstance().getNodeType(name) // node type metadata
289
- ```
290
-
291
- ---
292
-
293
- ## References
294
-
295
- - Jahia 8 developer documentation: https://academy.jahia.com
296
- - Native Jahia node types (CND source): https://github.com/Jahia/jahia/tree/master/war/src/main/webapp/WEB-INF/etc/repository/nodetypes
297
- - Jahia GraphQL API: https://academy.jahia.com/documentation/developer/jahia/8/api-documentation/graphql-api