@jahia/agentic 0.2.0 → 0.4.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 (238) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +28 -0
  3. package/dist/claude/.claude/agents/cnd-child-nodes.md +74 -0
  4. package/dist/claude/.claude/agents/cnd-jahia-mixins.md +113 -0
  5. package/dist/claude/.claude/agents/cnd-numbers-dates.md +61 -0
  6. package/dist/claude/.claude/agents/cnd-string-selectors.md +94 -0
  7. package/dist/claude/.claude/agents/jahia-cnd-author.md +130 -0
  8. package/dist/claude/.claude/agents/jahia-dev-worker.md +264 -0
  9. package/dist/claude/.claude/agents/jahia-reviewer.md +105 -0
  10. package/dist/claude/.claude/rules/jahia.md +15 -6
  11. package/dist/claude/.claude/skills/jahia/SKILL.md +23 -11
  12. package/dist/claude/.claude/skills/jahia-content/SKILL.md +102 -84
  13. package/dist/claude/.claude/skills/jahia-content-create-content/SKILL.md +255 -280
  14. package/dist/claude/.claude/skills/jahia-content-explore-structure/SKILL.md +187 -96
  15. package/dist/claude/.claude/skills/jahia-content-media-upload/SKILL.md +197 -0
  16. package/dist/claude/.claude/skills/jahia-content-move-content/SKILL.md +160 -165
  17. package/dist/claude/.claude/skills/jahia-content-organize/SKILL.md +209 -0
  18. package/dist/claude/.claude/skills/jahia-content-publish/SKILL.md +181 -0
  19. package/dist/claude/.claude/skills/jahia-content-query-content/SKILL.md +122 -92
  20. package/dist/claude/.claude/skills/jahia-content-translate-content/SKILL.md +154 -225
  21. package/dist/claude/.claude/skills/jahia-dev-accessibility/SKILL.md +3 -3
  22. package/dist/claude/.claude/skills/jahia-dev-build-component/SKILL.md +10 -7
  23. package/dist/claude/.claude/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  24. package/dist/claude/.claude/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  25. package/dist/claude/.claude/skills/jahia-dev-create-view/SKILL.md +3 -3
  26. package/dist/claude/.claude/skills/jahia-dev-cypress/SKILL.md +150 -330
  27. package/dist/claude/.claude/skills/jahia-dev-define-content-type/SKILL.md +43 -486
  28. package/dist/claude/.claude/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
  29. package/dist/claude/.claude/skills/jahia-dev-query-content/SKILL.md +93 -296
  30. package/dist/claude/.claude/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  31. package/dist/claude/.claude/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  32. package/dist/claude/.claude/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  33. package/dist/claude/.claude/skills/jahia-dev-site-review/SKILL.md +70 -0
  34. package/dist/claude/.claude/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  35. package/dist/claude/.claude/skills/jahia-dev-start-local/SKILL.md +18 -26
  36. package/dist/claude/.claude/skills/jahia-jcr-sql2/SKILL.md +258 -0
  37. package/dist/claude/.claude/skills/jahia-orchestrate/SKILL.md +148 -0
  38. package/dist/claude/.claude/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
  39. package/dist/claude/CLAUDE.md +16 -13
  40. package/dist/codex/.agents/skills/jahia/SKILL.md +23 -11
  41. package/dist/codex/.agents/skills/jahia-content/SKILL.md +102 -84
  42. package/dist/codex/.agents/skills/jahia-content-create-content/SKILL.md +255 -280
  43. package/dist/codex/.agents/skills/jahia-content-explore-structure/SKILL.md +187 -96
  44. package/dist/codex/.agents/skills/jahia-content-media-upload/SKILL.md +197 -0
  45. package/dist/codex/.agents/skills/jahia-content-move-content/SKILL.md +160 -165
  46. package/dist/codex/.agents/skills/jahia-content-organize/SKILL.md +209 -0
  47. package/dist/codex/.agents/skills/jahia-content-publish/SKILL.md +181 -0
  48. package/dist/codex/.agents/skills/jahia-content-query-content/SKILL.md +122 -92
  49. package/dist/codex/.agents/skills/jahia-content-translate-content/SKILL.md +154 -225
  50. package/dist/codex/.agents/skills/jahia-dev-accessibility/SKILL.md +3 -3
  51. package/dist/codex/.agents/skills/jahia-dev-build-component/SKILL.md +10 -7
  52. package/dist/codex/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  53. package/dist/codex/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  54. package/dist/codex/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
  55. package/dist/codex/.agents/skills/jahia-dev-cypress/SKILL.md +150 -330
  56. package/dist/codex/.agents/skills/jahia-dev-define-content-type/SKILL.md +43 -486
  57. package/dist/codex/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
  58. package/dist/codex/.agents/skills/jahia-dev-query-content/SKILL.md +93 -296
  59. package/dist/codex/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  60. package/dist/codex/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  61. package/dist/codex/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  62. package/dist/codex/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
  63. package/dist/codex/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  64. package/dist/codex/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
  65. package/dist/codex/.agents/skills/jahia-jcr-sql2/SKILL.md +258 -0
  66. package/dist/codex/.agents/skills/jahia-orchestrate/SKILL.md +148 -0
  67. package/dist/codex/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
  68. package/dist/codex/.codex/agents/cnd-child-nodes.toml +3 -0
  69. package/dist/codex/.codex/agents/cnd-jahia-mixins.toml +3 -0
  70. package/dist/codex/.codex/agents/cnd-numbers-dates.toml +3 -0
  71. package/dist/codex/.codex/agents/cnd-string-selectors.toml +3 -0
  72. package/dist/codex/.codex/agents/jahia-cnd-author.toml +3 -0
  73. package/dist/codex/.codex/agents/jahia-dev-worker.toml +3 -0
  74. package/dist/codex/.codex/agents/jahia-reviewer.toml +3 -0
  75. package/dist/codex/AGENTS.md +17 -10
  76. package/dist/copilot/.agents/skills/jahia/SKILL.md +23 -11
  77. package/dist/copilot/.agents/skills/jahia-content/SKILL.md +102 -84
  78. package/dist/copilot/.agents/skills/jahia-content-create-content/SKILL.md +255 -280
  79. package/dist/copilot/.agents/skills/jahia-content-explore-structure/SKILL.md +187 -96
  80. package/dist/copilot/.agents/skills/jahia-content-media-upload/SKILL.md +197 -0
  81. package/dist/copilot/.agents/skills/jahia-content-move-content/SKILL.md +160 -165
  82. package/dist/copilot/.agents/skills/jahia-content-organize/SKILL.md +209 -0
  83. package/dist/copilot/.agents/skills/jahia-content-publish/SKILL.md +181 -0
  84. package/dist/copilot/.agents/skills/jahia-content-query-content/SKILL.md +122 -92
  85. package/dist/copilot/.agents/skills/jahia-content-translate-content/SKILL.md +154 -225
  86. package/dist/copilot/.agents/skills/jahia-dev-accessibility/SKILL.md +3 -3
  87. package/dist/copilot/.agents/skills/jahia-dev-build-component/SKILL.md +10 -7
  88. package/dist/copilot/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  89. package/dist/copilot/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  90. package/dist/copilot/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
  91. package/dist/copilot/.agents/skills/jahia-dev-cypress/SKILL.md +150 -330
  92. package/dist/copilot/.agents/skills/jahia-dev-define-content-type/SKILL.md +43 -486
  93. package/dist/copilot/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
  94. package/dist/copilot/.agents/skills/jahia-dev-query-content/SKILL.md +93 -296
  95. package/dist/copilot/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  96. package/dist/copilot/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  97. package/dist/copilot/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  98. package/dist/copilot/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
  99. package/dist/copilot/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  100. package/dist/copilot/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
  101. package/dist/copilot/.agents/skills/jahia-jcr-sql2/SKILL.md +258 -0
  102. package/dist/copilot/.agents/skills/jahia-orchestrate/SKILL.md +148 -0
  103. package/dist/copilot/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
  104. package/dist/copilot/AGENTS.md +17 -10
  105. package/dist/cursor/.agents/skills/jahia/SKILL.md +23 -11
  106. package/dist/cursor/.agents/skills/jahia-content/SKILL.md +102 -84
  107. package/dist/cursor/.agents/skills/jahia-content-create-content/SKILL.md +255 -280
  108. package/dist/cursor/.agents/skills/jahia-content-explore-structure/SKILL.md +187 -96
  109. package/dist/cursor/.agents/skills/jahia-content-media-upload/SKILL.md +197 -0
  110. package/dist/cursor/.agents/skills/jahia-content-move-content/SKILL.md +160 -165
  111. package/dist/cursor/.agents/skills/jahia-content-organize/SKILL.md +209 -0
  112. package/dist/cursor/.agents/skills/jahia-content-publish/SKILL.md +181 -0
  113. package/dist/cursor/.agents/skills/jahia-content-query-content/SKILL.md +122 -92
  114. package/dist/cursor/.agents/skills/jahia-content-translate-content/SKILL.md +154 -225
  115. package/dist/cursor/.agents/skills/jahia-dev-accessibility/SKILL.md +3 -3
  116. package/dist/cursor/.agents/skills/jahia-dev-build-component/SKILL.md +10 -7
  117. package/dist/cursor/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  118. package/dist/cursor/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  119. package/dist/cursor/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
  120. package/dist/cursor/.agents/skills/jahia-dev-cypress/SKILL.md +150 -330
  121. package/dist/cursor/.agents/skills/jahia-dev-define-content-type/SKILL.md +43 -486
  122. package/dist/cursor/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
  123. package/dist/cursor/.agents/skills/jahia-dev-query-content/SKILL.md +93 -296
  124. package/dist/cursor/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  125. package/dist/cursor/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  126. package/dist/cursor/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  127. package/dist/cursor/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
  128. package/dist/cursor/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  129. package/dist/cursor/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
  130. package/dist/cursor/.agents/skills/jahia-jcr-sql2/SKILL.md +258 -0
  131. package/dist/cursor/.agents/skills/jahia-orchestrate/SKILL.md +148 -0
  132. package/dist/cursor/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
  133. package/dist/cursor/.cursor/agents/cnd-child-nodes.md +74 -0
  134. package/dist/cursor/.cursor/agents/cnd-jahia-mixins.md +113 -0
  135. package/dist/cursor/.cursor/agents/cnd-numbers-dates.md +61 -0
  136. package/dist/cursor/.cursor/agents/cnd-string-selectors.md +94 -0
  137. package/dist/cursor/.cursor/agents/jahia-cnd-author.md +130 -0
  138. package/dist/cursor/.cursor/agents/jahia-dev-worker.md +264 -0
  139. package/dist/cursor/.cursor/agents/jahia-reviewer.md +105 -0
  140. package/dist/cursor/.cursor/rules/jahia.mdc +15 -6
  141. package/dist/gemini/.agents/skills/jahia/SKILL.md +23 -11
  142. package/dist/gemini/.agents/skills/jahia-content/SKILL.md +102 -84
  143. package/dist/gemini/.agents/skills/jahia-content-create-content/SKILL.md +255 -280
  144. package/dist/gemini/.agents/skills/jahia-content-explore-structure/SKILL.md +187 -96
  145. package/dist/gemini/.agents/skills/jahia-content-media-upload/SKILL.md +197 -0
  146. package/dist/gemini/.agents/skills/jahia-content-move-content/SKILL.md +160 -165
  147. package/dist/gemini/.agents/skills/jahia-content-organize/SKILL.md +209 -0
  148. package/dist/gemini/.agents/skills/jahia-content-publish/SKILL.md +181 -0
  149. package/dist/gemini/.agents/skills/jahia-content-query-content/SKILL.md +122 -92
  150. package/dist/gemini/.agents/skills/jahia-content-translate-content/SKILL.md +154 -225
  151. package/dist/gemini/.agents/skills/jahia-dev-accessibility/SKILL.md +3 -3
  152. package/dist/gemini/.agents/skills/jahia-dev-build-component/SKILL.md +10 -7
  153. package/dist/gemini/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  154. package/dist/gemini/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  155. package/dist/gemini/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
  156. package/dist/gemini/.agents/skills/jahia-dev-cypress/SKILL.md +150 -330
  157. package/dist/gemini/.agents/skills/jahia-dev-define-content-type/SKILL.md +43 -486
  158. package/dist/gemini/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
  159. package/dist/gemini/.agents/skills/jahia-dev-query-content/SKILL.md +93 -296
  160. package/dist/gemini/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  161. package/dist/gemini/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  162. package/dist/gemini/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  163. package/dist/gemini/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
  164. package/dist/gemini/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  165. package/dist/gemini/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
  166. package/dist/gemini/.agents/skills/jahia-jcr-sql2/SKILL.md +258 -0
  167. package/dist/gemini/.agents/skills/jahia-orchestrate/SKILL.md +148 -0
  168. package/dist/gemini/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
  169. package/dist/gemini/AGENTS.md +17 -10
  170. package/dist/gemini/GEMINI.md +2 -2
  171. package/dist/index.js +13 -0
  172. package/dist/opencode/.agents/skills/jahia/SKILL.md +23 -11
  173. package/dist/opencode/.agents/skills/jahia-content/SKILL.md +102 -84
  174. package/dist/opencode/.agents/skills/jahia-content-create-content/SKILL.md +255 -280
  175. package/dist/opencode/.agents/skills/jahia-content-explore-structure/SKILL.md +187 -96
  176. package/dist/opencode/.agents/skills/jahia-content-media-upload/SKILL.md +197 -0
  177. package/dist/opencode/.agents/skills/jahia-content-move-content/SKILL.md +160 -165
  178. package/dist/opencode/.agents/skills/jahia-content-organize/SKILL.md +209 -0
  179. package/dist/opencode/.agents/skills/jahia-content-publish/SKILL.md +181 -0
  180. package/dist/opencode/.agents/skills/jahia-content-query-content/SKILL.md +122 -92
  181. package/dist/opencode/.agents/skills/jahia-content-translate-content/SKILL.md +154 -225
  182. package/dist/opencode/.agents/skills/jahia-dev-accessibility/SKILL.md +3 -3
  183. package/dist/opencode/.agents/skills/jahia-dev-build-component/SKILL.md +10 -7
  184. package/dist/opencode/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  185. package/dist/opencode/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  186. package/dist/opencode/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
  187. package/dist/opencode/.agents/skills/jahia-dev-cypress/SKILL.md +150 -330
  188. package/dist/opencode/.agents/skills/jahia-dev-define-content-type/SKILL.md +43 -486
  189. package/dist/opencode/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
  190. package/dist/opencode/.agents/skills/jahia-dev-query-content/SKILL.md +93 -296
  191. package/dist/opencode/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  192. package/dist/opencode/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  193. package/dist/opencode/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  194. package/dist/opencode/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
  195. package/dist/opencode/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  196. package/dist/opencode/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
  197. package/dist/opencode/.agents/skills/jahia-jcr-sql2/SKILL.md +258 -0
  198. package/dist/opencode/.agents/skills/jahia-orchestrate/SKILL.md +148 -0
  199. package/dist/opencode/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
  200. package/dist/opencode/.opencode/agents/cnd-child-nodes.md +74 -0
  201. package/dist/opencode/.opencode/agents/cnd-jahia-mixins.md +113 -0
  202. package/dist/opencode/.opencode/agents/cnd-numbers-dates.md +61 -0
  203. package/dist/opencode/.opencode/agents/cnd-string-selectors.md +94 -0
  204. package/dist/opencode/.opencode/agents/jahia-cnd-author.md +130 -0
  205. package/dist/opencode/.opencode/agents/jahia-dev-worker.md +264 -0
  206. package/dist/opencode/.opencode/agents/jahia-reviewer.md +105 -0
  207. package/dist/opencode/AGENTS.md +17 -10
  208. package/dist/windsurf/.windsurf/rules/jahia.md +15 -6
  209. package/dist/windsurf/.windsurf/skills/jahia/SKILL.md +23 -11
  210. package/dist/windsurf/.windsurf/skills/jahia-content/SKILL.md +102 -84
  211. package/dist/windsurf/.windsurf/skills/jahia-content-create-content/SKILL.md +255 -280
  212. package/dist/windsurf/.windsurf/skills/jahia-content-explore-structure/SKILL.md +187 -96
  213. package/dist/windsurf/.windsurf/skills/jahia-content-media-upload/SKILL.md +197 -0
  214. package/dist/windsurf/.windsurf/skills/jahia-content-move-content/SKILL.md +160 -165
  215. package/dist/windsurf/.windsurf/skills/jahia-content-organize/SKILL.md +209 -0
  216. package/dist/windsurf/.windsurf/skills/jahia-content-publish/SKILL.md +181 -0
  217. package/dist/windsurf/.windsurf/skills/jahia-content-query-content/SKILL.md +122 -92
  218. package/dist/windsurf/.windsurf/skills/jahia-content-translate-content/SKILL.md +154 -225
  219. package/dist/windsurf/.windsurf/skills/jahia-dev-accessibility/SKILL.md +3 -3
  220. package/dist/windsurf/.windsurf/skills/jahia-dev-build-component/SKILL.md +10 -7
  221. package/dist/windsurf/.windsurf/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  222. package/dist/windsurf/.windsurf/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  223. package/dist/windsurf/.windsurf/skills/jahia-dev-create-view/SKILL.md +3 -3
  224. package/dist/windsurf/.windsurf/skills/jahia-dev-cypress/SKILL.md +150 -330
  225. package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/SKILL.md +43 -486
  226. package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
  227. package/dist/windsurf/.windsurf/skills/jahia-dev-query-content/SKILL.md +93 -296
  228. package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  229. package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  230. package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  231. package/dist/windsurf/.windsurf/skills/jahia-dev-site-review/SKILL.md +70 -0
  232. package/dist/windsurf/.windsurf/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  233. package/dist/windsurf/.windsurf/skills/jahia-dev-start-local/SKILL.md +18 -26
  234. package/dist/windsurf/.windsurf/skills/jahia-jcr-sql2/SKILL.md +258 -0
  235. package/dist/windsurf/.windsurf/skills/jahia-orchestrate/SKILL.md +148 -0
  236. package/dist/windsurf/.windsurf/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
  237. package/dist/windsurf/AGENTS.md +17 -10
  238. package/package.json +3 -3
@@ -0,0 +1,148 @@
1
+ ---
2
+ name: jahia-orchestrate
3
+ description: Orchestrates building a Jahia module from a task description. Writes a build plan, delegates development and review to subagents in a loop, and exits cleanly. Keeps the orchestrator context lean — reads only small status files, never source code.
4
+ ---
5
+
6
+ You are the Jahia build orchestrator. Your role is coordination, not execution. You keep your context lean by delegating all code work to subagents and communicating only through small status files.
7
+
8
+ **Max iterations: 3.** If the reviewer still reports NEEDS_WORK after 3 cycles, proceed anyway with the best available state.
9
+
10
+ ---
11
+
12
+ ## Step 1 — Parse the task
13
+
14
+ Read the task description from your context. Identify:
15
+ - The module being built (site name, company type, pages, components)
16
+ - The module path (working directory, or check `PLAN.md` if already set up)
17
+ - Any efficiency rules already provided
18
+
19
+ Determine the module path:
20
+ ```bash
21
+ pwd
22
+ ls package.json 2>/dev/null && cat package.json | grep '"name"' | head -1
23
+ ```
24
+
25
+ ---
26
+
27
+ ## Step 2 — Write PLAN.md
28
+
29
+ Write `PLAN.md` in the project root with the full build spec. Use the format:
30
+
31
+ ```
32
+ # Build Plan — Round 1
33
+
34
+ ## Module
35
+ - Path: <absolute path from pwd>
36
+ - Site key: <inferred from package.json name or task description>
37
+ - Namespace: <infer from task, e.g. "forsure">
38
+
39
+ ## Pages
40
+ <list from task description>
41
+
42
+ ## Page Template
43
+ - `src/templates/<ModuleName>Template/default.server.tsx` — root layout with `<header>` (nav), `<main>` (areas), `<footer>`, and `<title>` tag
44
+ - Build this FIRST before any page-specific components
45
+
46
+ ## Components
47
+ <list from task description with field descriptions>
48
+
49
+ ## Efficiency Rules
50
+ - ONE build+deploy at the end — do not deploy after each component
51
+ - Skip UI validation in Page Builder
52
+ - Write CND directly — load cnd reference files from .claude/agents/ for patterns
53
+ - Use MCP tools for all content operations
54
+
55
+ ## Done when
56
+ - Page template built with header/nav/main/footer
57
+ - All components have definition.cnd + default.server.tsx + component.module.css
58
+ - yarn build && yarn jahia-deploy succeeded
59
+ - All pages created via MCP and published
60
+ - pages.json written as array of public URLs
61
+ ```
62
+
63
+ ---
64
+
65
+ ## Step 3 — Development cycle
66
+
67
+ Set `round = 1`.
68
+
69
+ **3a. Spawn the developer worker:**
70
+
71
+ Use the Agent tool to spawn `@jahia-dev-worker`. Pass this prompt:
72
+
73
+ > "Read PLAN.md in the current directory. You are the Jahia developer worker — follow the instructions in your agent file. Module path: <absolute path>."
74
+
75
+ Do NOT read the agent's returned output. After the agent completes, proceed to 3b.
76
+
77
+ **3b. Read DEV_STATUS.md:**
78
+
79
+ ```bash
80
+ cat DEV_STATUS.md
81
+ ```
82
+
83
+ If Status is FAILED and the failure is unrecoverable (e.g. Jahia never started), stop here and report the failure. Otherwise continue.
84
+
85
+ ---
86
+
87
+ ## Step 4 — Review cycle
88
+
89
+ **4a. Spawn the code reviewer:**
90
+
91
+ Use the Agent tool to spawn `@jahia-reviewer`. Pass this prompt:
92
+
93
+ > "Read REVIEW.md (if it exists) for round context, then review the current source code. Write REVIEW.md with your findings for round <round>."
94
+
95
+ Do NOT read the agent's returned output. After the agent completes, proceed to 4b.
96
+
97
+ **4b. Read REVIEW.md:**
98
+
99
+ ```bash
100
+ cat REVIEW.md
101
+ ```
102
+
103
+ ---
104
+
105
+ ## Step 5 — Decide: loop or finish
106
+
107
+ - If REVIEW.md says `Verdict: PASS` → proceed to Step 6.
108
+ - If `Verdict: NEEDS_WORK` and `round < 3`:
109
+ - Increment round.
110
+ - Append a "## Round N Fix-Ups" section to `PLAN.md` with the critical issues from REVIEW.md.
111
+ - Return to Step 3.
112
+ - If `Verdict: NEEDS_WORK` and `round >= 3`:
113
+ - Log "Max iterations reached — proceeding with current state."
114
+ - Proceed to Step 6.
115
+
116
+ ---
117
+
118
+ ## Step 6 — Verify pages.json and page quality
119
+
120
+ ```bash
121
+ cat pages.json 2>/dev/null || echo "MISSING"
122
+ ```
123
+
124
+ If missing, spawn `@jahia-dev-worker` once more:
125
+ > "Deploy is already done. Only create content via MCP, verify all pages render correctly, and write pages.json. Read PLAN.md for the page list."
126
+
127
+ If present, verify every URL actually renders real content — a file that exists but points to error pages is a failed run:
128
+
129
+ ```bash
130
+ node scripts/verify-pages.mjs
131
+ ```
132
+
133
+ If any URL shows `ERROR_PAGE` or a non-200 status, spawn `@jahia-dev-worker` with:
134
+ > "Pages are failing. Read DEV_STATUS.md and REVIEW.md for context, investigate the render errors, fix them, redeploy, and re-verify all pages. Do not update pages.json unless all pages pass."
135
+
136
+ ---
137
+
138
+ ## Step 7 — Done
139
+
140
+ Report the outcome:
141
+
142
+ ```
143
+ Orchestration complete.
144
+ - Rounds: N
145
+ - Dev status: <from DEV_STATUS.md>
146
+ - Review verdict: <from REVIEW.md>
147
+ - pages.json: <present/missing>
148
+ ```
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env node
2
+ import { readFileSync, writeFileSync } from "node:fs";
3
+ import { execSync } from "node:child_process";
4
+ import { tmpdir } from "node:os";
5
+ import { join } from "node:path";
6
+
7
+ const pagesFile = "pages.json";
8
+ let urls;
9
+ try {
10
+ urls = JSON.parse(readFileSync(pagesFile, "utf8"));
11
+ } catch {
12
+ console.error(`MISSING: ${pagesFile} not found or invalid JSON`);
13
+ process.exit(1);
14
+ }
15
+
16
+ if (!Array.isArray(urls) || urls.length === 0) {
17
+ console.error(`EMPTY: ${pagesFile} contains no URLs`);
18
+ process.exit(1);
19
+ }
20
+
21
+ const tmp = join(tmpdir(), "jahia_pg_verify.html");
22
+ let allOk = true;
23
+
24
+ for (const url of urls) {
25
+ let code, body;
26
+ try {
27
+ code = execSync(`curl -s -o "${tmp}" -w "%{http_code}" "${url}"`, { encoding: "utf8" }).trim();
28
+ body = readFileSync(tmp, "utf8");
29
+ } catch {
30
+ console.log(`ERROR [unknown] ${url}`);
31
+ allOk = false;
32
+ continue;
33
+ }
34
+ const titleMatch = body.match(/<title>([^<]*)<\/title>/i);
35
+ const title = titleMatch ? titleMatch[1].trim() : "";
36
+ const hasError =
37
+ body.includes("error details are shown in development mode") ||
38
+ body.includes("pl.touk.throwing");
39
+
40
+ let status;
41
+ if (hasError) {
42
+ status = "ERROR_PAGE";
43
+ } else if (code !== "200") {
44
+ status = `HTTP_${code}`;
45
+ } else {
46
+ const mainMatch = body.match(/<main[^>]*>([\s\S]*?)<\/main>/i);
47
+ if (mainMatch) {
48
+ const mainText = mainMatch[1].replace(/<[^>]+>/g, "").replace(/\s+/g, " ").trim();
49
+ status = mainText.length < 150 ? "INCOMPLETE" : "OK";
50
+ } else {
51
+ status = "OK";
52
+ }
53
+ }
54
+
55
+ console.log(`${status} [${title}] ${url}`);
56
+ if (status !== "OK") allOk = false;
57
+ }
58
+
59
+ process.exit(allOk ? 0 : 1);
@@ -1,12 +1,10 @@
1
1
  # AGENTS.md
2
2
  <!-- Generated by APM CLI from distributed .apm/ primitives -->
3
- <!-- Build ID: 5445d7d19ae2 -->
4
- <!-- APM Version: 0.14.1 -->
5
- <!-- Source: local -->
3
+ <!-- Build ID: 4b60eae51ba0 -->
4
+ <!-- APM Version: 0.21.0 -->
6
5
 
7
6
  ## Global Instructions
8
7
 
9
- <!-- Source: local .apm/instructions/jahia.instructions.md -->
10
8
  # Jahia JavaScript Module Development
11
9
 
12
10
  ## Context
@@ -16,15 +14,22 @@ You are helping develop a **Jahia JavaScript Module** — a React-based template
16
14
  ## Agent Principles
17
15
 
18
16
  1. **Always invoke a skill before any Jahia task** — skills are the canonical source of patterns, gotchas, and API syntax. Never operate from memory alone.
17
+ 1a. **Always load CND reference files before writing any CND** — Jahia-specific patterns (`choicelist[linkTypeInitializer]`, `mix:title`, child nodes for CTAs, `jmix:image` weakreferences) are not in your training data. Before writing any CND, read the reference files: `find . -maxdepth 4 -name 'cnd-jahia-mixins*' | head -3`. When working interactively through skill chains, prefer `@jahia-cnd-author` (it loads these files for you).
19
18
  2. **Never use `yarn dev` from an agent** — it is an interactive file watcher for human developers only. Always deploy with `yarn build && yarn jahia-deploy` (one-shot, non-interactive).
19
+ 2a. **Use the TypeScript LSP for API discovery, never grep.** When you need to know a function's signature or what a module exports, call `mcp__ide__getDiagnostics` on the file after writing it — the LSP reads live type definitions and reports mismatches, wrong argument counts, and missing exports. Never run `grep` on `node_modules` to find a function name or signature.
20
20
  3. **Never hardcode URLs** — all navigable links must come from contributed content (JCR nodes, `j:linkType`, `buildNodeUrl`). This is a CMS: content owns the URLs.
21
21
  4. **Never use `j:linkType: "external"` for internal pages** — use `"internal"` + `j:linknode`. External URLs break on environment changes, language switches, and vanity URL rewrites.
22
- 5. **Always verify before creating** — check that content types are deployed, site keys are correct, and area structures exist before attempting GraphQL mutations.
22
+ 5. **Always verify before creating** — check that content types are deployed, site keys are correct, and parent area nodes exist before creating content via MCP.
23
23
  6. **All props are optional at runtime** — even mandatory CND fields. Always guard against `undefined` in views.
24
- 7. **Always include `-H "Origin: http://localhost:8080"` in every GraphQL curl** omitting it returns `Permission denied` even with correct credentials.
25
- 8. **Build accessible HTML from the start** — every view must use semantic HTML (`<main>`, `<header>`, `<nav>`, `<footer>`, `<section>`, `<article>`), include exactly one `<h1>` per page, use a strict heading hierarchy (h1 → h2 → h3), add `alt` text to every `<img>`, and use sufficient colour contrast (≥ 4.5:1 for body text). Baking this in during authoring is faster than a post-hoc audit.
26
- 9. **Run one accessibility audit at the end** after all components are built and content is published, invoke `/jahia-dev-accessibility` once to catch any remaining violations. Do not audit after every individual component; it wastes time on pages that are not yet complete.
27
- 10. **Batch builds and deploys** — build all components together, then run `yarn build && yarn jahia-deploy` once rather than after each individual component. Deploy once before populating content.
24
+ 7. **Use MCP tools for all Jahia operations — never GraphQL curl.** The `jahia` MCP server covers site, page, content, and publication operations. Never fall back to `curl` + GraphQL mutations for anything the MCP server can do. Never write Python scripts — use JavaScript or bash only.
25
+ 7a. **`yarn` and `npx` must be run from the module root** — the module is a standalone project, not part of a monorepo. Running `yarn` from a parent directory fails with a workspace boundary error. Always `cd` to the module directory first.
26
+ 7b. **Use `grep`, not `ugrep`** `ugrep` is not available on all systems and does not support the same regex syntax. Use `grep -rn` for plain text, `grep -rn -E` for extended regex, or `grep -rn -P` for Perl-compatible patterns (e.g. lookaheads). Never use `ugrep` or `(?m)` flags.
27
+ 8. **Build accessible HTML from the start** — every view must use semantic HTML (`<main>`, `<header>`, `<nav>`, `<footer>`, `<section>`, `<article>`), include exactly one `<h1>` per page (in the template from `jcr:title` never inside a component), use a strict heading hierarchy (h1 in template → h2 in components → h3 for sub-items), add `alt` text to every `<img>` with a meaningful fallback (`imageAlt || title || 'Image'` — never empty string), ensure sufficient colour contrast (≥ 4.5:1 for body text), include a skip link at the top of the template, and never leave a landmark (`<nav>`, `<footer>`) empty.
28
+ 9. **Review quality after each deploy** — after deploying and populating content, run `/jahia-dev-site-review` to get a scored a11y + SEO report. Fix any critical/serious violations before moving on. Do not write `pages.json` until the review passes.
29
+ 10. **Deploy iteratively** — deploy after each component with `yarn build && yarn jahia-deploy`, verify it renders, then move to the next. Don't accumulate components before deploying; a broken component is easier to diagnose in isolation.
30
+ 11. **Collocate everything per component** — each component lives in `src/components/<Category>/<Name>/` containing its `definition.cnd`, `default.server.tsx`, `component.module.css`, and `types.ts`. Never centralize content types in `settings/definitions.cnd` — that file holds only namespace declarations and the module base mixin.
31
+ 12. **Always build a page template first** — every website needs a root template at `src/templates/<ModuleName>Template/default.server.tsx`. It must include: a skip link, a `<nav>` built inline from children of the site's home node using `getChildNodes(renderContext.getSite().getNode('home'), -1, 0, n => n.isNodeType('jnt:page'))` (pages live under `home`, not directly under the site), a `<main id="main-content">` with `<h1>{title}</h1>` and Areas, and a `<footer>` that is never empty. The `<title>` tag must be `{title} | {siteName}` — never set `jcr:title` to the full `Page | Site` string; `jcr:title` is always just the short page name (e.g. "Car Insurance"). Build and deploy before any page-specific components.
32
+ 13. **SEO baseline** — every page template must render a `<title>` tag, all `<img>` must have descriptive `alt` text, all links must have visible text (no icon-only links without `aria-label`), and pages must have a single `<h1>` matching the page title.
28
33
 
29
34
  ## Skill Map
30
35
 
@@ -39,11 +44,13 @@ Start with `/jahia` if unsure where to begin.
39
44
  | `/jahia-dev-start-local` | Start Jahia locally (Docker or bare metal) |
40
45
  | `/jahia-dev-build-component` | Build a complete component (CND + view) — start here |
41
46
  | `/jahia-dev-define-content-type` | Define a CND content type + types.ts |
47
+ | `/jahia-dev-review-cnd` | Validate a CND file for antipatterns — run after writing any CND |
42
48
  | `/jahia-dev-create-view` | Implement a React view (.server.tsx + CSS Module) |
43
49
  | `/jahia-dev-create-page-template` | Create a page template with Areas |
44
50
  | `/jahia-dev-query-content` | Write JCR-SQL2 queries and useJCRQuery |
45
51
  | `/jahia-dev-review` | Code review: 8 critical checks, 9 warnings, 11 suggestions |
46
- | `/jahia-dev-accessibility` | Audit live pages with axe-core, fix WCAG 2.1 AA violations |
52
+ | `/jahia-dev-site-review` | Scored a11y + SEO report on live pages use after every deploy |
53
+ | `/jahia-dev-accessibility` | Deep WCAG 2.1 AA audit with fixes — use for targeted a11y work |
47
54
  | `/jahia-dev-screenshot` | Screenshot reference + local render for visual comparison |
48
55
  | `/jahia-dev-debug` | Debug build/deploy/runtime errors end-to-end |
49
56
 
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@jahia/agentic",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "A CLI to bootstrap an agentic harness for Jahia",
5
+ "license": "MIT",
5
6
  "repository": {
6
7
  "type": "git",
7
8
  "url": "git+https://github.com/Jahia/agentic.git"
8
9
  },
9
- "license": "MIT",
10
- "type": "module",
11
10
  "bin": "./dist/index.js",
12
11
  "files": [
13
12
  "dist"
14
13
  ],
14
+ "type": "module",
15
15
  "scripts": {
16
16
  "benchmark": "node src/benchmark/index.ts",
17
17
  "build": "node src/build/index.ts",