@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
@@ -0,0 +1,510 @@
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
+ ---
15
+
16
+ ## Component system mixins — define these in your module first
17
+
18
+ ### Two-tier component mixin pattern
19
+
20
+ Define these in `settings/definitions.cnd` before all other types:
21
+
22
+ ```cnd
23
+ [nsmix:component] > jmix:droppableContent, jmix:accessControllableContent mixin
24
+ [nsmix:pageComponent] > nsmix:component mixin
25
+ ```
26
+
27
+ | Component will be… | Extend |
28
+ |---|---|
29
+ | Dropped in page areas | `nsmix:pageComponent` |
30
+ | Child of another component | `nsmix:component` |
31
+ | Listed programmatically | `nsmix:component` |
32
+
33
+ ### `jmix:droppableContent` — base for droppable types
34
+
35
+ Extends `mix:referenceable`. Never extend directly — always wrap in a module mixin.
36
+
37
+ ### `jmix:accessControllableContent` — per-component access control
38
+
39
+ Extends `mix:referenceable`. Include in your base module mixin so all components support it.
40
+
41
+ ---
42
+
43
+ ## Title & metadata mixins
44
+
45
+ ### `mix:title` — preferred over a raw title property
46
+
47
+ Adds `jcr:title` (string). Jahia's UI, breadcrumbs, SEO, and sitemap generation all read `jcr:title`.
48
+ **Extend this instead of declaring `- title (string) i18n mandatory`.**
49
+
50
+ ```cnd
51
+ [ns:article] > jnt:content, nsmix:component, mix:title
52
+ ```
53
+
54
+ Access in view: `props["jcr:title"]`
55
+
56
+ ### `jmix:description` — description metadata
57
+
58
+ Marker/metadata mixin for content descriptions.
59
+
60
+ ### `jmix:tagged` — free-form tagging
61
+
62
+ Adds `j:tagList` (string, multiple) with autocomplete and `j:tags` (weakreference, multiple, hidden/deprecated).
63
+
64
+ ```cnd
65
+ [ns:article] > jnt:content, nsmix:component, mix:title, jmix:tagged
66
+ ```
67
+
68
+ CND definition:
69
+ ```cnd
70
+ [jmix:tagged] mixin
71
+ extends = nt:hierarchyNode, jnt:content, jnt:page
72
+ itemtype = metadata
73
+ - j:tagList (string, tag[autocomplete=10, separator=',']) facetable nofulltext multiple
74
+ - j:tags (weakreference) multiple hidden
75
+ ```
76
+
77
+ ### `jmix:categorized` — category classification
78
+
79
+ Adds `j:defaultCategory` (weakreference, multiple) pointing to taxonomy categories.
80
+
81
+ ```cnd
82
+ [ns:article] > jnt:content, nsmix:component, mix:title, jmix:categorized
83
+ ```
84
+
85
+ CND definition:
86
+ ```cnd
87
+ [jmix:categorized] mixin
88
+ extends = nt:hierarchyNode, jnt:content, jnt:page
89
+ itemtype = classification
90
+ - j:defaultCategory (weakreference, category[autoSelectParent=false]) facetable hierarchical multiple
91
+ ```
92
+
93
+ ### `jmix:keywords` — keyword metadata
94
+
95
+ Marker mixin for keyword support.
96
+
97
+ ### `jmix:thumbnail` — thumbnail support
98
+
99
+ Marker mixin for thumbnail images.
100
+
101
+ ### `jmix:basemetadata` — standard metadata with versioning
102
+
103
+ Extends `jmix:unversionedBasemetadata`. Adds standard authoring metadata (author, dates, etc.) with versioning support.
104
+
105
+ ### `jmix:unversionedBasemetadata` — standard metadata without versioning
106
+
107
+ Includes i18n support. Use `jmix:basemetadata` unless versioning must be excluded.
108
+
109
+ ---
110
+
111
+ ## Publication & workflow mixins
112
+
113
+ ### `jmix:autoPublish` — automatic live publication
114
+
115
+ Extends `jmix:observable`. Any change to the node is immediately published to the live workspace without going through a workflow.
116
+
117
+ ```cnd
118
+ [ns:config] > jnt:content, jmix:hiddenType, jmix:autoPublish
119
+ ```
120
+
121
+ ### `jmix:publication` — independent publication
122
+
123
+ Marker mixin. Enables a node to be published independently of its parent.
124
+
125
+ ### `jmix:nolive` — prevent live publication
126
+
127
+ Marker mixin. Node is never published to the live workspace (e.g. draft-only content).
128
+
129
+ ### `jmix:workflow` — workflow tracking
130
+
131
+ Adds `j:processId` (string, multiple, protected, hidden). Tracks active workflow processes. Do not extend manually — Jahia applies it during workflow execution.
132
+
133
+ ### `jmix:noImportExport` — exclude from import/export
134
+
135
+ Marker mixin. Node is skipped during content import/export operations.
136
+
137
+ ### `jmix:lastPublished` — publication timestamp tracking
138
+
139
+ Marker mixin for tracking last publication date.
140
+
141
+ ---
142
+
143
+ ## Access control & visibility mixins
144
+
145
+ ### `jmix:accessControlled` — node-level ACL
146
+
147
+ Adds a `j:acl` child node (jnt:acl, mandatory, autocreated). Enables fine-grained ACL management on a specific node. Usually inherited via `jmix:accessControllableContent` — do not add directly unless you need ACL on a non-content node.
148
+
149
+ ### `jmix:requiredPermissions` — permission-based rendering
150
+
151
+ Controls whether a component renders based on the visitor's login state or role.
152
+
153
+ ```cnd
154
+ [ns:memberOnly] > jnt:content, nsmix:component, jmix:requiredPermissions
155
+ ```
156
+
157
+ Properties:
158
+ ```cnd
159
+ [jmix:requiredPermissions] mixin
160
+ extends = jnt:content, jnt:area, jnt:mainResourceDisplay
161
+ itemtype = permissions
162
+ - j:requireLoggedUser (boolean)
163
+ - j:requirePrivilegedUser (boolean)
164
+ - j:requiredMode (string, choicelist[renderModes]) nofulltext
165
+ ```
166
+
167
+ ### `jmix:lockable` — node locking
168
+
169
+ Marker mixin. Enables JCR locking on a node.
170
+
171
+ ### `jmix:conditionalVisibility` — conditional visibility rules
172
+
173
+ Marker mixin. Enables conditional visibility configuration (by date range, segment, etc.) in Page Builder.
174
+
175
+ ---
176
+
177
+ ## Rendering & template mixins
178
+
179
+ ### `jmix:mainResource` — full-page content types only
180
+
181
+ 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.
182
+
183
+ ```cnd
184
+ [ns:blogPost] > jnt:content, mix:title, jmix:mainResource, nsmix:component
185
+ ```
186
+
187
+ ### `jmix:renderableMainResource` — specify main resource view
188
+
189
+ Adds `j:mainResourceView` (string) to select which view template renders the detail page.
190
+
191
+ ```cnd
192
+ [jmix:renderableMainResource] mixin
193
+ - j:mainResourceView (string, choicelist[templates=mainresource, resourceBundle, image]) nofulltext
194
+ ```
195
+
196
+ ### `jmix:renderable` — renderable content
197
+
198
+ Marker mixin for content that can be rendered.
199
+
200
+ ### `jmix:hasTemplateNode` — template node association
201
+
202
+ Marker mixin. Associates a node with a specific template node.
203
+
204
+ ### `jmix:canBeUseAsTemplateModel` — template model
205
+
206
+ Marker mixin. Enables the node type to be used as a template model.
207
+
208
+ ### `jmix:createdFromPageModel` — page model origin
209
+
210
+ Marker mixin. Tracks that a page was created from a page model.
211
+
212
+ ### `jmix:templateMixin` — template property inheritance
213
+
214
+ Marker mixin. Enables template-specific property inheritance.
215
+
216
+ ### `jmix:dynamicFieldset` — dynamic fieldsets
217
+
218
+ Extends `jmix:templateMixin`. Enables dynamic fieldsets (properties that appear/disappear based on other selections) in the edit UI.
219
+
220
+ ### `jmix:theme` — theme support
221
+
222
+ Marker mixin for theming.
223
+
224
+ ### `jmix:useUILocale` — UI locale
225
+
226
+ Marker mixin. Renders content using the UI locale rather than the site locale.
227
+
228
+ ### `jmix:rbTitle` — resource bundle title
229
+
230
+ Marker mixin. Title comes from a resource bundle key rather than a stored string.
231
+
232
+ ---
233
+
234
+ ## Content organisation & type mixins
235
+
236
+ ### `jmix:hiddenType` — hide from Page Builder picker
237
+
238
+ Structural/container types editors should not add manually:
239
+
240
+ ```cnd
241
+ [ns:ctaContainer] > jnt:content, jmix:hiddenType orderable
242
+ ```
243
+
244
+ **Never use `jmix:studioOnly`** — it causes silent rendering issues.
245
+
246
+ ### `jmix:hiddenNode` — hide node from UI
247
+
248
+ Marker mixin. Hides a specific node instance from all UI displays (not the type — the node itself).
249
+
250
+ ### `jmix:studioOnly` — studio-only content
251
+
252
+ **Avoid.** Can cause silent rendering issues. Use `jmix:hiddenType` instead.
253
+
254
+ ### `jmix:listContent` — list content type
255
+
256
+ Extends `jmix:droppableContent, jmix:accessControllableContent`. Use for droppable list containers.
257
+
258
+ ### `jmix:basicContent` — basic content type
259
+
260
+ Extends `jmix:droppableContent, jmix:accessControllableContent`. Base for simple droppable components.
261
+
262
+ ### `jmix:structuredContent` — structured content
263
+
264
+ Marker mixin for structured data content types.
265
+
266
+ ### `jmix:editorialContent` — editorial content
267
+
268
+ Marker mixin. Identifies content managed editorially.
269
+
270
+ ### `jmix:siteContent` — site content
271
+
272
+ Marker mixin. Content scoped to a specific site.
273
+
274
+ ### `jmix:socialComponent` — social component
275
+
276
+ Marker mixin for social feature components.
277
+
278
+ ### `jmix:multimediaContent` — multimedia content
279
+
280
+ Marker mixin for audio/video content types.
281
+
282
+ ### `jmix:layoutComponentContent` — layout component
283
+
284
+ Marker mixin for layout/structural components.
285
+
286
+ ### `jmix:siteComponent` — site component
287
+
288
+ Marker mixin for site-level components.
289
+
290
+ ### `jmix:formContent` — form content
291
+
292
+ Marker mixin for form-related components.
293
+
294
+ ### `jmix:queryContent` — query content
295
+
296
+ Marker mixin for content that runs JCR queries.
297
+
298
+ ### `jmix:userProfileComponents` — user profile components
299
+
300
+ Marker mixin for user profile display components.
301
+
302
+ ### `jmix:browsableInEditorialPicker` — editorial picker navigation
303
+
304
+ Marker mixin. Makes nodes of this type appear as navigable folders in the editorial content picker UI.
305
+
306
+ ---
307
+
308
+ ## Ordering mixins
309
+
310
+ ### `jmix:manuallyOrderable` — manual child ordering
311
+
312
+ Marker mixin. Enables editors to manually reorder child nodes via drag-and-drop.
313
+
314
+ ```cnd
315
+ [ns:gallery] > jnt:content, nsmix:component, jmix:manuallyOrderable
316
+ ```
317
+
318
+ ### `jmix:automaticallyOrderable` — automatic ordering base
319
+
320
+ Marker mixin. Base for types that support automatic ordering.
321
+
322
+ ### `jmix:orderedList` — field-based automatic ordering
323
+
324
+ Extends `jmix:automaticallyOrderable`. Adds sort field/direction configuration to a content list.
325
+
326
+ ```cnd
327
+ [jmix:orderedList] mixin
328
+ itemtype = listOrdering
329
+ extends = jnt:contentList, jnt:area, jmix:automaticallyOrderable
330
+ - ignoreCase (boolean) = true autocreated
331
+ - firstField (string, choicelist[sortableFieldnames]) indexed=no
332
+ - firstDirection (string, choicelist[resourceBundle]) = 'asc' autocreated indexed=no < 'asc','desc'
333
+ ```
334
+
335
+ ---
336
+
337
+ ## Internationalisation & search
338
+
339
+ ### `jmix:i18n` — multilingual node support
340
+
341
+ Adds `j:invalidLanguages` (string, multiple) and child `jnt:translation` nodes. Jahia automatically applies this when a property is declared `i18n` — you do not extend it manually.
342
+
343
+ ```cnd
344
+ [jmix:i18n] mixin
345
+ - j:invalidLanguages (string) multiple nofulltext hidden
346
+ + * (jnt:translation)
347
+ ```
348
+
349
+ ### `jmix:searchable` — search indexing
350
+
351
+ Marker mixin. Identifies nodes that should be discoverable via search.
352
+
353
+ ---
354
+
355
+ ## File & document mixins
356
+
357
+ ### `jmix:image` — image type constraint
358
+
359
+ Use as a constraint on image weakreference properties:
360
+
361
+ ```cnd
362
+ - backgroundImage (weakreference, picker[type='image']) < jmix:image
363
+ ```
364
+
365
+ **Never use `< 'jnt:file'`** — it does not enforce image type correctly.
366
+
367
+ **Never declare `imageAlt (string) i18n`** alongside an image weakreference. Use the image node's `jcr:title` as alt text:
368
+
369
+ ```tsx
370
+ const imageAlt = props.image?.getPropertyAsString("jcr:title") ?? "";
371
+ ```
372
+
373
+ ### `jmix:document` — document metadata
374
+
375
+ Metadata mixin for documents (page count, word count, etc.).
376
+
377
+ ### `jmix:exif` — EXIF image data
378
+
379
+ Adds EXIF metadata properties to image file nodes.
380
+
381
+ ### `jmix:photo` — photo properties
382
+
383
+ Photo-specific metadata mixin.
384
+
385
+ ### `jmix:size` — width/height properties
386
+
387
+ Adds height and width properties.
388
+
389
+ ### `jmix:extension` — file extension marker
390
+
391
+ Marker mixin for file type extension tracking.
392
+
393
+ ---
394
+
395
+ ## Link & reference mixins
396
+
397
+ ### `jmix:link` — built-in link type
398
+
399
+ Provides `j:linkType`, `j:linknode`, `j:url`, `j:linkTitle`. Extend this mixin for types that need link behaviour without declaring `j:linkType` directly.
400
+
401
+ ### `jmix:nodeReference` — node reference support
402
+
403
+ Marker mixin for types that reference other nodes.
404
+
405
+ ### `jmix:referencesInField` — field-level references
406
+
407
+ Marker mixin. Enables reference tracking at the field level.
408
+
409
+ ### `jmix:bindedComponent` — component binding
410
+
411
+ Marker mixin for components bound to other components.
412
+
413
+ ### `jmix:externalReference` — external references
414
+
415
+ Marker mixin for types referencing external (non-JCR) resources.
416
+
417
+ ---
418
+
419
+ ## Navigation mixins
420
+
421
+ ### `jmix:navMenu` — navigation menu
422
+
423
+ Marker mixin for navigation menu containers.
424
+
425
+ ### `jmix:navMenuItem` — navigation menu item
426
+
427
+ Marker mixin for individual navigation menu entries.
428
+
429
+ ### `jmix:visibleInPagesTree` — pages tree visibility
430
+
431
+ Marker mixin. Makes nodes visible in the pages tree navigation.
432
+
433
+ ### `jmix:visibleInContentTree` — content tree visibility
434
+
435
+ Marker mixin. Makes nodes visible in the content tree navigation.
436
+
437
+ ---
438
+
439
+ ## Caching & performance mixins
440
+
441
+ ### `jmix:cache` — cache configuration
442
+
443
+ Marker mixin for configuring component-level caching behaviour.
444
+
445
+ ---
446
+
447
+ ## System & structural mixins (do not extend unless building infrastructure)
448
+
449
+ | Mixin | Purpose |
450
+ |---|---|
451
+ | `jmix:nodenameInfo` | System node identification marker |
452
+ | `jmix:systemNode` | System node marker |
453
+ | `jmix:observable` | Event-based monitoring (observable pattern) |
454
+ | `jmix:list` | Identifies container/collection nodes |
455
+ | `jmix:isAreaList` | Area list marker |
456
+ | `jmix:shareable` | Shareable content (shared nodes across paths) |
457
+ | `jmix:unstructured` | Unstructured content (accepts any child) |
458
+ | `jmix:hasIcon` | Icon support |
459
+ | `jmix:systemNameReadonly` | Prevents renaming via UI |
460
+ | `jmix:blockUiMove` | Prevents drag-move in UI |
461
+ | `jmix:skipConstraintCheck` | Bypasses node type constraint checks |
462
+ | `jmix:contributeMode` | Contribute mode support |
463
+ | `jmix:listRestrictions` | List restrictions configuration |
464
+ | `jmix:studioLayout` | Studio layout marker |
465
+ | `jmix:listedInRestrictions` | Listed-in-restrictions marker |
466
+ | `jmix:markedForDeletion` | Deletion marker (internal) |
467
+ | `jmix:markedForDeletionRoot` | Deletion root marker (internal) |
468
+ | `jmix:autoSplitFolders` | Auto-splits folders when child count is high |
469
+ | `jmix:hideDeleteAction` | Hides delete action in UI |
470
+ | `jmix:htmlSettings` | HTML settings |
471
+ | `jmix:viewProperties` | View properties |
472
+ | `jmix:mockupStyle` | Mockup styling |
473
+ | `jmix:requireLicense` | License requirement marker |
474
+ | `jmix:hasExternalProviderExtension` | External provider extension support |
475
+ | `jmix:sourceControl` | Source control integration |
476
+ | `jmix:moduleImportFile` | Module import file marker |
477
+ | `jmix:originWS` | Workspace origin tracking |
478
+ | `jmix:liveProperties` | Live workspace properties |
479
+ | `jmix:deletedChildren` | Deleted children tracking |
480
+
481
+ ---
482
+
483
+ ## Legacy/compatibility mixins (do not use in new modules)
484
+
485
+ | Mixin | Notes |
486
+ |---|---|
487
+ | `jmix:filemetadata` | Replaced by `jmix:basemetadata` |
488
+ | `jmix:hierarchyNode` | Legacy hierarchy marker |
489
+ | `jmix:collection` | Legacy collection marker |
490
+ | `jmix:usersFolder` | Legacy users folder (extends `nt:base`) |
491
+ | `jmix:groupsFolder` | Legacy groups folder |
492
+ | `jmix:virtualsitesFolder` | Legacy virtual sites folder |
493
+ | `jmix:mountPointFactory` | Mount point factory |
494
+ | `jmix:legacyContent` | Legacy content marker |
495
+ | `jmix:legacyPage` | Legacy page marker |
496
+ | `jmix:legacyFile` | Legacy file marker |
497
+
498
+ ---
499
+
500
+ ## picker[] selector
501
+
502
+ | Selector | Use |
503
+ |---|---|
504
+ | `picker[type='image']` | Image assets only |
505
+ | `picker[type='file']` | Any file asset |
506
+
507
+ ```cnd
508
+ - backgroundImage (weakreference, picker[type='image']) < jmix:image
509
+ - attachment (weakreference, picker[type='file']) < jnt:file
510
+ ```
@@ -0,0 +1,87 @@
1
+ # CND Content Modeling Decisions
2
+
3
+ ## Scale of thumbs
4
+
5
+ A well-scoped module has: **1–4 page templates, 5–10 content types, 2–5 mixins, 1–4 views per type.**
6
+ If a request exceeds this, flag it and split work into sessions.
7
+
8
+ ---
9
+
10
+ ## Semantic vs generic types
11
+
12
+ | Use semantic types for… | Use generic types for… |
13
+ |---|---|
14
+ | Business entities: articles, team members, events | Visual composition: banners, feature rows |
15
+ | Items that appear in listings/collections | One-off sections, layout containers |
16
+ | Content with business logic or user restrictions | Reusable UI blocks without meaning |
17
+ | Content that needs a detail page (`jmix:mainResource`) | |
18
+
19
+ When in doubt, prefer semantic — its evolutions are easier to design.
20
+
21
+ ---
22
+
23
+ ## Weakreference vs children
24
+
25
+ | Use children when… | Use weakreference when… |
26
+ |---|---|
27
+ | Parent is a visual container (CTAs inside a hero) | Internal links (call to action targets, page links) |
28
+ | Children have no life outside the parent | Many-to-many relationships (author ↔ blog post) |
29
+ | Always created together | Content managed/reused elsewhere |
30
+ | Each child has multiple properties (label + link) | Each item is just a reference to an existing node |
31
+
32
+ - Many-to-many = MUST use `weakreference multiple`
33
+ - One-to-many = prefer children when parent is the container
34
+
35
+ ---
36
+
37
+ ## Mixin vs child node vs inheritance
38
+
39
+ | Use mixin when… | Use child nodes when… | Use inheritance when… |
40
+ |---|---|---|
41
+ | Reusing properties across unrelated types | Multiple instances needed (multiple CTAs) | Retaining original views + adding fields in new views |
42
+ | At most one instance per component | | |
43
+
44
+ **Avoid inheritance in general** — it duplicates types in the editor picker.
45
+
46
+ Never extend anything other than `jnt:content` (or your base mixin). To add fields to a type you don't control, use a mixin with `extends`:
47
+
48
+ ```cnd
49
+ [nsmix:morePageFields] mixin extends=jnt:page
50
+ - myField (string) i18n
51
+ ```
52
+
53
+ ---
54
+
55
+ ## Pages vs jmix:mainResource
56
+
57
+ | Use pages when… | Use jmix:mainResource when… |
58
+ |---|---|
59
+ | Content is a standalone page with no structured data | Content needs both a listing card AND a detail page |
60
+ | No programmatic listing/filtering needed | Content collections (blog posts, events, team members) |
61
+
62
+ ---
63
+
64
+ ## Common reusable mixin patterns
65
+
66
+ | Mixin name | Properties | When to use |
67
+ |---|---|---|
68
+ | `nsmix:cta` | `label (string) i18n`, `j:linkType (string, choicelist[linkTypeInitializer])` | Any type with a button/link |
69
+ | `nsmix:media` | `image (weakreference, picker[type='image']) < jmix:image` | Any type with an image |
70
+ | `nsmix:seo` | `metaTitle (string) i18n`, `metaDescription (string, textarea) i18n` | Any `jmix:mainResource` type |
71
+ | `nsmix:badge` | `badgeText (string) i18n`, `badgeColor (string, color)` | Cards, teasers |
72
+
73
+ Always extract to a mixin when the same set of properties appears on 2+ types.
74
+
75
+ ---
76
+
77
+ ## Spec template (interactive mode)
78
+
79
+ ```
80
+ Component: [PascalCase name]
81
+ Description: [what editors create with this]
82
+ Fields:
83
+ - name: data type, i18n?, mandatory?, multiple?
84
+ Views: [default / card / fullPage / small]
85
+ Used where: [page area / content folder / child of <Parent>]
86
+ Repeatable children: [no / yes: describe]
87
+ ```
@@ -0,0 +1,92 @@
1
+ # CND Numeric, Date & Boolean Properties
2
+
3
+ ## Types
4
+
5
+ | Type | Editor widget | Notes |
6
+ |---|---|---|
7
+ | `long` | Integer number input | Counts, limits, columns |
8
+ | `double` | Decimal number input | Coordinates, prices, ratios |
9
+ | `boolean` | Checkbox | Feature flags, toggles |
10
+ | `date` | Date picker | ISO 8601 stored, string in TypeScript |
11
+ | `date, datepicker` | Date-only picker | Same storage, date-only widget |
12
+ | `date, datetimepicker` | Date + time picker | Use when time precision is needed |
13
+
14
+ ## Types to avoid
15
+
16
+ | Avoid | Use instead | Reason |
17
+ |---|---|---|
18
+ | `path` | `weakreference` | weakreference is the preferred reference type |
19
+ | `reference` | `weakreference` | Not properly implemented |
20
+ | `uri` | `string` | No added value |
21
+ | `decimal` | `double` | Use double for decimal numbers |
22
+ | `name` | `string` | JCR node type name; use string instead |
23
+ | `binary` | — | Binary data; rarely needed in practice |
24
+ | `undefined` | — | Unknown type; avoid |
25
+
26
+ ## Default values with `autocreated`
27
+
28
+ Always combine `autocreated` with `= 'value'`:
29
+
30
+ ```cnd
31
+ - columns (long) = '3' autocreated mandatory < '1', '2', '3', '4'
32
+ - isHighlighted (boolean) = 'false' autocreated
33
+ - country (string, choicelist[country]) = 'US' autocreated mandatory
34
+ ```
35
+
36
+ ### `date` default — `now()`
37
+
38
+ Use `now()` (no quotes) to default a date to the current time at node creation:
39
+
40
+ ```cnd
41
+ - publishDate (date, datepicker) = now() autocreated
42
+ ```
43
+
44
+ ## Range constraints
45
+
46
+ ```cnd
47
+ // Numeric range — inclusive brackets
48
+ - latitude (double) mandatory < "[-90,90]"
49
+ - longitude (double) mandatory < "[-180,180]"
50
+ - rating (long) mandatory < "[1,5]"
51
+ ```
52
+
53
+ **Star ratings always need a range constraint.** Never write `rating (long)` without `< "[1,5]"`:
54
+
55
+ ```cnd
56
+ // WRONG
57
+ - rating (long) = 5 indexed=no
58
+
59
+ // CORRECT
60
+ - rating (long) = '3' autocreated mandatory < "[1,5]"
61
+ ```
62
+
63
+ ## Date range constraints
64
+
65
+ Parentheses = exclusive bound, brackets = inclusive. Leave a side empty for open-ended:
66
+
67
+ ```cnd
68
+ // Any date after 2020-01-01 (exclusive)
69
+ - eventDate (date, datepicker) < '(2020-01-01T00:00:00.000,)'
70
+
71
+ // Bounded campaign window
72
+ - campaignDate (date, datepicker) < '(2020-01-01T00:00:00.000,2030-12-31T00:00:00.000)'
73
+ ```
74
+
75
+ ## `datetimepicker` vs `datepicker`
76
+
77
+ ```cnd
78
+ // Date only
79
+ - publishDate (date, datepicker) = now() autocreated
80
+
81
+ // Date + time
82
+ - eventDateTime (date, datetimepicker) i18n mandatory
83
+ ```
84
+
85
+ ## TypeScript mapping
86
+
87
+ | CND type | TypeScript |
88
+ |---|---|
89
+ | `long` | `number` |
90
+ | `double` | `number` |
91
+ | `boolean` | `boolean` |
92
+ | `date` | `string` (ISO 8601) |