@jahia/agentic 0.0.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 (307) hide show
  1. package/README.md +48 -0
  2. package/dist/claude/.claude/rules/jahia.md +76 -0
  3. package/dist/claude/.claude/skills/jahia/SKILL.md +136 -0
  4. package/dist/claude/.claude/skills/jahia-content/SKILL.md +139 -0
  5. package/dist/claude/.claude/skills/jahia-content-create-content/SKILL.md +384 -0
  6. package/dist/claude/.claude/skills/jahia-content-explore-structure/SKILL.md +164 -0
  7. package/dist/claude/.claude/skills/jahia-content-move-content/SKILL.md +236 -0
  8. package/dist/claude/.claude/skills/jahia-content-query-content/SKILL.md +144 -0
  9. package/dist/claude/.claude/skills/jahia-content-translate-content/SKILL.md +297 -0
  10. package/dist/claude/.claude/skills/jahia-dev/SKILL.md +124 -0
  11. package/dist/claude/.claude/skills/jahia-dev-accessibility/SKILL.md +271 -0
  12. package/dist/claude/.claude/skills/jahia-dev-apis/SKILL.md +52 -0
  13. package/dist/claude/.claude/skills/jahia-dev-apis/references/authentication.md +484 -0
  14. package/dist/claude/.claude/skills/jahia-dev-apis/references/graphql.md +657 -0
  15. package/dist/claude/.claude/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  16. package/dist/claude/.claude/skills/jahia-dev-apis/references/security.md +541 -0
  17. package/dist/claude/.claude/skills/jahia-dev-build-component/SKILL.md +140 -0
  18. package/dist/claude/.claude/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  19. package/dist/claude/.claude/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  20. package/dist/claude/.claude/skills/jahia-dev-create-view/SKILL.md +838 -0
  21. package/dist/claude/.claude/skills/jahia-dev-cypress/SKILL.md +445 -0
  22. package/dist/claude/.claude/skills/jahia-dev-debug/SKILL.md +176 -0
  23. package/dist/claude/.claude/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  24. package/dist/claude/.claude/skills/jahia-dev-import-from/SKILL.md +244 -0
  25. package/dist/claude/.claude/skills/jahia-dev-java/SKILL.md +105 -0
  26. package/dist/claude/.claude/skills/jahia-dev-java/references/backend.md +331 -0
  27. package/dist/claude/.claude/skills/jahia-dev-java/references/content-types.md +273 -0
  28. package/dist/claude/.claude/skills/jahia-dev-java/references/modules.md +218 -0
  29. package/dist/claude/.claude/skills/jahia-dev-java/references/osgi.md +208 -0
  30. package/dist/claude/.claude/skills/jahia-dev-java/references/rendering.md +191 -0
  31. package/dist/claude/.claude/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  32. package/dist/claude/.claude/skills/jahia-dev-jexperience/SKILL.md +269 -0
  33. package/dist/claude/.claude/skills/jahia-dev-ops/SKILL.md +50 -0
  34. package/dist/claude/.claude/skills/jahia-dev-ops/references/docker.md +151 -0
  35. package/dist/claude/.claude/skills/jahia-dev-ops/references/monitoring.md +195 -0
  36. package/dist/claude/.claude/skills/jahia-dev-ops/references/provisioning.md +269 -0
  37. package/dist/claude/.claude/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  38. package/dist/claude/.claude/skills/jahia-dev-properties/SKILL.md +147 -0
  39. package/dist/claude/.claude/skills/jahia-dev-properties/references/all-properties.md +231 -0
  40. package/dist/claude/.claude/skills/jahia-dev-query-content/SKILL.md +407 -0
  41. package/dist/claude/.claude/skills/jahia-dev-review/SKILL.md +228 -0
  42. package/dist/claude/.claude/skills/jahia-dev-screenshot/SKILL.md +177 -0
  43. package/dist/claude/.claude/skills/jahia-dev-start-local/SKILL.md +129 -0
  44. package/dist/claude/.claude/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  45. package/dist/claude/CLAUDE.md +90 -0
  46. package/dist/codex/.agents/skills/jahia/SKILL.md +136 -0
  47. package/dist/codex/.agents/skills/jahia-content/SKILL.md +139 -0
  48. package/dist/codex/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
  49. package/dist/codex/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
  50. package/dist/codex/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
  51. package/dist/codex/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
  52. package/dist/codex/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
  53. package/dist/codex/.agents/skills/jahia-dev/SKILL.md +124 -0
  54. package/dist/codex/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
  55. package/dist/codex/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
  56. package/dist/codex/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
  57. package/dist/codex/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
  58. package/dist/codex/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  59. package/dist/codex/.agents/skills/jahia-dev-apis/references/security.md +541 -0
  60. package/dist/codex/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
  61. package/dist/codex/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  62. package/dist/codex/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  63. package/dist/codex/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
  64. package/dist/codex/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
  65. package/dist/codex/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
  66. package/dist/codex/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  67. package/dist/codex/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
  68. package/dist/codex/.agents/skills/jahia-dev-java/SKILL.md +105 -0
  69. package/dist/codex/.agents/skills/jahia-dev-java/references/backend.md +331 -0
  70. package/dist/codex/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
  71. package/dist/codex/.agents/skills/jahia-dev-java/references/modules.md +218 -0
  72. package/dist/codex/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
  73. package/dist/codex/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
  74. package/dist/codex/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  75. package/dist/codex/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
  76. package/dist/codex/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
  77. package/dist/codex/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
  78. package/dist/codex/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
  79. package/dist/codex/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
  80. package/dist/codex/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  81. package/dist/codex/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
  82. package/dist/codex/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
  83. package/dist/codex/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
  84. package/dist/codex/.agents/skills/jahia-dev-review/SKILL.md +228 -0
  85. package/dist/codex/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
  86. package/dist/codex/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
  87. package/dist/codex/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  88. package/dist/codex/AGENTS.md +89 -0
  89. package/dist/copilot/.agents/skills/jahia/SKILL.md +136 -0
  90. package/dist/copilot/.agents/skills/jahia-content/SKILL.md +139 -0
  91. package/dist/copilot/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
  92. package/dist/copilot/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
  93. package/dist/copilot/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
  94. package/dist/copilot/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
  95. package/dist/copilot/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
  96. package/dist/copilot/.agents/skills/jahia-dev/SKILL.md +124 -0
  97. package/dist/copilot/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
  98. package/dist/copilot/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
  99. package/dist/copilot/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
  100. package/dist/copilot/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
  101. package/dist/copilot/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  102. package/dist/copilot/.agents/skills/jahia-dev-apis/references/security.md +541 -0
  103. package/dist/copilot/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
  104. package/dist/copilot/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  105. package/dist/copilot/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  106. package/dist/copilot/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
  107. package/dist/copilot/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
  108. package/dist/copilot/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
  109. package/dist/copilot/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  110. package/dist/copilot/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
  111. package/dist/copilot/.agents/skills/jahia-dev-java/SKILL.md +105 -0
  112. package/dist/copilot/.agents/skills/jahia-dev-java/references/backend.md +331 -0
  113. package/dist/copilot/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
  114. package/dist/copilot/.agents/skills/jahia-dev-java/references/modules.md +218 -0
  115. package/dist/copilot/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
  116. package/dist/copilot/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
  117. package/dist/copilot/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  118. package/dist/copilot/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
  119. package/dist/copilot/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
  120. package/dist/copilot/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
  121. package/dist/copilot/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
  122. package/dist/copilot/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
  123. package/dist/copilot/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  124. package/dist/copilot/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
  125. package/dist/copilot/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
  126. package/dist/copilot/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
  127. package/dist/copilot/.agents/skills/jahia-dev-review/SKILL.md +228 -0
  128. package/dist/copilot/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
  129. package/dist/copilot/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
  130. package/dist/copilot/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  131. package/dist/copilot/AGENTS.md +89 -0
  132. package/dist/cursor/.agents/skills/jahia/SKILL.md +136 -0
  133. package/dist/cursor/.agents/skills/jahia-content/SKILL.md +139 -0
  134. package/dist/cursor/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
  135. package/dist/cursor/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
  136. package/dist/cursor/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
  137. package/dist/cursor/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
  138. package/dist/cursor/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
  139. package/dist/cursor/.agents/skills/jahia-dev/SKILL.md +124 -0
  140. package/dist/cursor/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
  141. package/dist/cursor/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
  142. package/dist/cursor/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
  143. package/dist/cursor/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
  144. package/dist/cursor/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  145. package/dist/cursor/.agents/skills/jahia-dev-apis/references/security.md +541 -0
  146. package/dist/cursor/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
  147. package/dist/cursor/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  148. package/dist/cursor/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  149. package/dist/cursor/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
  150. package/dist/cursor/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
  151. package/dist/cursor/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
  152. package/dist/cursor/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  153. package/dist/cursor/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
  154. package/dist/cursor/.agents/skills/jahia-dev-java/SKILL.md +105 -0
  155. package/dist/cursor/.agents/skills/jahia-dev-java/references/backend.md +331 -0
  156. package/dist/cursor/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
  157. package/dist/cursor/.agents/skills/jahia-dev-java/references/modules.md +218 -0
  158. package/dist/cursor/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
  159. package/dist/cursor/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
  160. package/dist/cursor/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  161. package/dist/cursor/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
  162. package/dist/cursor/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
  163. package/dist/cursor/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
  164. package/dist/cursor/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
  165. package/dist/cursor/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
  166. package/dist/cursor/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  167. package/dist/cursor/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
  168. package/dist/cursor/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
  169. package/dist/cursor/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
  170. package/dist/cursor/.agents/skills/jahia-dev-review/SKILL.md +228 -0
  171. package/dist/cursor/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
  172. package/dist/cursor/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
  173. package/dist/cursor/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  174. package/dist/cursor/.cursor/rules/jahia.mdc +80 -0
  175. package/dist/gemini/.agents/skills/jahia/SKILL.md +136 -0
  176. package/dist/gemini/.agents/skills/jahia-content/SKILL.md +139 -0
  177. package/dist/gemini/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
  178. package/dist/gemini/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
  179. package/dist/gemini/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
  180. package/dist/gemini/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
  181. package/dist/gemini/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
  182. package/dist/gemini/.agents/skills/jahia-dev/SKILL.md +124 -0
  183. package/dist/gemini/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
  184. package/dist/gemini/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
  185. package/dist/gemini/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
  186. package/dist/gemini/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
  187. package/dist/gemini/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  188. package/dist/gemini/.agents/skills/jahia-dev-apis/references/security.md +541 -0
  189. package/dist/gemini/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
  190. package/dist/gemini/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  191. package/dist/gemini/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  192. package/dist/gemini/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
  193. package/dist/gemini/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
  194. package/dist/gemini/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
  195. package/dist/gemini/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  196. package/dist/gemini/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
  197. package/dist/gemini/.agents/skills/jahia-dev-java/SKILL.md +105 -0
  198. package/dist/gemini/.agents/skills/jahia-dev-java/references/backend.md +331 -0
  199. package/dist/gemini/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
  200. package/dist/gemini/.agents/skills/jahia-dev-java/references/modules.md +218 -0
  201. package/dist/gemini/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
  202. package/dist/gemini/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
  203. package/dist/gemini/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  204. package/dist/gemini/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
  205. package/dist/gemini/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
  206. package/dist/gemini/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
  207. package/dist/gemini/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
  208. package/dist/gemini/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
  209. package/dist/gemini/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  210. package/dist/gemini/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
  211. package/dist/gemini/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
  212. package/dist/gemini/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
  213. package/dist/gemini/.agents/skills/jahia-dev-review/SKILL.md +228 -0
  214. package/dist/gemini/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
  215. package/dist/gemini/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
  216. package/dist/gemini/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  217. package/dist/gemini/AGENTS.md +89 -0
  218. package/dist/gemini/GEMINI.md +6 -0
  219. package/dist/index.js +975 -0
  220. package/dist/opencode/.agents/skills/jahia/SKILL.md +136 -0
  221. package/dist/opencode/.agents/skills/jahia-content/SKILL.md +139 -0
  222. package/dist/opencode/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
  223. package/dist/opencode/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
  224. package/dist/opencode/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
  225. package/dist/opencode/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
  226. package/dist/opencode/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
  227. package/dist/opencode/.agents/skills/jahia-dev/SKILL.md +124 -0
  228. package/dist/opencode/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
  229. package/dist/opencode/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
  230. package/dist/opencode/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
  231. package/dist/opencode/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
  232. package/dist/opencode/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  233. package/dist/opencode/.agents/skills/jahia-dev-apis/references/security.md +541 -0
  234. package/dist/opencode/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
  235. package/dist/opencode/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  236. package/dist/opencode/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  237. package/dist/opencode/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
  238. package/dist/opencode/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
  239. package/dist/opencode/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
  240. package/dist/opencode/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  241. package/dist/opencode/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
  242. package/dist/opencode/.agents/skills/jahia-dev-java/SKILL.md +105 -0
  243. package/dist/opencode/.agents/skills/jahia-dev-java/references/backend.md +331 -0
  244. package/dist/opencode/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
  245. package/dist/opencode/.agents/skills/jahia-dev-java/references/modules.md +218 -0
  246. package/dist/opencode/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
  247. package/dist/opencode/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
  248. package/dist/opencode/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  249. package/dist/opencode/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
  250. package/dist/opencode/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
  251. package/dist/opencode/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
  252. package/dist/opencode/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
  253. package/dist/opencode/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
  254. package/dist/opencode/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  255. package/dist/opencode/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
  256. package/dist/opencode/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
  257. package/dist/opencode/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
  258. package/dist/opencode/.agents/skills/jahia-dev-review/SKILL.md +228 -0
  259. package/dist/opencode/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
  260. package/dist/opencode/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
  261. package/dist/opencode/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  262. package/dist/opencode/AGENTS.md +89 -0
  263. package/dist/windsurf/.windsurf/rules/jahia.md +80 -0
  264. package/dist/windsurf/.windsurf/skills/jahia/SKILL.md +136 -0
  265. package/dist/windsurf/.windsurf/skills/jahia-content/SKILL.md +139 -0
  266. package/dist/windsurf/.windsurf/skills/jahia-content-create-content/SKILL.md +384 -0
  267. package/dist/windsurf/.windsurf/skills/jahia-content-explore-structure/SKILL.md +164 -0
  268. package/dist/windsurf/.windsurf/skills/jahia-content-move-content/SKILL.md +236 -0
  269. package/dist/windsurf/.windsurf/skills/jahia-content-query-content/SKILL.md +144 -0
  270. package/dist/windsurf/.windsurf/skills/jahia-content-translate-content/SKILL.md +297 -0
  271. package/dist/windsurf/.windsurf/skills/jahia-dev/SKILL.md +124 -0
  272. package/dist/windsurf/.windsurf/skills/jahia-dev-accessibility/SKILL.md +271 -0
  273. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/SKILL.md +52 -0
  274. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/authentication.md +484 -0
  275. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/graphql.md +657 -0
  276. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  277. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/security.md +541 -0
  278. package/dist/windsurf/.windsurf/skills/jahia-dev-build-component/SKILL.md +140 -0
  279. package/dist/windsurf/.windsurf/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  280. package/dist/windsurf/.windsurf/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  281. package/dist/windsurf/.windsurf/skills/jahia-dev-create-view/SKILL.md +838 -0
  282. package/dist/windsurf/.windsurf/skills/jahia-dev-cypress/SKILL.md +445 -0
  283. package/dist/windsurf/.windsurf/skills/jahia-dev-debug/SKILL.md +176 -0
  284. package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  285. package/dist/windsurf/.windsurf/skills/jahia-dev-import-from/SKILL.md +244 -0
  286. package/dist/windsurf/.windsurf/skills/jahia-dev-java/SKILL.md +105 -0
  287. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/backend.md +331 -0
  288. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/content-types.md +273 -0
  289. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/modules.md +218 -0
  290. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/osgi.md +208 -0
  291. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/rendering.md +191 -0
  292. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  293. package/dist/windsurf/.windsurf/skills/jahia-dev-jexperience/SKILL.md +269 -0
  294. package/dist/windsurf/.windsurf/skills/jahia-dev-ops/SKILL.md +50 -0
  295. package/dist/windsurf/.windsurf/skills/jahia-dev-ops/references/docker.md +151 -0
  296. package/dist/windsurf/.windsurf/skills/jahia-dev-ops/references/monitoring.md +195 -0
  297. package/dist/windsurf/.windsurf/skills/jahia-dev-ops/references/provisioning.md +269 -0
  298. package/dist/windsurf/.windsurf/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  299. package/dist/windsurf/.windsurf/skills/jahia-dev-properties/SKILL.md +147 -0
  300. package/dist/windsurf/.windsurf/skills/jahia-dev-properties/references/all-properties.md +231 -0
  301. package/dist/windsurf/.windsurf/skills/jahia-dev-query-content/SKILL.md +407 -0
  302. package/dist/windsurf/.windsurf/skills/jahia-dev-review/SKILL.md +228 -0
  303. package/dist/windsurf/.windsurf/skills/jahia-dev-screenshot/SKILL.md +177 -0
  304. package/dist/windsurf/.windsurf/skills/jahia-dev-start-local/SKILL.md +129 -0
  305. package/dist/windsurf/.windsurf/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  306. package/dist/windsurf/AGENTS.md +89 -0
  307. package/package.json +28 -0
@@ -0,0 +1,273 @@
1
+ # Jahia Content Types (CND) Reference
2
+
3
+ ## Table of Contents
4
+ 1. [CND file basics](#1-cnd-file-basics)
5
+ 2. [Property types and selectors](#2-property-types-and-selectors)
6
+ 3. [Property keywords](#3-property-keywords)
7
+ 4. [Child node declarations](#4-child-node-declarations)
8
+ 5. [Mixins](#5-mixins)
9
+ 6. [Key built-in mixins reference](#6-key-built-in-mixins-reference)
10
+ 7. [Choicelist initializers](#7-choicelist-initializers)
11
+ 8. [Enhancing content types for editors](#8-enhancing-content-types-for-editors)
12
+ 9. [Modifying existing definitions](#9-modifying-existing-definitions)
13
+ 10. [Module definition checks](#10-module-definition-checks)
14
+
15
+ ---
16
+
17
+ ## 1. CND file basics
18
+
19
+ CND = Compact Namespace and Node Type Definition (Apache Jackrabbit standard).
20
+
21
+ File location: `src/main/resources/META-INF/definitions.cnd`
22
+
23
+ ### Namespace declaration (required first)
24
+ ```cnd
25
+ <ns = 'http://www.example.org/ns/1.0'>
26
+ ```
27
+
28
+ Jahia built-in namespaces:
29
+ - `<jnt = 'http://www.jahia.org/jahia/nt/1.0'>` — node types
30
+ - `<jmix = 'http://www.jahia.org/jahia/mix/1.0'>` — mixins
31
+ - `<j = 'http://www.jahia.org/jahia/1.0'>` — core properties
32
+ - `<mix = 'http://www.jcp.org/jcr/mix/1.0'>` — JCR standard mixins
33
+
34
+ ### Minimal content type definition
35
+ ```cnd
36
+ <myns = 'http://www.example.org/myns/1.0'>
37
+
38
+ [myns:myContent] > jnt:content, jmix:editorialContent
39
+ - title (string) i18n mandatory
40
+ - body (string, richtext) i18n
41
+ - publishDate (date)
42
+ ```
43
+
44
+ All user-editable content types MUST inherit from `jnt:content`.
45
+ Add `jmix:editorialContent` to make the type visible in jContent.
46
+
47
+ ---
48
+
49
+ ## 2. Property types and selectors
50
+
51
+ ### Base property types
52
+
53
+ | CND type | Content Editor renders as |
54
+ |----------|--------------------------|
55
+ | `string` | Text input |
56
+ | `long` | Number field (integer) |
57
+ | `double` | Number field (decimal) |
58
+ | `boolean` | Checkbox |
59
+ | `date` | Date picker |
60
+ | `weakreference` | Node picker (UUID reference, not enforced) |
61
+
62
+ ### String selectors
63
+
64
+ | Selector | Renders as |
65
+ |----------|-----------|
66
+ | `string` | Plain text input |
67
+ | `string, textarea` | Multi-line textarea |
68
+ | `string, richtext` | CKEditor WYSIWYG |
69
+ | `string, choicelist` | Dropdown list |
70
+ | `string, color` | Color picker |
71
+
72
+ ### Date selectors
73
+
74
+ | Selector | Renders as |
75
+ |----------|-----------|
76
+ | `date, datetimepicker` | Date + time picker |
77
+ | `date, datepicker` | Date-only picker |
78
+
79
+ ---
80
+
81
+ ## 3. Property keywords
82
+
83
+ | Keyword | Effect |
84
+ |---------|--------|
85
+ | `i18n` / `internationalized` | Property has separate value per language |
86
+ | `mandatory` | Field required before saving |
87
+ | `multiple` | Allows multiple values |
88
+ | `hidden` | Not shown in UI; only set programmatically |
89
+ | `protected` | Read-only in UI; only set programmatically |
90
+ | `autocreated` | Automatically created with default or blank value |
91
+ | `primary` | Used as node label in JCR browser |
92
+ | `indexed=no` | Not indexed for search |
93
+ | `nofulltext` | Indexed but excluded from full-text search |
94
+ | `boost=N` | Search weight multiplier (1.0–5.0) |
95
+ | `analyzer=keyword` | Indexed word-by-word |
96
+ | `facetable` | Enables faceted search on this property |
97
+
98
+ ---
99
+
100
+ ## 4. Child node declarations
101
+
102
+ ```cnd
103
+ [myns:article] > jnt:content, jmix:editorialContent
104
+ + * (jmix:droppableContent) = jmix:droppableContent version # Any droppable content
105
+ + media (jnt:file) # Single named child
106
+ + * (jnt:paragraph) # Multiple children
107
+ + section1 (jnt:contentList) # Named child list
108
+ ```
109
+
110
+ ---
111
+
112
+ ## 5. Mixins
113
+
114
+ A mixin adds properties/child nodes to a type without inheritance conflicts:
115
+
116
+ ```cnd
117
+ [myns:myMixin] mixin
118
+ - extraProp (string) i18n
119
+ ```
120
+
121
+ Apply to a content type:
122
+ ```cnd
123
+ [myns:article] > jnt:content, jmix:editorialContent, myns:myMixin
124
+ ```
125
+
126
+ Create a custom component category:
127
+ ```cnd
128
+ <mymix = 'http://example.org/mymix/1.0'>
129
+
130
+ [mymix:myComponents] > jmix:droppableContent mixin
131
+ ```
132
+
133
+ ---
134
+
135
+ ## 6. Key built-in mixins reference
136
+
137
+ ### Content visibility / organization
138
+
139
+ | Mixin | Purpose |
140
+ |-------|---------|
141
+ | `jmix:editorialContent` | Makes type visible in jContent; enables versioning |
142
+ | `jmix:droppableContent` | Base for component category folders |
143
+ | `jmix:list` | Declares a list component with built-in mechanisms |
144
+ | `mix:title` | Syncs system name with `jcr:title` |
145
+ | `jmix:mainResource` | Enables full-page display |
146
+ | `jmix:hiddenNode` | Node not visible in Jahia managers |
147
+
148
+ ### Content behavior
149
+
150
+ | Mixin | Purpose |
151
+ |-------|---------|
152
+ | `jmix:cache` | Exposes cache expiration controls in the editor UI |
153
+ | `jmix:bindedComponent` | Defines a component that binds/links to another component |
154
+
155
+ ### Component categories (out-of-the-box)
156
+
157
+ | Mixin | Component folder |
158
+ |-------|-----------------|
159
+ | `jmix:basicContent` | Content > Basic |
160
+ | `jmix:multimediaContent` | Content > Multimedia |
161
+ | `jmix:structuredContent` | Content > Structured |
162
+ | `jmix:listContent` | Lists |
163
+ | `jmix:siteComponent` | Site Components |
164
+ | `jmix:editorialContent` | All editorial content |
165
+
166
+ ---
167
+
168
+ ## 7. Choicelist initializers
169
+
170
+ ### Built-in initializers
171
+
172
+ ```cnd
173
+ # Static values from resource bundle
174
+ - contract (string, choicelist[resourceBundle]) < contract1, contract2, contract3
175
+
176
+ # JCR node tree
177
+ - theme (weakreference, choicelist[nodes='$currentSite/files/themes;jnt:folder'])
178
+ - category (weakreference, choicelist[nodes='/sites/systemsite/categories;jnt:category'])
179
+
180
+ # Chained initializers
181
+ - view (string, choicelist[templates,resourceBundle,image])
182
+ ```
183
+
184
+ **Resource bundle keys format:**
185
+ ```properties
186
+ jnt_article.contract.contract1 = Fixed-term contract
187
+ jnt_article.contract.contract2 = Indefinite duration
188
+ ```
189
+ Format: `{nodeTypeName_with_colon_as_underscore}.{propertyName}.{value} = Label`
190
+
191
+ ### Custom choicelist initializer
192
+
193
+ ```java
194
+ @Component(service = {ModuleChoiceListInitializer.class})
195
+ public class MyChoiceListInitializer implements ModuleChoiceListInitializer {
196
+
197
+ @Override
198
+ public String getKey() {
199
+ return "myCustomList"; // Used in CND as choicelist[myCustomList]
200
+ }
201
+
202
+ @Override
203
+ public List<ChoiceListValue> getChoiceListValues(
204
+ ExtendedPropertyDefinition epd, String param,
205
+ List<ChoiceListValue> values, Locale locale,
206
+ Map<String, Object> context) {
207
+ List<ChoiceListValue> result = new ArrayList<>();
208
+ result.add(new ChoiceListValue("Display Label", "storedValue"));
209
+ return result;
210
+ }
211
+ }
212
+ ```
213
+
214
+ ---
215
+
216
+ ## 8. Enhancing content types for editors
217
+
218
+ ### Labels and i18n
219
+
220
+ ```properties
221
+ # In src/main/resources/resources/ModuleName.properties
222
+ myns_myContent.title = Title
223
+ myns_myContent.body = Body text
224
+ myns_myContent.publishDate = Publication date
225
+ ```
226
+
227
+ ### Icons
228
+ Place at `src/main/resources/icons/myns_myContent.png` (replace `:` with `_`).
229
+
230
+ ### Constraints
231
+ ```cnd
232
+ - size (string) < 'small', 'medium', 'large'
233
+ - rating (long) < '[1,5]'
234
+ ```
235
+
236
+ ---
237
+
238
+ ## 9. Modifying existing definitions
239
+
240
+ ### Safe modifications (non-destructive)
241
+ - Adding new optional properties to an existing type
242
+ - Adding a new mixin to an existing type
243
+ - Adding new child node definitions
244
+ - Changing property constraints or default values
245
+
246
+ ### Dangerous modifications (require migration)
247
+ - Renaming a property
248
+ - Changing a property type (e.g., string to date)
249
+ - Removing a property that has existing content
250
+ - Changing the supertype hierarchy
251
+
252
+ ### Overriding built-in definitions
253
+
254
+ ```cnd
255
+ [myns:pageExtension] mixin
256
+ extends = jnt:page
257
+ - myCustomProp (string) i18n
258
+ ```
259
+
260
+ ### Migration scripts
261
+
262
+ Groovy scripts in `src/main/resources/META-INF/patches/` run once on deployment.
263
+ Naming convention: `7.0.0.0-SNAPSHOT-1_myMigration.groovy`
264
+
265
+ ---
266
+
267
+ ## 10. Module definition checks
268
+
269
+ When deploying a module, Jahia checks CND changes. To bypass during development (NOT for production):
270
+ ```properties
271
+ # In jahia.properties
272
+ jahia.jackrabbit.overrideNodeTypes = true
273
+ ```
@@ -0,0 +1,218 @@
1
+ # Jahia Java Module Development Reference
2
+
3
+ ## Table of Contents
4
+ 1. [Module types and structure](#1-module-types-and-structure)
5
+ 2. [Maven pom.xml patterns](#2-maven-pomxml-patterns)
6
+ 3. [Deployment methods](#3-deployment-methods)
7
+ 4. [Deploy-free coding](#4-deploy-free-coding)
8
+ 5. [Static asset management](#5-static-asset-management)
9
+ 6. [Java 11 / 17 configuration](#6-java-11--17-configuration)
10
+ 7. [OSGi tooling in Karaf](#7-osgi-tooling-in-karaf)
11
+ 8. [Troubleshooting common deployment errors](#8-troubleshooting-common-deployment-errors)
12
+
13
+ ---
14
+
15
+ ## 1. Module types and structure
16
+
17
+ | Type | Purpose |
18
+ |------|---------|
19
+ | `module` | Standard content module (default) |
20
+ | `system` | System-level services, loaded early |
21
+ | `templatesSet` | Provides site page templates |
22
+
23
+ ### Directory structure
24
+
25
+ ```
26
+ src/main/
27
+ java/ # Java source code
28
+ resources/
29
+ META-INF/
30
+ definitions.cnd # Content type definitions
31
+ rules.drl # Drools rules (all workspaces)
32
+ default-rules.drl # Rules for edit/preview workspace only
33
+ live-rules.drl # Rules for live workspace only
34
+ rules.dsl # Custom DSL extensions
35
+ configurations/ # OSGi .cfg files deployed to karaf/etc/
36
+ patches/ # Groovy migration scripts
37
+ OSGI-INF/blueprint/ # Blueprint XML (deprecated in 8.2)
38
+ webapp/
39
+ css/
40
+ javascript/
41
+ icons/ # Node type icons (jnt_news.png format)
42
+ resources/ # Resource bundles (ModuleName.properties)
43
+ WEB-INF/macros/ # Groovy/Velocity macros
44
+ ```
45
+
46
+ Icons naming: replace `:` with `_` — `jnt:news` → `jnt_news.png`.
47
+
48
+ ---
49
+
50
+ ## 2. Maven pom.xml patterns
51
+
52
+ ### Minimal pom.xml
53
+
54
+ ```xml
55
+ <parent>
56
+ <artifactId>jahia-modules</artifactId>
57
+ <groupId>org.jahia.modules</groupId>
58
+ <version>8.2.0.0</version>
59
+ </parent>
60
+
61
+ <groupId>org.example</groupId>
62
+ <artifactId>my-module</artifactId>
63
+ <version>1.0.0-SNAPSHOT</version>
64
+ <packaging>bundle</packaging>
65
+ <name>My Module</name>
66
+
67
+ <properties>
68
+ <jahia-depends>default,assets</jahia-depends>
69
+ <jahia.modules.importPackage>org.jahia.defaults.config.spring</jahia.modules.importPackage>
70
+ <export-package>org.example.mymodule.api</export-package>
71
+ </properties>
72
+
73
+ <build>
74
+ <plugins>
75
+ <plugin>
76
+ <groupId>org.apache.felix</groupId>
77
+ <artifactId>maven-bundle-plugin</artifactId>
78
+ <extensions>true</extensions>
79
+ <configuration>
80
+ <instructions>
81
+ <Jahia-Module-Type>module</Jahia-Module-Type>
82
+ <Jahia-Static-Resources>/css,/icons,/javascript</Jahia-Static-Resources>
83
+ <Jahia-Source-Folders>${project.basedir}</Jahia-Source-Folders>
84
+ <Embed-Dependency>*;scope=compile|runtime;type=!pom;inline=false</Embed-Dependency>
85
+ <_dsannotations>*</_dsannotations>
86
+ </instructions>
87
+ </configuration>
88
+ </plugin>
89
+ <plugin>
90
+ <groupId>org.jahia.server</groupId>
91
+ <artifactId>jahia-maven-plugin</artifactId>
92
+ </plugin>
93
+ </plugins>
94
+ </build>
95
+ ```
96
+
97
+ ### Declaring module dependencies with version constraints
98
+
99
+ ```xml
100
+ <jahia-depends>dep-module1=4.1,dep-module2,dep-module3=[0, 3)</jahia-depends>
101
+ <jahia-depends>dep-module1=optional</jahia-depends>
102
+ ```
103
+
104
+ ---
105
+
106
+ ## 3. Deployment methods
107
+
108
+ ### Method 1: Copy to modules directory (development)
109
+ Drop the JAR into `digital-factory-data/modules/`. Jahia auto-deploys.
110
+
111
+ ### Method 2: Maven deploy goal (recommended)
112
+ ```xml
113
+ <profile>
114
+ <id>jahia-local</id>
115
+ <properties>
116
+ <jahia.deploy.targetServerType>tomcat</jahia.deploy.targetServerType>
117
+ <jahia.deploy.targetServerDirectory>/path/to/jahia/apache-tomcat</jahia.deploy.targetServerDirectory>
118
+ </properties>
119
+ </profile>
120
+ ```
121
+ ```bash
122
+ mvn clean install jahia:deploy -P jahia-local
123
+ # For Docker:
124
+ mvn jahia:deploy -Djahia.deploy.targetContainerName=CONTAINER_NAME
125
+ ```
126
+
127
+ ### Creating a new module from archetype
128
+ ```bash
129
+ mvn archetype:generate -Dfilter=org.jahia.archetypes:
130
+ # Select: jahia-module-archetype
131
+ ```
132
+
133
+ ---
134
+
135
+ ## 4. Deploy-free coding
136
+
137
+ Deploy-free coding allows JSP, CSS, JS, and CND changes to be reflected without redeployment.
138
+
139
+ **Requirement:** `Jahia-Source-Folders` must point to the project base directory in MANIFEST.
140
+
141
+ **Limitations:** Java class changes still require redeployment. Remove `Jahia-Source-Folders` for release builds.
142
+
143
+ ---
144
+
145
+ ## 5. Static asset management
146
+
147
+ Assets are served from within the OSGi bundle JAR:
148
+ ```xml
149
+ <Jahia-Static-Resources>/css,/icons,/images,/javascript</Jahia-Static-Resources>
150
+ ```
151
+
152
+ OSGi configuration files shipped with a module go in:
153
+ `src/main/resources/META-INF/configurations/` → auto-deployed to `digital-factory-data/karaf/etc/`
154
+
155
+ To prevent overwriting on upgrade, start the file with:
156
+ ```
157
+ # default configuration
158
+ ```
159
+
160
+ ---
161
+
162
+ ## 6. Java 11 / 17 configuration
163
+
164
+ For Java 17, add to JVM startup arguments:
165
+ ```
166
+ --add-opens java.base/java.lang=ALL-UNNAMED
167
+ --add-opens java.base/java.io=ALL-UNNAMED
168
+ --add-opens java.base/java.util=ALL-UNNAMED
169
+ ```
170
+
171
+ ---
172
+
173
+ ## 7. OSGi tooling in Karaf
174
+
175
+ ```bash
176
+ ssh -p 8101 jahia@localhost
177
+ bundle:list # List all OSGi bundles
178
+ jahia:modules # List Jahia modules with state
179
+ bundle:requirements --namespace=osgi.wiring.package <bundleId> # Package requirements
180
+ jcr:query "SELECT * FROM [jnt:page]" # Execute JCR SQL2 query
181
+ ```
182
+
183
+ ### Jahia Maven Plugin goals for OSGi diagnostics
184
+
185
+ ```bash
186
+ mvn jahia:dependencies # Generate/inspect Import-Package list
187
+ mvn jahia:find-package-uses -DpackageNames=com.example.pkg
188
+ mvn jahia:osgi-inspect # Dump MANIFEST headers of built JAR
189
+ ```
190
+
191
+ ---
192
+
193
+ ## 8. Troubleshooting common deployment errors
194
+
195
+ ### Bundle stuck in Installed/Resolved (not Started)
196
+
197
+ Causes:
198
+ 1. Missing package import
199
+ 2. Unsatisfied Jahia-Depends
200
+ 3. CND dependency not met
201
+
202
+ Diagnosis:
203
+ ```bash
204
+ bundle:requirements --namespace=osgi.wiring.package <bundleId>
205
+ bundle:requirements --namespace=com.jahia.services.content <bundleId>
206
+ ```
207
+
208
+ ### JSP compilation error: "class cannot be resolved"
209
+
210
+ Solution: Add the package to `jahia.modules.importPackage` or run `mvn jahia:dependencies`.
211
+
212
+ ### "Unresolved constraint in bundle" on deploy
213
+
214
+ ```
215
+ Unable to resolve 118.0: missing requirement [118.0] osgi.wiring.package
216
+ ```
217
+
218
+ Solution: Use `mvn jahia:find-package-uses` to identify source. Mark as `resolution:=optional` if not needed at runtime.
@@ -0,0 +1,208 @@
1
+ # Jahia OSGi Reference
2
+
3
+ ## Table of Contents
4
+ 1. [OSGi fundamentals](#1-osgi-fundamentals)
5
+ 2. [Jahia OSGi architecture](#2-jahia-osgi-architecture)
6
+ 3. [Declarative Services (preferred)](#3-declarative-services-preferred)
7
+ 4. [Blueprint XML (deprecated in 8.2)](#4-blueprint-xml-deprecated-in-82)
8
+ 5. [Package imports and exports](#5-package-imports-and-exports)
9
+ 6. [Embedding vs importing libraries](#6-embedding-vs-importing-libraries)
10
+ 7. [Service export between modules](#7-service-export-between-modules)
11
+ 8. [Available Jahia OSGi services](#8-available-jahia-osgi-services)
12
+ 9. [Bundle lifecycle states](#9-bundle-lifecycle-states)
13
+
14
+ ---
15
+
16
+ ## 1. OSGi fundamentals
17
+
18
+ Each bundle:
19
+ - Has its own class loader (isolation)
20
+ - Declares what packages it imports (`Import-Package`)
21
+ - Declares what packages it exports (`Export-Package`)
22
+ - Registers services in a shared service registry
23
+ - Can be installed, started, updated, stopped, and uninstalled at runtime
24
+
25
+ ---
26
+
27
+ ## 2. Jahia OSGi architecture
28
+
29
+ ```
30
+ Jahia Application (DX)
31
+ └── Apache Karaf (module management, clustering support, SSH shell)
32
+ └── Apache Felix (OSGi framework implementation)
33
+ └── Tomcat (servlet container)
34
+ ```
35
+
36
+ ---
37
+
38
+ ## 3. Declarative Services (preferred)
39
+
40
+ Declarative Services (DS) is the **only recommended** way to register OSGi services in Jahia 8.2.
41
+
42
+ ### Enable DS annotation scanning in pom.xml
43
+ ```xml
44
+ <_dsannotations>*</_dsannotations>
45
+ ```
46
+
47
+ ### Component declaration
48
+
49
+ ```java
50
+ @Component(service = {MyServiceInterface.class})
51
+ public class MyServiceImpl implements MyServiceInterface {
52
+
53
+ @Activate
54
+ public void activate(BundleContext context) { }
55
+
56
+ @Deactivate
57
+ public void deactivate() { }
58
+ }
59
+ ```
60
+
61
+ ### Referencing a single service
62
+
63
+ ```java
64
+ @Reference
65
+ public void setDependency(MyDependency dep) { this.dep = dep; }
66
+
67
+ public void unsetDependency(MyDependency dep) { this.dep = null; }
68
+ ```
69
+
70
+ ### Referencing multiple services
71
+
72
+ ```java
73
+ @Reference(cardinality = ReferenceCardinality.MULTIPLE,
74
+ policy = ReferencePolicy.DYNAMIC,
75
+ policyOption = ReferencePolicyOption.GREEDY)
76
+ public synchronized void addService(MyService service) { this.services.add(service); }
77
+
78
+ public synchronized void removeService(MyService service) { this.services.remove(service); }
79
+ ```
80
+
81
+ ### Component with configuration
82
+
83
+ ```java
84
+ @Component(service = MyConfiguredService.class,
85
+ configurationPid = "org.example.myservice",
86
+ configurationPolicy = ConfigurationPolicy.OPTIONAL)
87
+ public class MyConfiguredService {
88
+
89
+ @Activate
90
+ public void activate(Map<String, Object> props) {
91
+ String value = (String) props.getOrDefault("myProperty", "default");
92
+ }
93
+
94
+ @Modified
95
+ public void modified(Map<String, Object> props) { }
96
+ }
97
+ ```
98
+
99
+ Configuration file: `src/main/resources/META-INF/configurations/org.example.myservice.cfg`
100
+
101
+ ---
102
+
103
+ ## 4. Blueprint XML (deprecated in 8.2)
104
+
105
+ Do not use for new development. For legacy modules only. Files go in `OSGI-INF/blueprint/`.
106
+
107
+ ---
108
+
109
+ ## 5. Package imports and exports
110
+
111
+ ### Manually adding imports
112
+
113
+ ```xml
114
+ <jahia.modules.importPackage>org.jahia.defaults.config.spring,org.example.api</jahia.modules.importPackage>
115
+ ```
116
+
117
+ Or in bundle plugin instructions:
118
+ ```xml
119
+ <Import-Package>
120
+ org.example.api,
121
+ com.optional.pkg;resolution:=optional,
122
+ *
123
+ </Import-Package>
124
+ ```
125
+
126
+ ### Exporting packages
127
+
128
+ ```xml
129
+ <export-package>org.example.mymodule.api</export-package>
130
+ ```
131
+
132
+ ---
133
+
134
+ ## 6. Embedding vs importing libraries
135
+
136
+ ### Option 1: Embed as JAR inside module JAR (easiest)
137
+
138
+ ```xml
139
+ <Embed-Dependency>*;scope=compile|runtime;type=!pom;inline=false</Embed-Dependency>
140
+ ```
141
+
142
+ To exclude a dependency from embedding, use `<scope>provided</scope>`.
143
+
144
+ **Caution:** `Embed-Transitive>true</Embed-Transitive>` embeds ALL transitive dependencies — use carefully.
145
+
146
+ ---
147
+
148
+ ## 7. Service export between modules
149
+
150
+ ### Provider module
151
+
152
+ ```java
153
+ @Component(service = {DataService.class})
154
+ public class DataServiceImpl implements DataService {
155
+ @Override
156
+ public List<String> getData() { return Arrays.asList("item1", "item2"); }
157
+ }
158
+ ```
159
+
160
+ pom.xml: `<export-package>org.example.moduleA.api</export-package>`
161
+
162
+ ### Consumer module
163
+
164
+ ```java
165
+ @Component(service = MyConsumer.class)
166
+ public class MyConsumer {
167
+ @Reference
168
+ public void setDataService(DataService dataService) { this.dataService = dataService; }
169
+ }
170
+ ```
171
+
172
+ pom.xml:
173
+ ```xml
174
+ <jahia-depends>moduleA-artifactId</jahia-depends>
175
+ <jahia.modules.importPackage>org.example.moduleA.api</jahia.modules.importPackage>
176
+ ```
177
+
178
+ ---
179
+
180
+ ## 8. Available Jahia OSGi services
181
+
182
+ Key Jahia services accessible via `@Reference`:
183
+
184
+ | Interface | Description |
185
+ |-----------|-------------|
186
+ | `JahiaTemplateManagerService` | Template package registry, module lifecycle |
187
+ | `JahiaUserManagerService` | User CRUD and lookup |
188
+ | `JahiaGroupManagerService` | Group management |
189
+ | `JCRSessionFactory` | JCR session factory |
190
+ | `JahiaSitesService` | Site management |
191
+ | `RenderService` | Content rendering |
192
+ | `CacheService` | Cache management |
193
+ | `WorkflowService` | Workflow management |
194
+
195
+ ---
196
+
197
+ ## 9. Bundle lifecycle states
198
+
199
+ | State | Description |
200
+ |-------|-------------|
201
+ | `INSTALLED` | Bundle JAR is installed but requirements not resolved yet |
202
+ | `RESOLVED` | All package dependencies resolved but not started |
203
+ | `STARTING` | Bundle activator is running |
204
+ | `ACTIVE` | Bundle is fully started and operational |
205
+ | `STOPPING` | Bundle is being stopped |
206
+ | `UNINSTALLED` | Bundle has been removed |
207
+
208
+ A bundle stuck in `RESOLVED` but not `ACTIVE` usually means an `@Activate` method threw an exception or a required `@Reference` could not be resolved.