@codyswann/lisa 2.195.3 → 2.195.6

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 (817) hide show
  1. package/README.md +17 -3
  2. package/all/copy-contents/gitignore +10 -4
  3. package/dist/cli/print-update-warning.d.ts +1 -1
  4. package/dist/cli/print-update-warning.js +2 -2
  5. package/dist/cli/print-update-warning.js.map +1 -1
  6. package/dist/cli/update-check.d.ts +6 -0
  7. package/dist/cli/update-check.d.ts.map +1 -1
  8. package/dist/cli/update-check.js +3 -3
  9. package/dist/cli/update-check.js.map +1 -1
  10. package/dist/cli/update-cmd.d.ts +1 -1
  11. package/dist/cli/update-cmd.d.ts.map +1 -1
  12. package/dist/cli/update-cmd.js +8 -7
  13. package/dist/cli/update-cmd.js.map +1 -1
  14. package/dist/codex/hooks-installer.d.ts +4 -1
  15. package/dist/codex/hooks-installer.d.ts.map +1 -1
  16. package/dist/codex/hooks-installer.js +109 -30
  17. package/dist/codex/hooks-installer.js.map +1 -1
  18. package/dist/codex/mcp-installer.d.ts +22 -0
  19. package/dist/codex/mcp-installer.d.ts.map +1 -0
  20. package/dist/codex/mcp-installer.js +135 -0
  21. package/dist/codex/mcp-installer.js.map +1 -0
  22. package/dist/codex/plugin-marketplace-installer.d.ts +19 -13
  23. package/dist/codex/plugin-marketplace-installer.d.ts.map +1 -1
  24. package/dist/codex/plugin-marketplace-installer.js +69 -72
  25. package/dist/codex/plugin-marketplace-installer.js.map +1 -1
  26. package/dist/codex/project-hooks-cleanup.d.ts +12 -0
  27. package/dist/codex/project-hooks-cleanup.d.ts.map +1 -0
  28. package/dist/codex/project-hooks-cleanup.js +31 -0
  29. package/dist/codex/project-hooks-cleanup.js.map +1 -0
  30. package/dist/codex/project-overlay.d.ts +23 -0
  31. package/dist/codex/project-overlay.d.ts.map +1 -0
  32. package/dist/codex/project-overlay.js +64 -0
  33. package/dist/codex/project-overlay.js.map +1 -0
  34. package/dist/codex/scripts/inject-rules.sh +4 -0
  35. package/dist/codex/scripts/install-pkgs.sh +4 -0
  36. package/dist/codex/scripts/setup-jira-cli.sh +5 -1
  37. package/dist/codex/settings-installer.d.ts.map +1 -1
  38. package/dist/codex/settings-installer.js +16 -3
  39. package/dist/codex/settings-installer.js.map +1 -1
  40. package/dist/codex/skills-installer.d.ts +15 -19
  41. package/dist/codex/skills-installer.d.ts.map +1 -1
  42. package/dist/codex/skills-installer.js +47 -140
  43. package/dist/codex/skills-installer.js.map +1 -1
  44. package/dist/core/lisa-plugin-selection.d.ts +16 -0
  45. package/dist/core/lisa-plugin-selection.d.ts.map +1 -0
  46. package/dist/core/lisa-plugin-selection.js +59 -0
  47. package/dist/core/lisa-plugin-selection.js.map +1 -0
  48. package/dist/core/lisa-rules-mirror.d.ts +2 -1
  49. package/dist/core/lisa-rules-mirror.d.ts.map +1 -1
  50. package/dist/core/lisa-rules-mirror.js +19 -3
  51. package/dist/core/lisa-rules-mirror.js.map +1 -1
  52. package/dist/core/lisa-skill-sources.d.ts.map +1 -1
  53. package/dist/core/lisa-skill-sources.js +16 -1
  54. package/dist/core/lisa-skill-sources.js.map +1 -1
  55. package/dist/core/lisa.d.ts +4 -6
  56. package/dist/core/lisa.d.ts.map +1 -1
  57. package/dist/core/lisa.js +12 -38
  58. package/dist/core/lisa.js.map +1 -1
  59. package/dist/migrations/ensure-lisa-postinstall.d.ts.map +1 -1
  60. package/dist/migrations/ensure-lisa-postinstall.js +4 -3
  61. package/dist/migrations/ensure-lisa-postinstall.js.map +1 -1
  62. package/dist/opencode/plugin-templates/lisa-session-bootstrap.ts +2 -3
  63. package/npm-package/create-only/.github/workflows/publish-to-npm.yml +2 -1
  64. package/package.json +2 -3
  65. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa/.codex-plugin/plugin.json +2 -2
  67. package/plugins/lisa/.codex-plugin/skills/lisa-acceptance-criteria/SKILL.md +71 -0
  68. package/plugins/lisa/.codex-plugin/skills/lisa-acceptance-criteria/agents/openai.yaml +4 -0
  69. package/plugins/lisa/.codex-plugin/skills/lisa-agent-design-best-practices/SKILL.md +219 -0
  70. package/plugins/lisa/.codex-plugin/skills/lisa-agent-design-best-practices/agents/openai.yaml +4 -0
  71. package/plugins/lisa/.codex-plugin/skills/lisa-analyze-claude-remote/SKILL.md +429 -0
  72. package/plugins/lisa/.codex-plugin/skills/lisa-analyze-claude-remote/agents/openai.yaml +4 -0
  73. package/plugins/lisa/.codex-plugin/skills/lisa-atlassian-access/SKILL.md +361 -0
  74. package/plugins/lisa/.codex-plugin/skills/lisa-atlassian-access/agents/openai.yaml +4 -0
  75. package/plugins/lisa/.codex-plugin/skills/lisa-atlassian-access/scripts/markdown-to-adf.mjs +214 -0
  76. package/plugins/lisa/.codex-plugin/skills/lisa-automation-status/SKILL.md +111 -0
  77. package/plugins/lisa/.codex-plugin/skills/lisa-automation-status/agents/openai.yaml +4 -0
  78. package/plugins/lisa/.codex-plugin/skills/lisa-bug-triage/SKILL.md +23 -0
  79. package/plugins/lisa/.codex-plugin/skills/lisa-bug-triage/agents/openai.yaml +4 -0
  80. package/plugins/lisa/.codex-plugin/skills/lisa-codebase-research/SKILL.md +87 -0
  81. package/plugins/lisa/.codex-plugin/skills/lisa-codebase-research/agents/openai.yaml +4 -0
  82. package/plugins/lisa/.codex-plugin/skills/lisa-codify-verification/SKILL.md +162 -0
  83. package/plugins/lisa/.codex-plugin/skills/lisa-codify-verification/agents/openai.yaml +4 -0
  84. package/plugins/lisa/.codex-plugin/skills/lisa-confluence-prd-intake/SKILL.md +417 -0
  85. package/plugins/lisa/.codex-plugin/skills/lisa-confluence-prd-intake/agents/openai.yaml +4 -0
  86. package/plugins/lisa/.codex-plugin/skills/lisa-confluence-to-tracker/SKILL.md +356 -0
  87. package/plugins/lisa/.codex-plugin/skills/lisa-confluence-to-tracker/agents/openai.yaml +4 -0
  88. package/plugins/lisa/.codex-plugin/skills/lisa-confluence-write-prd/SKILL.md +109 -0
  89. package/plugins/lisa/.codex-plugin/skills/lisa-confluence-write-prd/agents/openai.yaml +4 -0
  90. package/plugins/lisa/.codex-plugin/skills/lisa-cross-pollinate/SKILL.md +175 -0
  91. package/plugins/lisa/.codex-plugin/skills/lisa-cross-pollinate/agents/openai.yaml +4 -0
  92. package/plugins/lisa/.codex-plugin/skills/lisa-debrief/SKILL.md +94 -0
  93. package/plugins/lisa/.codex-plugin/skills/lisa-debrief/agents/openai.yaml +4 -0
  94. package/plugins/lisa/.codex-plugin/skills/lisa-debrief-apply/SKILL.md +63 -0
  95. package/plugins/lisa/.codex-plugin/skills/lisa-debrief-apply/agents/openai.yaml +4 -0
  96. package/plugins/lisa/.codex-plugin/skills/lisa-doctor/SKILL.md +336 -0
  97. package/plugins/lisa/.codex-plugin/skills/lisa-doctor/agents/openai.yaml +4 -0
  98. package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/SKILL.md +179 -0
  99. package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/agents/openai.yaml +4 -0
  100. package/plugins/lisa/.codex-plugin/skills/lisa-epic-triage/SKILL.md +28 -0
  101. package/plugins/lisa/.codex-plugin/skills/lisa-epic-triage/agents/openai.yaml +4 -0
  102. package/plugins/lisa/.codex-plugin/skills/lisa-exploratory-qa/SKILL.md +91 -0
  103. package/plugins/lisa/.codex-plugin/skills/lisa-exploratory-qa/agents/openai.yaml +4 -0
  104. package/plugins/lisa/.codex-plugin/skills/lisa-fix-linter-error/SKILL.md +45 -0
  105. package/plugins/lisa/.codex-plugin/skills/lisa-fix-linter-error/agents/openai.yaml +4 -0
  106. package/plugins/lisa/.codex-plugin/skills/lisa-generate-claude-remote-build-script/SKILL.md +224 -0
  107. package/plugins/lisa/.codex-plugin/skills/lisa-generate-claude-remote-build-script/agents/openai.yaml +4 -0
  108. package/plugins/lisa/.codex-plugin/skills/lisa-git-commit/SKILL.md +48 -0
  109. package/plugins/lisa/.codex-plugin/skills/lisa-git-commit/agents/openai.yaml +4 -0
  110. package/plugins/lisa/.codex-plugin/skills/lisa-git-prune/SKILL.md +35 -0
  111. package/plugins/lisa/.codex-plugin/skills/lisa-git-prune/agents/openai.yaml +4 -0
  112. package/plugins/lisa/.codex-plugin/skills/lisa-git-submit-pr/SKILL.md +113 -0
  113. package/plugins/lisa/.codex-plugin/skills/lisa-git-submit-pr/agents/openai.yaml +4 -0
  114. package/plugins/lisa/.codex-plugin/skills/lisa-github-add-journey/SKILL.md +115 -0
  115. package/plugins/lisa/.codex-plugin/skills/lisa-github-add-journey/agents/openai.yaml +4 -0
  116. package/plugins/lisa/.codex-plugin/skills/lisa-github-build-intake/SKILL.md +446 -0
  117. package/plugins/lisa/.codex-plugin/skills/lisa-github-build-intake/agents/openai.yaml +4 -0
  118. package/plugins/lisa/.codex-plugin/skills/lisa-github-create/SKILL.md +101 -0
  119. package/plugins/lisa/.codex-plugin/skills/lisa-github-create/agents/openai.yaml +4 -0
  120. package/plugins/lisa/.codex-plugin/skills/lisa-github-evidence/SKILL.md +110 -0
  121. package/plugins/lisa/.codex-plugin/skills/lisa-github-evidence/agents/openai.yaml +4 -0
  122. package/plugins/lisa/.codex-plugin/skills/lisa-github-journey/SKILL.md +121 -0
  123. package/plugins/lisa/.codex-plugin/skills/lisa-github-journey/agents/openai.yaml +4 -0
  124. package/plugins/lisa/.codex-plugin/skills/lisa-github-prd-intake/SKILL.md +432 -0
  125. package/plugins/lisa/.codex-plugin/skills/lisa-github-prd-intake/agents/openai.yaml +4 -0
  126. package/plugins/lisa/.codex-plugin/skills/lisa-github-project-v2/SKILL.md +227 -0
  127. package/plugins/lisa/.codex-plugin/skills/lisa-github-project-v2/agents/openai.yaml +4 -0
  128. package/plugins/lisa/.codex-plugin/skills/lisa-github-read-issue/SKILL.md +248 -0
  129. package/plugins/lisa/.codex-plugin/skills/lisa-github-read-issue/agents/openai.yaml +4 -0
  130. package/plugins/lisa/.codex-plugin/skills/lisa-github-sync/SKILL.md +132 -0
  131. package/plugins/lisa/.codex-plugin/skills/lisa-github-sync/agents/openai.yaml +4 -0
  132. package/plugins/lisa/.codex-plugin/skills/lisa-github-to-tracker/SKILL.md +339 -0
  133. package/plugins/lisa/.codex-plugin/skills/lisa-github-to-tracker/agents/openai.yaml +4 -0
  134. package/plugins/lisa/.codex-plugin/skills/lisa-github-validate-issue/SKILL.md +330 -0
  135. package/plugins/lisa/.codex-plugin/skills/lisa-github-validate-issue/agents/openai.yaml +4 -0
  136. package/plugins/lisa/.codex-plugin/skills/lisa-github-verify/SKILL.md +29 -0
  137. package/plugins/lisa/.codex-plugin/skills/lisa-github-verify/agents/openai.yaml +4 -0
  138. package/plugins/lisa/.codex-plugin/skills/lisa-github-write-issue/SKILL.md +339 -0
  139. package/plugins/lisa/.codex-plugin/skills/lisa-github-write-issue/agents/openai.yaml +4 -0
  140. package/plugins/lisa/.codex-plugin/skills/lisa-github-write-prd/SKILL.md +157 -0
  141. package/plugins/lisa/.codex-plugin/skills/lisa-github-write-prd/agents/openai.yaml +4 -0
  142. package/plugins/lisa/.codex-plugin/skills/lisa-implement/SKILL.md +202 -0
  143. package/plugins/lisa/.codex-plugin/skills/lisa-implement/agents/openai.yaml +4 -0
  144. package/plugins/lisa/.codex-plugin/skills/lisa-improve-code-complexity/SKILL.md +44 -0
  145. package/plugins/lisa/.codex-plugin/skills/lisa-improve-code-complexity/agents/openai.yaml +4 -0
  146. package/plugins/lisa/.codex-plugin/skills/lisa-improve-max-lines/SKILL.md +45 -0
  147. package/plugins/lisa/.codex-plugin/skills/lisa-improve-max-lines/agents/openai.yaml +4 -0
  148. package/plugins/lisa/.codex-plugin/skills/lisa-improve-max-lines-per-function/SKILL.md +46 -0
  149. package/plugins/lisa/.codex-plugin/skills/lisa-improve-max-lines-per-function/agents/openai.yaml +4 -0
  150. package/plugins/lisa/.codex-plugin/skills/lisa-improve-test-coverage/SKILL.md +44 -0
  151. package/plugins/lisa/.codex-plugin/skills/lisa-improve-test-coverage/agents/openai.yaml +4 -0
  152. package/plugins/lisa/.codex-plugin/skills/lisa-improve-tests/SKILL.md +47 -0
  153. package/plugins/lisa/.codex-plugin/skills/lisa-improve-tests/agents/openai.yaml +4 -0
  154. package/plugins/lisa/.codex-plugin/skills/lisa-intake/SKILL.md +133 -0
  155. package/plugins/lisa/.codex-plugin/skills/lisa-intake/agents/openai.yaml +4 -0
  156. package/plugins/lisa/.codex-plugin/skills/lisa-intake-explain/SKILL.md +279 -0
  157. package/plugins/lisa/.codex-plugin/skills/lisa-intake-explain/agents/openai.yaml +4 -0
  158. package/plugins/lisa/.codex-plugin/skills/lisa-jam-access/SKILL.md +52 -0
  159. package/plugins/lisa/.codex-plugin/skills/lisa-jam-access/agents/openai.yaml +4 -0
  160. package/plugins/lisa/.codex-plugin/skills/lisa-jira-add-journey/SKILL.md +121 -0
  161. package/plugins/lisa/.codex-plugin/skills/lisa-jira-add-journey/agents/openai.yaml +4 -0
  162. package/plugins/lisa/.codex-plugin/skills/lisa-jira-build-intake/SKILL.md +368 -0
  163. package/plugins/lisa/.codex-plugin/skills/lisa-jira-build-intake/agents/openai.yaml +4 -0
  164. package/plugins/lisa/.codex-plugin/skills/lisa-jira-create/SKILL.md +154 -0
  165. package/plugins/lisa/.codex-plugin/skills/lisa-jira-create/agents/openai.yaml +4 -0
  166. package/plugins/lisa/.codex-plugin/skills/lisa-jira-evidence/SKILL.md +90 -0
  167. package/plugins/lisa/.codex-plugin/skills/lisa-jira-evidence/agents/openai.yaml +4 -0
  168. package/plugins/lisa/.codex-plugin/skills/lisa-jira-evidence/scripts/post-evidence.sh +180 -0
  169. package/plugins/lisa/.codex-plugin/skills/lisa-jira-journey/SKILL.md +127 -0
  170. package/plugins/lisa/.codex-plugin/skills/lisa-jira-journey/agents/openai.yaml +4 -0
  171. package/plugins/lisa/.codex-plugin/skills/lisa-jira-journey/scripts/generate-templates.py +233 -0
  172. package/plugins/lisa/.codex-plugin/skills/lisa-jira-journey/scripts/parse-plan.py +368 -0
  173. package/plugins/lisa/.codex-plugin/skills/lisa-jira-read-ticket/SKILL.md +198 -0
  174. package/plugins/lisa/.codex-plugin/skills/lisa-jira-read-ticket/agents/openai.yaml +4 -0
  175. package/plugins/lisa/.codex-plugin/skills/lisa-jira-read-ticket/scripts/download-attachment.sh +110 -0
  176. package/plugins/lisa/.codex-plugin/skills/lisa-jira-sync/SKILL.md +108 -0
  177. package/plugins/lisa/.codex-plugin/skills/lisa-jira-sync/agents/openai.yaml +4 -0
  178. package/plugins/lisa/.codex-plugin/skills/lisa-jira-validate-ticket/SKILL.md +317 -0
  179. package/plugins/lisa/.codex-plugin/skills/lisa-jira-validate-ticket/agents/openai.yaml +4 -0
  180. package/plugins/lisa/.codex-plugin/skills/lisa-jira-verify/SKILL.md +30 -0
  181. package/plugins/lisa/.codex-plugin/skills/lisa-jira-verify/agents/openai.yaml +4 -0
  182. package/plugins/lisa/.codex-plugin/skills/lisa-jira-write-ticket/SKILL.md +267 -0
  183. package/plugins/lisa/.codex-plugin/skills/lisa-jira-write-ticket/agents/openai.yaml +4 -0
  184. package/plugins/lisa/.codex-plugin/skills/lisa-jsdoc-best-practices/SKILL.md +432 -0
  185. package/plugins/lisa/.codex-plugin/skills/lisa-jsdoc-best-practices/agents/openai.yaml +4 -0
  186. package/plugins/lisa/.codex-plugin/skills/lisa-linear-access/SKILL.md +90 -0
  187. package/plugins/lisa/.codex-plugin/skills/lisa-linear-access/agents/openai.yaml +4 -0
  188. package/plugins/lisa/.codex-plugin/skills/lisa-linear-add-journey/SKILL.md +105 -0
  189. package/plugins/lisa/.codex-plugin/skills/lisa-linear-add-journey/agents/openai.yaml +4 -0
  190. package/plugins/lisa/.codex-plugin/skills/lisa-linear-build-intake/SKILL.md +346 -0
  191. package/plugins/lisa/.codex-plugin/skills/lisa-linear-build-intake/agents/openai.yaml +4 -0
  192. package/plugins/lisa/.codex-plugin/skills/lisa-linear-create/SKILL.md +146 -0
  193. package/plugins/lisa/.codex-plugin/skills/lisa-linear-create/agents/openai.yaml +4 -0
  194. package/plugins/lisa/.codex-plugin/skills/lisa-linear-evidence/SKILL.md +103 -0
  195. package/plugins/lisa/.codex-plugin/skills/lisa-linear-evidence/agents/openai.yaml +4 -0
  196. package/plugins/lisa/.codex-plugin/skills/lisa-linear-journey/SKILL.md +134 -0
  197. package/plugins/lisa/.codex-plugin/skills/lisa-linear-journey/agents/openai.yaml +4 -0
  198. package/plugins/lisa/.codex-plugin/skills/lisa-linear-prd-intake/SKILL.md +383 -0
  199. package/plugins/lisa/.codex-plugin/skills/lisa-linear-prd-intake/agents/openai.yaml +4 -0
  200. package/plugins/lisa/.codex-plugin/skills/lisa-linear-read-issue/SKILL.md +200 -0
  201. package/plugins/lisa/.codex-plugin/skills/lisa-linear-read-issue/agents/openai.yaml +4 -0
  202. package/plugins/lisa/.codex-plugin/skills/lisa-linear-sync/SKILL.md +127 -0
  203. package/plugins/lisa/.codex-plugin/skills/lisa-linear-sync/agents/openai.yaml +4 -0
  204. package/plugins/lisa/.codex-plugin/skills/lisa-linear-to-tracker/SKILL.md +339 -0
  205. package/plugins/lisa/.codex-plugin/skills/lisa-linear-to-tracker/agents/openai.yaml +4 -0
  206. package/plugins/lisa/.codex-plugin/skills/lisa-linear-validate-issue/SKILL.md +314 -0
  207. package/plugins/lisa/.codex-plugin/skills/lisa-linear-validate-issue/agents/openai.yaml +4 -0
  208. package/plugins/lisa/.codex-plugin/skills/lisa-linear-verify/SKILL.md +51 -0
  209. package/plugins/lisa/.codex-plugin/skills/lisa-linear-verify/agents/openai.yaml +4 -0
  210. package/plugins/lisa/.codex-plugin/skills/lisa-linear-write-issue/SKILL.md +292 -0
  211. package/plugins/lisa/.codex-plugin/skills/lisa-linear-write-issue/agents/openai.yaml +4 -0
  212. package/plugins/lisa/.codex-plugin/skills/lisa-linear-write-prd/SKILL.md +96 -0
  213. package/plugins/lisa/.codex-plugin/skills/lisa-linear-write-prd/agents/openai.yaml +4 -0
  214. package/plugins/lisa/.codex-plugin/skills/lisa-monitor/SKILL.md +69 -0
  215. package/plugins/lisa/.codex-plugin/skills/lisa-monitor/agents/openai.yaml +4 -0
  216. package/plugins/lisa/.codex-plugin/skills/lisa-nightly-add-test-coverage/SKILL.md +40 -0
  217. package/plugins/lisa/.codex-plugin/skills/lisa-nightly-add-test-coverage/agents/openai.yaml +4 -0
  218. package/plugins/lisa/.codex-plugin/skills/lisa-nightly-improve-tests/SKILL.md +29 -0
  219. package/plugins/lisa/.codex-plugin/skills/lisa-nightly-improve-tests/agents/openai.yaml +4 -0
  220. package/plugins/lisa/.codex-plugin/skills/lisa-nightly-lower-code-complexity/SKILL.md +28 -0
  221. package/plugins/lisa/.codex-plugin/skills/lisa-nightly-lower-code-complexity/agents/openai.yaml +4 -0
  222. package/plugins/lisa/.codex-plugin/skills/lisa-notion-access/SKILL.md +226 -0
  223. package/plugins/lisa/.codex-plugin/skills/lisa-notion-access/agents/openai.yaml +4 -0
  224. package/plugins/lisa/.codex-plugin/skills/lisa-notion-prd-intake/SKILL.md +360 -0
  225. package/plugins/lisa/.codex-plugin/skills/lisa-notion-prd-intake/agents/openai.yaml +4 -0
  226. package/plugins/lisa/.codex-plugin/skills/lisa-notion-to-tracker/SKILL.md +353 -0
  227. package/plugins/lisa/.codex-plugin/skills/lisa-notion-to-tracker/agents/openai.yaml +4 -0
  228. package/plugins/lisa/.codex-plugin/skills/lisa-notion-write-prd/SKILL.md +109 -0
  229. package/plugins/lisa/.codex-plugin/skills/lisa-notion-write-prd/agents/openai.yaml +4 -0
  230. package/plugins/lisa/.codex-plugin/skills/lisa-parity-code-review/SKILL.md +83 -0
  231. package/plugins/lisa/.codex-plugin/skills/lisa-parity-code-review/agents/openai.yaml +4 -0
  232. package/plugins/lisa/.codex-plugin/skills/lisa-parity-code-simplifier/SKILL.md +76 -0
  233. package/plugins/lisa/.codex-plugin/skills/lisa-parity-code-simplifier/agents/openai.yaml +4 -0
  234. package/plugins/lisa/.codex-plugin/skills/lisa-parity-coderabbit/SKILL.md +77 -0
  235. package/plugins/lisa/.codex-plugin/skills/lisa-parity-coderabbit/agents/openai.yaml +4 -0
  236. package/plugins/lisa/.codex-plugin/skills/lisa-parity-safety-net-rules/SKILL.md +144 -0
  237. package/plugins/lisa/.codex-plugin/skills/lisa-parity-safety-net-rules/agents/openai.yaml +4 -0
  238. package/plugins/lisa/.codex-plugin/skills/lisa-parity-sentry-sdk-setup/SKILL.md +211 -0
  239. package/plugins/lisa/.codex-plugin/skills/lisa-parity-sentry-sdk-setup/agents/openai.yaml +4 -0
  240. package/plugins/lisa/.codex-plugin/skills/lisa-parity-sentry-seer/SKILL.md +135 -0
  241. package/plugins/lisa/.codex-plugin/skills/lisa-parity-sentry-seer/agents/openai.yaml +4 -0
  242. package/plugins/lisa/.codex-plugin/skills/lisa-parity-skill-creator/SKILL.md +151 -0
  243. package/plugins/lisa/.codex-plugin/skills/lisa-parity-skill-creator/agents/openai.yaml +4 -0
  244. package/plugins/lisa/.codex-plugin/skills/lisa-performance-review/SKILL.md +94 -0
  245. package/plugins/lisa/.codex-plugin/skills/lisa-performance-review/agents/openai.yaml +4 -0
  246. package/plugins/lisa/.codex-plugin/skills/lisa-plan/SKILL.md +60 -0
  247. package/plugins/lisa/.codex-plugin/skills/lisa-plan/agents/openai.yaml +4 -0
  248. package/plugins/lisa/.codex-plugin/skills/lisa-plugin-sync-explain/SKILL.md +53 -0
  249. package/plugins/lisa/.codex-plugin/skills/lisa-plugin-sync-explain/agents/openai.yaml +4 -0
  250. package/plugins/lisa/.codex-plugin/skills/lisa-posthog-access/SKILL.md +60 -0
  251. package/plugins/lisa/.codex-plugin/skills/lisa-posthog-access/agents/openai.yaml +4 -0
  252. package/plugins/lisa/.codex-plugin/skills/lisa-prd-backlink/SKILL.md +265 -0
  253. package/plugins/lisa/.codex-plugin/skills/lisa-prd-backlink/agents/openai.yaml +4 -0
  254. package/plugins/lisa/.codex-plugin/skills/lisa-prd-source-write/SKILL.md +101 -0
  255. package/plugins/lisa/.codex-plugin/skills/lisa-prd-source-write/agents/openai.yaml +4 -0
  256. package/plugins/lisa/.codex-plugin/skills/lisa-prd-ticket-coverage/SKILL.md +170 -0
  257. package/plugins/lisa/.codex-plugin/skills/lisa-prd-ticket-coverage/agents/openai.yaml +4 -0
  258. package/plugins/lisa/.codex-plugin/skills/lisa-product-walkthrough/SKILL.md +104 -0
  259. package/plugins/lisa/.codex-plugin/skills/lisa-product-walkthrough/agents/openai.yaml +4 -0
  260. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/SKILL.md +315 -0
  261. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/agents/openai.yaml +4 -0
  262. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/examples/evidence-card-format.md +21 -0
  263. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/examples/host-project-only.md +22 -0
  264. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/examples/idempotency-verification-harness.md +57 -0
  265. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/examples/public-external-inspiration.md +22 -0
  266. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/examples/unavailable-data-rejection.md +22 -0
  267. package/plugins/lisa/.codex-plugin/skills/lisa-pull-request-review/SKILL.md +84 -0
  268. package/plugins/lisa/.codex-plugin/skills/lisa-pull-request-review/agents/openai.yaml +4 -0
  269. package/plugins/lisa/.codex-plugin/skills/lisa-quality-review/SKILL.md +54 -0
  270. package/plugins/lisa/.codex-plugin/skills/lisa-quality-review/agents/openai.yaml +4 -0
  271. package/plugins/lisa/.codex-plugin/skills/lisa-queue-status/SKILL.md +133 -0
  272. package/plugins/lisa/.codex-plugin/skills/lisa-queue-status/agents/openai.yaml +4 -0
  273. package/plugins/lisa/.codex-plugin/skills/lisa-repair-intake/SKILL.md +1030 -0
  274. package/plugins/lisa/.codex-plugin/skills/lisa-repair-intake/agents/openai.yaml +4 -0
  275. package/plugins/lisa/.codex-plugin/skills/lisa-reproduce-bug/SKILL.md +96 -0
  276. package/plugins/lisa/.codex-plugin/skills/lisa-reproduce-bug/agents/openai.yaml +4 -0
  277. package/plugins/lisa/.codex-plugin/skills/lisa-research/SKILL.md +68 -0
  278. package/plugins/lisa/.codex-plugin/skills/lisa-research/agents/openai.yaml +4 -0
  279. package/plugins/lisa/.codex-plugin/skills/lisa-review-implementation/SKILL.md +209 -0
  280. package/plugins/lisa/.codex-plugin/skills/lisa-review-implementation/agents/openai.yaml +4 -0
  281. package/plugins/lisa/.codex-plugin/skills/lisa-review-local/SKILL.md +88 -0
  282. package/plugins/lisa/.codex-plugin/skills/lisa-review-local/agents/openai.yaml +4 -0
  283. package/plugins/lisa/.codex-plugin/skills/lisa-root-cause-analysis/SKILL.md +155 -0
  284. package/plugins/lisa/.codex-plugin/skills/lisa-root-cause-analysis/agents/openai.yaml +4 -0
  285. package/plugins/lisa/.codex-plugin/skills/lisa-security-review/SKILL.md +57 -0
  286. package/plugins/lisa/.codex-plugin/skills/lisa-security-review/agents/openai.yaml +4 -0
  287. package/plugins/lisa/.codex-plugin/skills/lisa-security-zap-scan/SKILL.md +33 -0
  288. package/plugins/lisa/.codex-plugin/skills/lisa-security-zap-scan/agents/openai.yaml +4 -0
  289. package/plugins/lisa/.codex-plugin/skills/lisa-sentry-access/SKILL.md +56 -0
  290. package/plugins/lisa/.codex-plugin/skills/lisa-sentry-access/agents/openai.yaml +4 -0
  291. package/plugins/lisa/.codex-plugin/skills/lisa-setup-atlassian/SKILL.md +347 -0
  292. package/plugins/lisa/.codex-plugin/skills/lisa-setup-atlassian/agents/openai.yaml +4 -0
  293. package/plugins/lisa/.codex-plugin/skills/lisa-setup-automations/SKILL.md +103 -0
  294. package/plugins/lisa/.codex-plugin/skills/lisa-setup-automations/agents/openai.yaml +4 -0
  295. package/plugins/lisa/.codex-plugin/skills/lisa-setup-confluence/SKILL.md +254 -0
  296. package/plugins/lisa/.codex-plugin/skills/lisa-setup-confluence/agents/openai.yaml +4 -0
  297. package/plugins/lisa/.codex-plugin/skills/lisa-setup-github/SKILL.md +268 -0
  298. package/plugins/lisa/.codex-plugin/skills/lisa-setup-github/agents/openai.yaml +4 -0
  299. package/plugins/lisa/.codex-plugin/skills/lisa-setup-jira/SKILL.md +198 -0
  300. package/plugins/lisa/.codex-plugin/skills/lisa-setup-jira/agents/openai.yaml +4 -0
  301. package/plugins/lisa/.codex-plugin/skills/lisa-setup-linear/SKILL.md +251 -0
  302. package/plugins/lisa/.codex-plugin/skills/lisa-setup-linear/agents/openai.yaml +4 -0
  303. package/plugins/lisa/.codex-plugin/skills/lisa-setup-notion/SKILL.md +316 -0
  304. package/plugins/lisa/.codex-plugin/skills/lisa-setup-notion/agents/openai.yaml +4 -0
  305. package/plugins/lisa/.codex-plugin/skills/lisa-sonarcloud-access/SKILL.md +71 -0
  306. package/plugins/lisa/.codex-plugin/skills/lisa-sonarcloud-access/agents/openai.yaml +4 -0
  307. package/plugins/lisa/.codex-plugin/skills/lisa-spec-conformance/SKILL.md +159 -0
  308. package/plugins/lisa/.codex-plugin/skills/lisa-spec-conformance/agents/openai.yaml +4 -0
  309. package/plugins/lisa/.codex-plugin/skills/lisa-sync-down/SKILL.md +171 -0
  310. package/plugins/lisa/.codex-plugin/skills/lisa-sync-down/agents/openai.yaml +4 -0
  311. package/plugins/lisa/.codex-plugin/skills/lisa-task-decomposition/SKILL.md +127 -0
  312. package/plugins/lisa/.codex-plugin/skills/lisa-task-decomposition/agents/openai.yaml +4 -0
  313. package/plugins/lisa/.codex-plugin/skills/lisa-task-triage/SKILL.md +23 -0
  314. package/plugins/lisa/.codex-plugin/skills/lisa-task-triage/agents/openai.yaml +4 -0
  315. package/plugins/lisa/.codex-plugin/skills/lisa-tdd-implementation/SKILL.md +86 -0
  316. package/plugins/lisa/.codex-plugin/skills/lisa-tdd-implementation/agents/openai.yaml +4 -0
  317. package/plugins/lisa/.codex-plugin/skills/lisa-tear-down-automations/SKILL.md +34 -0
  318. package/plugins/lisa/.codex-plugin/skills/lisa-tear-down-automations/agents/openai.yaml +4 -0
  319. package/plugins/lisa/.codex-plugin/skills/lisa-test-strategy/SKILL.md +63 -0
  320. package/plugins/lisa/.codex-plugin/skills/lisa-test-strategy/agents/openai.yaml +4 -0
  321. package/plugins/lisa/.codex-plugin/skills/lisa-ticket-triage/SKILL.md +186 -0
  322. package/plugins/lisa/.codex-plugin/skills/lisa-ticket-triage/agents/openai.yaml +4 -0
  323. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-add-journey/SKILL.md +27 -0
  324. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-add-journey/agents/openai.yaml +4 -0
  325. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-build-intake/SKILL.md +86 -0
  326. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-build-intake/agents/openai.yaml +4 -0
  327. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-create/SKILL.md +27 -0
  328. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-create/agents/openai.yaml +4 -0
  329. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-evidence/SKILL.md +53 -0
  330. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-evidence/agents/openai.yaml +4 -0
  331. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-journey/SKILL.md +27 -0
  332. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-journey/agents/openai.yaml +4 -0
  333. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-read/SKILL.md +28 -0
  334. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-read/agents/openai.yaml +4 -0
  335. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-source-artifacts/SKILL.md +107 -0
  336. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-source-artifacts/agents/openai.yaml +4 -0
  337. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-sync/SKILL.md +65 -0
  338. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-sync/agents/openai.yaml +4 -0
  339. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-validate/SKILL.md +37 -0
  340. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-validate/agents/openai.yaml +4 -0
  341. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-verify/SKILL.md +29 -0
  342. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-verify/agents/openai.yaml +4 -0
  343. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-write/SKILL.md +54 -0
  344. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-write/agents/openai.yaml +4 -0
  345. package/plugins/lisa/.codex-plugin/skills/lisa-usage-accounting/SKILL.md +170 -0
  346. package/plugins/lisa/.codex-plugin/skills/lisa-usage-accounting/agents/openai.yaml +4 -0
  347. package/plugins/lisa/.codex-plugin/skills/lisa-use-the-product/SKILL.md +86 -0
  348. package/plugins/lisa/.codex-plugin/skills/lisa-use-the-product/agents/openai.yaml +4 -0
  349. package/plugins/lisa/.codex-plugin/skills/lisa-validate-tracker-mapping/SKILL.md +195 -0
  350. package/plugins/lisa/.codex-plugin/skills/lisa-validate-tracker-mapping/agents/openai.yaml +4 -0
  351. package/plugins/lisa/.codex-plugin/skills/lisa-verification-lifecycle/SKILL.md +365 -0
  352. package/plugins/lisa/.codex-plugin/skills/lisa-verification-lifecycle/agents/openai.yaml +4 -0
  353. package/plugins/lisa/.codex-plugin/skills/lisa-verify/SKILL.md +52 -0
  354. package/plugins/lisa/.codex-plugin/skills/lisa-verify/agents/openai.yaml +4 -0
  355. package/plugins/lisa/.codex-plugin/skills/lisa-verify-prd/SKILL.md +392 -0
  356. package/plugins/lisa/.codex-plugin/skills/lisa-verify-prd/agents/openai.yaml +4 -0
  357. package/plugins/lisa/.codex-plugin/skills/lisa-wiki-install/SKILL.md +101 -0
  358. package/plugins/lisa/.codex-plugin/skills/lisa-wiki-install/agents/openai.yaml +4 -0
  359. package/plugins/lisa/hooks/inject-rules.sh +3 -2
  360. package/plugins/lisa/hooks/install-pkgs.sh +4 -45
  361. package/plugins/lisa/hooks/setup-jira-cli.sh +4 -12
  362. package/plugins/lisa/skills/lisa-setup-linear/SKILL.md +1 -1
  363. package/plugins/lisa-agy/plugin.json +1 -1
  364. package/plugins/lisa-agy/skills/lisa-setup-linear/SKILL.md +1 -1
  365. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  366. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  367. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  368. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  369. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  370. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  371. package/plugins/lisa-copilot/hooks/inject-rules.sh +3 -2
  372. package/plugins/lisa-copilot/hooks/install-pkgs.sh +4 -45
  373. package/plugins/lisa-copilot/hooks/setup-jira-cli.sh +4 -12
  374. package/plugins/lisa-copilot/skills/lisa-setup-linear/SKILL.md +1 -1
  375. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  376. package/plugins/lisa-cursor/hooks/install-pkgs.sh +4 -45
  377. package/plugins/lisa-cursor/hooks/setup-jira-cli.sh +4 -12
  378. package/plugins/lisa-cursor/skills/lisa-setup-linear/SKILL.md +1 -1
  379. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  380. package/plugins/lisa-expo/.codex-plugin/plugin.json +2 -2
  381. package/plugins/lisa-expo/.codex-plugin/skills/add-app-clip/SKILL.md +280 -0
  382. package/plugins/lisa-expo/.codex-plugin/skills/add-app-clip/agents/openai.yaml +4 -0
  383. package/plugins/lisa-expo/.codex-plugin/skills/add-app-clip/references/native-module.md +96 -0
  384. package/plugins/lisa-expo/.codex-plugin/skills/apollo-client/SKILL.md +238 -0
  385. package/plugins/lisa-expo/.codex-plugin/skills/apollo-client/agents/openai.yaml +4 -0
  386. package/plugins/lisa-expo/.codex-plugin/skills/apollo-client/references/mutation-patterns.md +360 -0
  387. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/SKILL.md +367 -0
  388. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/agents/openai.yaml +4 -0
  389. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/references/atomic-levels.md +417 -0
  390. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/references/folder-structure.md +257 -0
  391. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/references/gluestack-mapping.md +233 -0
  392. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/scripts/test_validate_atomic_structure.py +240 -0
  393. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +438 -0
  394. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/SKILL.md +321 -0
  395. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/agents/openai.yaml +4 -0
  396. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/animations.md +220 -0
  397. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/controls.md +272 -0
  398. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/form-sheet.md +253 -0
  399. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/gradients.md +106 -0
  400. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/icons.md +213 -0
  401. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/media.md +198 -0
  402. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/route-structure.md +229 -0
  403. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/search.md +248 -0
  404. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/storage.md +121 -0
  405. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/tabs.md +433 -0
  406. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/toolbar-and-headers.md +284 -0
  407. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/visual-effects.md +197 -0
  408. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/webgpu-three.md +605 -0
  409. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/zoom-transitions.md +158 -0
  410. package/plugins/lisa-expo/.codex-plugin/skills/container-view-pattern/SKILL.md +299 -0
  411. package/plugins/lisa-expo/.codex-plugin/skills/container-view-pattern/agents/openai.yaml +4 -0
  412. package/plugins/lisa-expo/.codex-plugin/skills/container-view-pattern/references/examples.md +749 -0
  413. package/plugins/lisa-expo/.codex-plugin/skills/container-view-pattern/references/patterns.md +318 -0
  414. package/plugins/lisa-expo/.codex-plugin/skills/container-view-pattern/scripts/create_component.py +200 -0
  415. package/plugins/lisa-expo/.codex-plugin/skills/container-view-pattern/scripts/validate_component.py +209 -0
  416. package/plugins/lisa-expo/.codex-plugin/skills/cross-platform-compatibility/SKILL.md +268 -0
  417. package/plugins/lisa-expo/.codex-plugin/skills/cross-platform-compatibility/agents/openai.yaml +4 -0
  418. package/plugins/lisa-expo/.codex-plugin/skills/cross-platform-compatibility/references/common-issues.md +619 -0
  419. package/plugins/lisa-expo/.codex-plugin/skills/cross-platform-compatibility/references/file-extensions.md +340 -0
  420. package/plugins/lisa-expo/.codex-plugin/skills/cross-platform-compatibility/references/platform-api.md +276 -0
  421. package/plugins/lisa-expo/.codex-plugin/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +416 -0
  422. package/plugins/lisa-expo/.codex-plugin/skills/directory-structure/SKILL.md +214 -0
  423. package/plugins/lisa-expo/.codex-plugin/skills/directory-structure/agents/openai.yaml +4 -0
  424. package/plugins/lisa-expo/.codex-plugin/skills/directory-structure/scripts/validate_structure.py +454 -0
  425. package/plugins/lisa-expo/.codex-plugin/skills/e2e-coverage-gaps/SKILL.md +105 -0
  426. package/plugins/lisa-expo/.codex-plugin/skills/e2e-coverage-gaps/agents/openai.yaml +4 -0
  427. package/plugins/lisa-expo/.codex-plugin/skills/eas-update-insights/SKILL.md +228 -0
  428. package/plugins/lisa-expo/.codex-plugin/skills/eas-update-insights/agents/openai.yaml +4 -0
  429. package/plugins/lisa-expo/.codex-plugin/skills/eas-update-insights/references/channel-insights-schema.md +47 -0
  430. package/plugins/lisa-expo/.codex-plugin/skills/eas-update-insights/references/update-insights-schema.md +69 -0
  431. package/plugins/lisa-expo/.codex-plugin/skills/expo-api-routes/SKILL.md +369 -0
  432. package/plugins/lisa-expo/.codex-plugin/skills/expo-api-routes/agents/openai.yaml +4 -0
  433. package/plugins/lisa-expo/.codex-plugin/skills/expo-brownfield/SKILL.md +54 -0
  434. package/plugins/lisa-expo/.codex-plugin/skills/expo-brownfield/agents/openai.yaml +4 -0
  435. package/plugins/lisa-expo/.codex-plugin/skills/expo-brownfield/references/brownfield-integrated.md +526 -0
  436. package/plugins/lisa-expo/.codex-plugin/skills/expo-brownfield/references/brownfield-isolated.md +402 -0
  437. package/plugins/lisa-expo/.codex-plugin/skills/expo-brownfield/references/comparison.md +63 -0
  438. package/plugins/lisa-expo/.codex-plugin/skills/expo-brownfield/references/troubleshooting.md +88 -0
  439. package/plugins/lisa-expo/.codex-plugin/skills/expo-cicd-workflows/SKILL.md +92 -0
  440. package/plugins/lisa-expo/.codex-plugin/skills/expo-cicd-workflows/agents/openai.yaml +4 -0
  441. package/plugins/lisa-expo/.codex-plugin/skills/expo-cicd-workflows/scripts/fetch.js +113 -0
  442. package/plugins/lisa-expo/.codex-plugin/skills/expo-cicd-workflows/scripts/package.json +11 -0
  443. package/plugins/lisa-expo/.codex-plugin/skills/expo-cicd-workflows/scripts/validate.js +85 -0
  444. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/SKILL.md +193 -0
  445. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/agents/openai.yaml +4 -0
  446. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/references/app-store-metadata.md +479 -0
  447. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/references/ios-app-store.md +355 -0
  448. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/references/play-store.md +264 -0
  449. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/references/testflight.md +58 -0
  450. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/references/workflows.md +200 -0
  451. package/plugins/lisa-expo/.codex-plugin/skills/expo-dev-client/SKILL.md +164 -0
  452. package/plugins/lisa-expo/.codex-plugin/skills/expo-dev-client/agents/openai.yaml +4 -0
  453. package/plugins/lisa-expo/.codex-plugin/skills/expo-env-config/SKILL.md +309 -0
  454. package/plugins/lisa-expo/.codex-plugin/skills/expo-env-config/agents/openai.yaml +4 -0
  455. package/plugins/lisa-expo/.codex-plugin/skills/expo-env-config/references/validation-patterns.md +417 -0
  456. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/SKILL.md +141 -0
  457. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/agents/openai.yaml +4 -0
  458. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/references/config-plugin.md +90 -0
  459. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/references/create-expo-module.md +206 -0
  460. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/references/lifecycle.md +127 -0
  461. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/references/module-config.md +48 -0
  462. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/references/native-module.md +286 -0
  463. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/references/native-view.md +171 -0
  464. package/plugins/lisa-expo/.codex-plugin/skills/expo-router-best-practices/SKILL.md +431 -0
  465. package/plugins/lisa-expo/.codex-plugin/skills/expo-router-best-practices/agents/openai.yaml +4 -0
  466. package/plugins/lisa-expo/.codex-plugin/skills/expo-router-best-practices/references/official-docs.md +290 -0
  467. package/plugins/lisa-expo/.codex-plugin/skills/expo-router-best-practices/scripts/generate-route.py +171 -0
  468. package/plugins/lisa-expo/.codex-plugin/skills/expo-tailwind-setup/SKILL.md +480 -0
  469. package/plugins/lisa-expo/.codex-plugin/skills/expo-tailwind-setup/agents/openai.yaml +4 -0
  470. package/plugins/lisa-expo/.codex-plugin/skills/expo-ui-jetpack-compose/SKILL.md +40 -0
  471. package/plugins/lisa-expo/.codex-plugin/skills/expo-ui-jetpack-compose/agents/openai.yaml +4 -0
  472. package/plugins/lisa-expo/.codex-plugin/skills/expo-ui-swift-ui/SKILL.md +39 -0
  473. package/plugins/lisa-expo/.codex-plugin/skills/expo-ui-swift-ui/agents/openai.yaml +4 -0
  474. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/SKILL.md +419 -0
  475. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/agents/openai.yaml +4 -0
  476. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/references/color-tokens.md +343 -0
  477. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/references/component-mapping.md +307 -0
  478. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/references/spacing-scale.md +300 -0
  479. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/scripts/test_validate_styling.py +240 -0
  480. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/scripts/validate_styling.py +424 -0
  481. package/plugins/lisa-expo/.codex-plugin/skills/jira-add-journey/SKILL.md +126 -0
  482. package/plugins/lisa-expo/.codex-plugin/skills/jira-add-journey/agents/openai.yaml +4 -0
  483. package/plugins/lisa-expo/.codex-plugin/skills/jira-create/SKILL.md +161 -0
  484. package/plugins/lisa-expo/.codex-plugin/skills/jira-create/agents/openai.yaml +4 -0
  485. package/plugins/lisa-expo/.codex-plugin/skills/jira-evidence/SKILL.md +78 -0
  486. package/plugins/lisa-expo/.codex-plugin/skills/jira-evidence/agents/openai.yaml +4 -0
  487. package/plugins/lisa-expo/.codex-plugin/skills/jira-evidence/scripts/post-evidence.sh +180 -0
  488. package/plugins/lisa-expo/.codex-plugin/skills/jira-journey/SKILL.md +190 -0
  489. package/plugins/lisa-expo/.codex-plugin/skills/jira-journey/agents/openai.yaml +4 -0
  490. package/plugins/lisa-expo/.codex-plugin/skills/jira-journey/scripts/generate-templates.py +281 -0
  491. package/plugins/lisa-expo/.codex-plugin/skills/jira-journey/scripts/parse-plan.py +368 -0
  492. package/plugins/lisa-expo/.codex-plugin/skills/jira-verify/SKILL.md +27 -0
  493. package/plugins/lisa-expo/.codex-plugin/skills/jira-verify/agents/openai.yaml +4 -0
  494. package/plugins/lisa-expo/.codex-plugin/skills/lisa-e2e-coverage-gaps/SKILL.md +13 -0
  495. package/plugins/lisa-expo/.codex-plugin/skills/lisa-e2e-coverage-gaps/agents/openai.yaml +4 -0
  496. package/plugins/lisa-expo/.codex-plugin/skills/local-state/SKILL.md +362 -0
  497. package/plugins/lisa-expo/.codex-plugin/skills/local-state/agents/openai.yaml +4 -0
  498. package/plugins/lisa-expo/.codex-plugin/skills/local-state/references/async-storage.md +505 -0
  499. package/plugins/lisa-expo/.codex-plugin/skills/local-state/references/persistence-patterns.md +711 -0
  500. package/plugins/lisa-expo/.codex-plugin/skills/local-state/references/reactive-variables.md +446 -0
  501. package/plugins/lisa-expo/.codex-plugin/skills/native-data-fetching/SKILL.md +507 -0
  502. package/plugins/lisa-expo/.codex-plugin/skills/native-data-fetching/agents/openai.yaml +4 -0
  503. package/plugins/lisa-expo/.codex-plugin/skills/native-data-fetching/references/expo-router-loaders.md +344 -0
  504. package/plugins/lisa-expo/.codex-plugin/skills/ops-browser-uat/SKILL.md +124 -0
  505. package/plugins/lisa-expo/.codex-plugin/skills/ops-browser-uat/agents/openai.yaml +4 -0
  506. package/plugins/lisa-expo/.codex-plugin/skills/ops-check-logs/SKILL.md +217 -0
  507. package/plugins/lisa-expo/.codex-plugin/skills/ops-check-logs/agents/openai.yaml +4 -0
  508. package/plugins/lisa-expo/.codex-plugin/skills/ops-db-ops/SKILL.md +123 -0
  509. package/plugins/lisa-expo/.codex-plugin/skills/ops-db-ops/agents/openai.yaml +4 -0
  510. package/plugins/lisa-expo/.codex-plugin/skills/ops-deploy/SKILL.md +123 -0
  511. package/plugins/lisa-expo/.codex-plugin/skills/ops-deploy/agents/openai.yaml +4 -0
  512. package/plugins/lisa-expo/.codex-plugin/skills/ops-monitor-errors/SKILL.md +99 -0
  513. package/plugins/lisa-expo/.codex-plugin/skills/ops-monitor-errors/agents/openai.yaml +4 -0
  514. package/plugins/lisa-expo/.codex-plugin/skills/ops-performance/SKILL.md +165 -0
  515. package/plugins/lisa-expo/.codex-plugin/skills/ops-performance/agents/openai.yaml +4 -0
  516. package/plugins/lisa-expo/.codex-plugin/skills/ops-run-local/SKILL.md +169 -0
  517. package/plugins/lisa-expo/.codex-plugin/skills/ops-run-local/agents/openai.yaml +4 -0
  518. package/plugins/lisa-expo/.codex-plugin/skills/ops-verify-health/SKILL.md +101 -0
  519. package/plugins/lisa-expo/.codex-plugin/skills/ops-verify-health/agents/openai.yaml +4 -0
  520. package/plugins/lisa-expo/.codex-plugin/skills/owasp-zap/SKILL.md +61 -0
  521. package/plugins/lisa-expo/.codex-plugin/skills/owasp-zap/agents/openai.yaml +4 -0
  522. package/plugins/lisa-expo/.codex-plugin/skills/play-store-access/SKILL.md +226 -0
  523. package/plugins/lisa-expo/.codex-plugin/skills/play-store-access/agents/openai.yaml +4 -0
  524. package/plugins/lisa-expo/.codex-plugin/skills/playwright-ci-debugging/SKILL.md +140 -0
  525. package/plugins/lisa-expo/.codex-plugin/skills/playwright-ci-debugging/agents/openai.yaml +4 -0
  526. package/plugins/lisa-expo/.codex-plugin/skills/playwright-selectors/SKILL.md +455 -0
  527. package/plugins/lisa-expo/.codex-plugin/skills/playwright-selectors/agents/openai.yaml +4 -0
  528. package/plugins/lisa-expo/.codex-plugin/skills/reduce-complexity/SKILL.md +251 -0
  529. package/plugins/lisa-expo/.codex-plugin/skills/reduce-complexity/agents/openai.yaml +4 -0
  530. package/plugins/lisa-expo/.codex-plugin/skills/reduce-complexity/references/extraction-strategies.md +456 -0
  531. package/plugins/lisa-expo/.codex-plugin/skills/reduce-complexity/references/refactoring-patterns.md +557 -0
  532. package/plugins/lisa-expo/.codex-plugin/skills/testing-library/SKILL.md +314 -0
  533. package/plugins/lisa-expo/.codex-plugin/skills/testing-library/agents/openai.yaml +4 -0
  534. package/plugins/lisa-expo/.codex-plugin/skills/testing-library/references/async-patterns.md +420 -0
  535. package/plugins/lisa-expo/.codex-plugin/skills/testing-library/references/expo-router-testing.md +556 -0
  536. package/plugins/lisa-expo/.codex-plugin/skills/testing-library/references/mocking-patterns.md +590 -0
  537. package/plugins/lisa-expo/.codex-plugin/skills/testing-library/references/query-priority.md +291 -0
  538. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/SKILL.md +134 -0
  539. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/agents/openai.yaml +4 -0
  540. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
  541. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/expo-av-to-video.md +160 -0
  542. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/native-tabs.md +124 -0
  543. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/new-architecture.md +79 -0
  544. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/react-19.md +79 -0
  545. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/react-compiler.md +59 -0
  546. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/react-navigation-to-expo-router.md +61 -0
  547. package/plugins/lisa-expo/.codex-plugin/skills/use-dom/SKILL.md +417 -0
  548. package/plugins/lisa-expo/.codex-plugin/skills/use-dom/agents/openai.yaml +4 -0
  549. package/plugins/lisa-expo/.mcp.json +0 -4
  550. package/plugins/lisa-expo/THIRD-PARTY-NOTICES.md +14 -6
  551. package/plugins/lisa-expo/skills/building-native-ui/SKILL.md +1 -1
  552. package/plugins/lisa-expo-agy/THIRD-PARTY-NOTICES.md +14 -6
  553. package/plugins/lisa-expo-agy/plugin.json +1 -1
  554. package/plugins/lisa-expo-agy/skills/building-native-ui/SKILL.md +1 -1
  555. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -7
  556. package/plugins/lisa-expo-copilot/.mcp.json +0 -4
  557. package/plugins/lisa-expo-copilot/THIRD-PARTY-NOTICES.md +14 -6
  558. package/plugins/lisa-expo-copilot/skills/building-native-ui/SKILL.md +1 -1
  559. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  560. package/plugins/lisa-expo-cursor/THIRD-PARTY-NOTICES.md +14 -6
  561. package/plugins/lisa-expo-cursor/mcp.json +0 -4
  562. package/plugins/lisa-expo-cursor/skills/building-native-ui/SKILL.md +1 -1
  563. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  564. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +2 -2
  565. package/plugins/lisa-harper-fabric/.codex-plugin/skills/e2e-coverage-gaps/SKILL.md +105 -0
  566. package/plugins/lisa-harper-fabric/.codex-plugin/skills/e2e-coverage-gaps/agents/openai.yaml +4 -0
  567. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-auth/SKILL.md +368 -0
  568. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-auth/agents/openai.yaml +4 -0
  569. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-build-and-deploy/SKILL.md +198 -0
  570. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-build-and-deploy/agents/openai.yaml +4 -0
  571. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-caching/SKILL.md +265 -0
  572. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-caching/agents/openai.yaml +4 -0
  573. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-component-model/SKILL.md +87 -0
  574. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-component-model/agents/openai.yaml +4 -0
  575. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-config-yaml/SKILL.md +283 -0
  576. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-config-yaml/agents/openai.yaml +4 -0
  577. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-operations/SKILL.md +239 -0
  578. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-operations/agents/openai.yaml +4 -0
  579. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-realtime/SKILL.md +187 -0
  580. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-realtime/agents/openai.yaml +4 -0
  581. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-resources/SKILL.md +142 -0
  582. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-resources/agents/openai.yaml +4 -0
  583. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-rest-queries/SKILL.md +403 -0
  584. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-rest-queries/agents/openai.yaml +4 -0
  585. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-schema-graphql/SKILL.md +123 -0
  586. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-schema-graphql/agents/openai.yaml +4 -0
  587. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-testing/SKILL.md +254 -0
  588. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-testing/agents/openai.yaml +4 -0
  589. package/plugins/lisa-harper-fabric/.codex-plugin/skills/lisa-e2e-coverage-gaps/SKILL.md +13 -0
  590. package/plugins/lisa-harper-fabric/.codex-plugin/skills/lisa-e2e-coverage-gaps/agents/openai.yaml +4 -0
  591. package/plugins/lisa-harper-fabric/hooks/block-generated-artifact-edits.sh +42 -24
  592. package/plugins/lisa-harper-fabric/hooks/enforce-config-extensions.mjs +12 -14
  593. package/plugins/lisa-harper-fabric/hooks/enforce-config-extensions.sh +30 -3
  594. package/plugins/lisa-harper-fabric/hooks/inject-rules.sh +1 -1
  595. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  596. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  597. package/plugins/lisa-harper-fabric-copilot/hooks/block-generated-artifact-edits.sh +42 -24
  598. package/plugins/lisa-harper-fabric-copilot/hooks/enforce-config-extensions.mjs +12 -14
  599. package/plugins/lisa-harper-fabric-copilot/hooks/enforce-config-extensions.sh +30 -3
  600. package/plugins/lisa-harper-fabric-copilot/hooks/inject-rules.sh +1 -1
  601. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  602. package/plugins/lisa-harper-fabric-cursor/hooks/block-generated-artifact-edits.sh +42 -24
  603. package/plugins/lisa-harper-fabric-cursor/hooks/enforce-config-extensions.mjs +12 -14
  604. package/plugins/lisa-harper-fabric-cursor/hooks/enforce-config-extensions.sh +30 -3
  605. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  606. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +2 -2
  607. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/SKILL.md +176 -0
  608. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/agents/openai.yaml +4 -0
  609. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/references/advanced-features.md +527 -0
  610. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/references/project-patterns.md +531 -0
  611. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/references/quick-start.md +257 -0
  612. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/references/resolvers-mutations.md +413 -0
  613. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/references/types-scalars.md +513 -0
  614. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-rules/SKILL.md +565 -0
  615. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-rules/agents/openai.yaml +4 -0
  616. package/plugins/lisa-nestjs/.codex-plugin/skills/typeorm-patterns/SKILL.md +275 -0
  617. package/plugins/lisa-nestjs/.codex-plugin/skills/typeorm-patterns/agents/openai.yaml +4 -0
  618. package/plugins/lisa-nestjs/.codex-plugin/skills/typeorm-patterns/references/configuration-patterns.md +487 -0
  619. package/plugins/lisa-nestjs/.codex-plugin/skills/typeorm-patterns/references/entity-patterns.md +450 -0
  620. package/plugins/lisa-nestjs/.codex-plugin/skills/typeorm-patterns/references/observability-patterns.md +536 -0
  621. package/plugins/lisa-nestjs/skills/typeorm-patterns/references/configuration-patterns.md +5 -5
  622. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  623. package/plugins/lisa-nestjs-agy/skills/typeorm-patterns/references/configuration-patterns.md +5 -5
  624. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  625. package/plugins/lisa-nestjs-copilot/skills/typeorm-patterns/references/configuration-patterns.md +5 -5
  626. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  627. package/plugins/lisa-nestjs-cursor/skills/typeorm-patterns/references/configuration-patterns.md +5 -5
  628. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  629. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +2 -2
  630. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-connect-repo-topic/SKILL.md +13 -0
  631. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-connect-repo-topic/agents/openai.yaml +4 -0
  632. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-connect-staff-slack/SKILL.md +13 -0
  633. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-connect-staff-slack/agents/openai.yaml +4 -0
  634. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-connect-staff-telegram/SKILL.md +13 -0
  635. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-connect-staff-telegram/agents/openai.yaml +4 -0
  636. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-repo-topic/SKILL.md +163 -0
  637. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-repo-topic/agents/openai.yaml +4 -0
  638. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-repo-topic/references/repo-topic-config.md +185 -0
  639. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-staff/SKILL.md +175 -0
  640. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-staff/agents/openai.yaml +4 -0
  641. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-staff/references/platform-routing.md +123 -0
  642. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-staff/references/prompts.md +78 -0
  643. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-setup/SKILL.md +141 -0
  644. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-setup/agents/openai.yaml +4 -0
  645. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-setup-openclaw/SKILL.md +13 -0
  646. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-setup-openclaw/agents/openai.yaml +4 -0
  647. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  648. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  649. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  650. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  651. package/plugins/lisa-phaser/.codex-plugin/plugin.json +2 -2
  652. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-accessibility/SKILL.md +135 -0
  653. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-accessibility/agents/openai.yaml +4 -0
  654. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-asset-pipeline/SKILL.md +222 -0
  655. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-asset-pipeline/agents/openai.yaml +4 -0
  656. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-asset-sourcing/SKILL.md +151 -0
  657. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-asset-sourcing/agents/openai.yaml +4 -0
  658. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-build-deploy/SKILL.md +153 -0
  659. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-build-deploy/agents/openai.yaml +4 -0
  660. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-i18n/SKILL.md +122 -0
  661. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-i18n/agents/openai.yaml +4 -0
  662. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-project-structure/SKILL.md +89 -0
  663. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-project-structure/agents/openai.yaml +4 -0
  664. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-services/SKILL.md +208 -0
  665. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-services/agents/openai.yaml +4 -0
  666. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-testing/SKILL.md +192 -0
  667. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-testing/agents/openai.yaml +4 -0
  668. package/plugins/lisa-phaser/hooks/inject-rules.sh +1 -1
  669. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  670. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  671. package/plugins/lisa-phaser-copilot/hooks/inject-rules.sh +1 -1
  672. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  673. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  674. package/plugins/lisa-rails/.codex-plugin/plugin.json +2 -2
  675. package/plugins/lisa-rails/.codex-plugin/skills/action-controller-best-practices/SKILL.md +374 -0
  676. package/plugins/lisa-rails/.codex-plugin/skills/action-controller-best-practices/agents/openai.yaml +4 -0
  677. package/plugins/lisa-rails/.codex-plugin/skills/action-view-best-practices/SKILL.md +335 -0
  678. package/plugins/lisa-rails/.codex-plugin/skills/action-view-best-practices/agents/openai.yaml +4 -0
  679. package/plugins/lisa-rails/.codex-plugin/skills/active-record-model-best-practices/SKILL.md +166 -0
  680. package/plugins/lisa-rails/.codex-plugin/skills/active-record-model-best-practices/agents/openai.yaml +4 -0
  681. package/plugins/lisa-rails/.codex-plugin/skills/e2e-coverage-gaps/SKILL.md +105 -0
  682. package/plugins/lisa-rails/.codex-plugin/skills/e2e-coverage-gaps/agents/openai.yaml +4 -0
  683. package/plugins/lisa-rails/.codex-plugin/skills/fix-linter-error/SKILL.md +45 -0
  684. package/plugins/lisa-rails/.codex-plugin/skills/fix-linter-error/agents/openai.yaml +4 -0
  685. package/plugins/lisa-rails/.codex-plugin/skills/improve-code-complexity/SKILL.md +48 -0
  686. package/plugins/lisa-rails/.codex-plugin/skills/improve-code-complexity/agents/openai.yaml +4 -0
  687. package/plugins/lisa-rails/.codex-plugin/skills/improve-max-lines/SKILL.md +46 -0
  688. package/plugins/lisa-rails/.codex-plugin/skills/improve-max-lines/agents/openai.yaml +4 -0
  689. package/plugins/lisa-rails/.codex-plugin/skills/improve-max-lines-per-function/SKILL.md +46 -0
  690. package/plugins/lisa-rails/.codex-plugin/skills/improve-max-lines-per-function/agents/openai.yaml +4 -0
  691. package/plugins/lisa-rails/.codex-plugin/skills/improve-test-coverage/SKILL.md +45 -0
  692. package/plugins/lisa-rails/.codex-plugin/skills/improve-test-coverage/agents/openai.yaml +4 -0
  693. package/plugins/lisa-rails/.codex-plugin/skills/jira-add-journey/SKILL.md +65 -0
  694. package/plugins/lisa-rails/.codex-plugin/skills/jira-add-journey/agents/openai.yaml +4 -0
  695. package/plugins/lisa-rails/.codex-plugin/skills/jira-create/SKILL.md +100 -0
  696. package/plugins/lisa-rails/.codex-plugin/skills/jira-create/agents/openai.yaml +4 -0
  697. package/plugins/lisa-rails/.codex-plugin/skills/jira-evidence/SKILL.md +70 -0
  698. package/plugins/lisa-rails/.codex-plugin/skills/jira-evidence/agents/openai.yaml +4 -0
  699. package/plugins/lisa-rails/.codex-plugin/skills/jira-evidence/scripts/post-evidence.sh +180 -0
  700. package/plugins/lisa-rails/.codex-plugin/skills/jira-journey/SKILL.md +64 -0
  701. package/plugins/lisa-rails/.codex-plugin/skills/jira-journey/agents/openai.yaml +4 -0
  702. package/plugins/lisa-rails/.codex-plugin/skills/jira-verify/SKILL.md +26 -0
  703. package/plugins/lisa-rails/.codex-plugin/skills/jira-verify/agents/openai.yaml +4 -0
  704. package/plugins/lisa-rails/.codex-plugin/skills/lisa-e2e-coverage-gaps/SKILL.md +13 -0
  705. package/plugins/lisa-rails/.codex-plugin/skills/lisa-e2e-coverage-gaps/agents/openai.yaml +4 -0
  706. package/plugins/lisa-rails/.codex-plugin/skills/ops-check-logs/SKILL.md +191 -0
  707. package/plugins/lisa-rails/.codex-plugin/skills/ops-check-logs/agents/openai.yaml +4 -0
  708. package/plugins/lisa-rails/.codex-plugin/skills/ops-deploy/SKILL.md +153 -0
  709. package/plugins/lisa-rails/.codex-plugin/skills/ops-deploy/agents/openai.yaml +4 -0
  710. package/plugins/lisa-rails/.codex-plugin/skills/ops-run-local/SKILL.md +169 -0
  711. package/plugins/lisa-rails/.codex-plugin/skills/ops-run-local/agents/openai.yaml +4 -0
  712. package/plugins/lisa-rails/.codex-plugin/skills/ops-verify-jobs/SKILL.md +157 -0
  713. package/plugins/lisa-rails/.codex-plugin/skills/ops-verify-jobs/agents/openai.yaml +4 -0
  714. package/plugins/lisa-rails/.codex-plugin/skills/ops-verify-telemetry/SKILL.md +197 -0
  715. package/plugins/lisa-rails/.codex-plugin/skills/ops-verify-telemetry/agents/openai.yaml +4 -0
  716. package/plugins/lisa-rails/hooks/inject-rules.sh +2 -1
  717. package/plugins/lisa-rails-agy/plugin.json +1 -1
  718. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  719. package/plugins/lisa-rails-copilot/hooks/inject-rules.sh +2 -1
  720. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  721. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  722. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  723. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  724. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  725. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  726. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  727. package/plugins/lisa-wiki/.codex-plugin/plugin.json +2 -2
  728. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-add-ingest/SKILL.md +12 -0
  729. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-add-ingest/agents/openai.yaml +4 -0
  730. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-add-role/SKILL.md +12 -0
  731. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-add-role/agents/openai.yaml +4 -0
  732. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-ingest/SKILL.md +12 -0
  733. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-ingest/agents/openai.yaml +4 -0
  734. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-lint/SKILL.md +11 -0
  735. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-lint/agents/openai.yaml +4 -0
  736. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-migrate/SKILL.md +12 -0
  737. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-migrate/agents/openai.yaml +4 -0
  738. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-onboard-me/SKILL.md +12 -0
  739. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-onboard-me/agents/openai.yaml +4 -0
  740. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-query/SKILL.md +12 -0
  741. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-query/agents/openai.yaml +4 -0
  742. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-setup/SKILL.md +12 -0
  743. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-setup/agents/openai.yaml +4 -0
  744. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-setup-wiki/SKILL.md +12 -0
  745. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-setup-wiki/agents/openai.yaml +4 -0
  746. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-status/SKILL.md +12 -0
  747. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-status/agents/openai.yaml +4 -0
  748. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-add-ingest/SKILL.md +34 -0
  749. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-add-ingest/agents/openai.yaml +4 -0
  750. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-add-role/SKILL.md +30 -0
  751. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-add-role/agents/openai.yaml +4 -0
  752. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-confluence/SKILL.md +25 -0
  753. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-confluence/agents/openai.yaml +4 -0
  754. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-docs/SKILL.md +30 -0
  755. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-docs/agents/openai.yaml +4 -0
  756. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-git/SKILL.md +25 -0
  757. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-git/agents/openai.yaml +4 -0
  758. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-jira/SKILL.md +28 -0
  759. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-jira/agents/openai.yaml +4 -0
  760. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-memory/SKILL.md +28 -0
  761. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-memory/agents/openai.yaml +4 -0
  762. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-notion/SKILL.md +25 -0
  763. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-notion/agents/openai.yaml +4 -0
  764. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-roles/SKILL.md +22 -0
  765. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-roles/agents/openai.yaml +4 -0
  766. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-slack/SKILL.md +30 -0
  767. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-slack/agents/openai.yaml +4 -0
  768. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-web/SKILL.md +23 -0
  769. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-web/agents/openai.yaml +4 -0
  770. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-doctor/SKILL.md +47 -0
  771. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-doctor/agents/openai.yaml +4 -0
  772. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-ingest/SKILL.md +99 -0
  773. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-ingest/agents/openai.yaml +4 -0
  774. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-lint/SKILL.md +32 -0
  775. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-lint/agents/openai.yaml +4 -0
  776. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-migrate/SKILL.md +43 -0
  777. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-migrate/agents/openai.yaml +4 -0
  778. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-onboard-me/SKILL.md +33 -0
  779. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-onboard-me/agents/openai.yaml +4 -0
  780. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-query/SKILL.md +36 -0
  781. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-query/agents/openai.yaml +4 -0
  782. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-setup/SKILL.md +75 -0
  783. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-setup/agents/openai.yaml +4 -0
  784. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-setup-automations/SKILL.md +83 -0
  785. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-setup-automations/agents/openai.yaml +4 -0
  786. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-status/SKILL.md +47 -0
  787. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-status/agents/openai.yaml +4 -0
  788. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-tear-down-automations/SKILL.md +34 -0
  789. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-tear-down-automations/agents/openai.yaml +4 -0
  790. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-usage/SKILL.md +50 -0
  791. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-usage/agents/openai.yaml +4 -0
  792. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  793. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  794. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  795. package/plugins/src/base/hooks/inject-rules.sh +3 -2
  796. package/plugins/src/base/hooks/install-pkgs.sh +4 -45
  797. package/plugins/src/base/hooks/setup-jira-cli.sh +4 -12
  798. package/plugins/src/base/skills/lisa-setup-linear/SKILL.md +1 -1
  799. package/plugins/src/expo/.mcp.json +0 -4
  800. package/plugins/src/expo/THIRD-PARTY-NOTICES.md +14 -6
  801. package/plugins/src/expo/skills/building-native-ui/SKILL.md +1 -1
  802. package/plugins/src/harper-fabric/hooks/block-generated-artifact-edits.sh +42 -24
  803. package/plugins/src/harper-fabric/hooks/enforce-config-extensions.mjs +12 -14
  804. package/plugins/src/harper-fabric/hooks/enforce-config-extensions.sh +30 -3
  805. package/plugins/src/harper-fabric/hooks/inject-rules.sh +1 -1
  806. package/plugins/src/nestjs/skills/typeorm-patterns/references/configuration-patterns.md +5 -5
  807. package/plugins/src/phaser/hooks/inject-rules.sh +1 -1
  808. package/plugins/src/rails/hooks/inject-rules.sh +2 -1
  809. package/scripts/clean-dist.mjs +7 -0
  810. package/scripts/generate-codex-plugin-artifacts.mjs +311 -20
  811. package/scripts/install-claude-plugins.sh +53 -40
  812. package/typescript/package-lisa/package.lisa.json +1 -1
  813. package/.agents/plugins/marketplace.json +0 -128
  814. package/dist/codex/lisa-plugin-detection.d.ts +0 -68
  815. package/dist/codex/lisa-plugin-detection.d.ts.map +0 -1
  816. package/dist/codex/lisa-plugin-detection.js +0 -139
  817. package/dist/codex/lisa-plugin-detection.js.map +0 -1
@@ -0,0 +1,239 @@
1
+ ---
2
+ name: harper-operations
3
+ description: "operating, monitoring, or…"
4
+ ---
5
+
6
+ # Harper Operations
7
+
8
+ ## Overview
9
+
10
+ Use Harper's Operations API when the app built or deployed but runtime behavior is
11
+ unknown: a REST endpoint returns 500, a component did not load, logs show worker
12
+ errors, a table shape differs from the expected schema, or a deploy job needs to be
13
+ checked. The Operations API is the administrative surface; application REST
14
+ endpoints are the user-facing data/resource surface.
15
+
16
+ Cross-check deploy packaging and Fabric topology in [[harper-build-and-deploy]].
17
+ Cross-check active extensions and config replacement behavior in
18
+ [[harper-config-yaml]]. Cross-check custom Resource method ownership in
19
+ [[harper-resources]] and query shape in [[harper-rest-queries]].
20
+
21
+ ## Endpoint, auth, and request shape
22
+
23
+ Operations API requests are JSON `POST` requests to the operations endpoint. Harper
24
+ listens on port `9925` at the root path by default:
25
+
26
+ ```bash
27
+ curl -sS http://<harper-host>:9925/ \
28
+ -u "$HARPER_USERNAME:$HARPER_PASSWORD" \
29
+ -H 'Content-Type: application/json' \
30
+ --data '{"operation":"system_information"}'
31
+ ```
32
+
33
+ For local development:
34
+
35
+ ```bash
36
+ curl -sS http://localhost:9925/ \
37
+ -u "$HARPER_USERNAME:$HARPER_PASSWORD" \
38
+ -H 'Content-Type: application/json' \
39
+ --data '{"operation":"get_components"}'
40
+ ```
41
+
42
+ Authentication options:
43
+
44
+ - Basic auth: `Authorization: Basic ...`, or `curl -u "$USER:$PASS"`.
45
+ - JWT operation token: `Authorization: Bearer <token>` from
46
+ `create_authentication_tokens`.
47
+ - CLI: `harper login <target>` for persistent remote auth, or environment
48
+ credentials such as `HARPER_CLI_USERNAME` / `HARPER_CLI_PASSWORD`.
49
+
50
+ Most operational reads require a `super_user` or a role explicitly allowed to run
51
+ the named operation. If an operation is denied, check role `operations` permissions
52
+ before assuming the endpoint or component is broken.
53
+
54
+ ## High-value operations
55
+
56
+ | Operation | Use it for | Example |
57
+ | --- | --- | --- |
58
+ | `get_components` | Confirm component names, files, and configuration loaded from `harper-config.yaml`. | `{"operation":"get_components"}` |
59
+ | `describe_all` | See all database/table definitions and record counts visible to the caller. | `{"operation":"describe_all"}` |
60
+ | `describe_table` | Confirm table/database names, attributes, and primary key shape. | `{"operation":"describe_table","database":"data","table":"Product"}` |
61
+ | `system_information` | Capture runtime, host, and process information for health/debug reports. | `{"operation":"system_information"}` |
62
+ | `read_log` | Read Harper's primary `hdb.log` with level/time/filter controls. | `{"operation":"read_log","level":"error","limit":50,"order":"desc"}` |
63
+ | `search_jobs_by_start_date` | Find background jobs when deploys, imports, or long operations are involved. | `{"operation":"search_jobs_by_start_date","from_date":"2026-06-16T00:00:00.000+0000","to_date":"2026-06-17T00:00:00.000+0000"}` |
64
+ | `get_job` | Inspect one known job id returned by a search or operation response. | `{"operation":"get_job","id":"<job-id>"}` |
65
+ | `get_configuration` | Find runtime paths such as `rootPath`, `componentsRoot`, ports, and logging config. | `{"operation":"get_configuration"}` |
66
+
67
+ Use CLI shortcuts when the operation only needs flat key/value arguments:
68
+
69
+ ```bash
70
+ harper get_components target="$HARPER_TARGET" json=true
71
+ harper describe_all target="$HARPER_TARGET" json=true
72
+ harper read_log target="$HARPER_TARGET" level=error limit=50 order=desc json=true
73
+ ```
74
+
75
+ If the CLI cannot represent the nested request body, use `curl` against the
76
+ Operations API directly.
77
+
78
+ ## Reading logs
79
+
80
+ `read_log` reads the primary Harper log (`hdb.log`) and is restricted to
81
+ `super_user` roles unless a custom role grants it. Useful parameters include
82
+ `level`, `from`, `until`, `limit`, `order`, and `filter`.
83
+
84
+ Recent errors:
85
+
86
+ ```bash
87
+ curl -sS "$HARPER_TARGET" \
88
+ -u "$HARPER_USERNAME:$HARPER_PASSWORD" \
89
+ -H 'Content-Type: application/json' \
90
+ --data '{
91
+ "operation": "read_log",
92
+ "level": "error",
93
+ "limit": 50,
94
+ "order": "desc"
95
+ }'
96
+ ```
97
+
98
+ Filter by component, route, or correlation id:
99
+
100
+ ```bash
101
+ curl -sS "$HARPER_TARGET" \
102
+ -u "$HARPER_USERNAME:$HARPER_PASSWORD" \
103
+ -H 'Content-Type: application/json' \
104
+ --data '{
105
+ "operation": "read_log",
106
+ "filter": "orders",
107
+ "from": "2026-06-16 00:00:00",
108
+ "limit": 100,
109
+ "order": "desc"
110
+ }'
111
+ ```
112
+
113
+ In local `harper dev`, also watch the terminal output. The dev command restarts
114
+ worker threads on file changes and prints console/log output close to the failing
115
+ request. Use `harper run` or a deployed local instance when you need to restart the
116
+ main thread, not only workers.
117
+
118
+ ## Logging from Resources
119
+
120
+ For Resource methods, log enough to identify the request path, authenticated user
121
+ or tenant id, and failing branch without emitting secrets or whole request bodies.
122
+ Prefer structured, searchable messages:
123
+
124
+ ```javascript
125
+ export class Orders extends tables.Orders {
126
+ static async post(data, context) {
127
+ const input = await data;
128
+ console.info('orders.post received', {
129
+ orderId: input.id,
130
+ userId: context.user?.id,
131
+ });
132
+
133
+ try {
134
+ return await super.post(input, context);
135
+ } catch (error) {
136
+ console.error('orders.post failed', {
137
+ orderId: input.id,
138
+ message: error?.message,
139
+ });
140
+ throw error;
141
+ }
142
+ }
143
+ }
144
+ ```
145
+
146
+ Guidance:
147
+
148
+ - Use `console.info` or `console.debug` for normal trace points, and
149
+ `console.warn` / `console.error` for actionable failures.
150
+ - Never log passwords, tokens, cookies, API keys, raw Authorization headers, or
151
+ full personal data payloads.
152
+ - Include a request id or deterministic entity id when the caller can provide one.
153
+ - Remove noisy temporary logs once the root cause is fixed, or lower them to debug.
154
+
155
+ ## Debugging a 500 endpoint
156
+
157
+ When a deployed REST endpoint returns 500, follow this path before changing code:
158
+
159
+ 1. Identify the exact endpoint, method, payload, authenticated user, target URL,
160
+ and timestamp. Save a reproducible `curl` command with headers scrubbed.
161
+ 2. Confirm the component is installed and named as expected:
162
+
163
+ ```bash
164
+ harper get_components target="$HARPER_TARGET" json=true
165
+ ```
166
+
167
+ 3. Read recent errors around the failing timestamp:
168
+
169
+ ```bash
170
+ harper read_log target="$HARPER_TARGET" level=error limit=100 order=desc json=true
171
+ ```
172
+
173
+ 4. Check table/resource shape when the failure mentions a missing table, attribute,
174
+ index, relationship, or schema directive:
175
+
176
+ ```bash
177
+ curl -sS "$HARPER_TARGET" \
178
+ -u "$HARPER_USERNAME:$HARPER_PASSWORD" \
179
+ -H 'Content-Type: application/json' \
180
+ --data '{"operation":"describe_all"}'
181
+ ```
182
+
183
+ 5. Reproduce locally with the same built artifact path:
184
+
185
+ ```bash
186
+ bun run build
187
+ harper dev harper-app
188
+ curl -i http://localhost:9926/<project>/<resource-path>
189
+ ```
190
+
191
+ 6. Isolate the smallest Resource method or table call involved. If the route uses a
192
+ custom Resource, call its underlying table/search operation directly when safe,
193
+ then add one temporary log at the branch boundary that chooses the failing path.
194
+ 7. Fix source files, not generated deploy artifacts. Rebuild and repeat the same
195
+ local `curl`, then repeat the deployed smoke path after redeploy.
196
+
197
+ Treat the incident as unresolved until the same request path returns the expected
198
+ status and the logs no longer show the error.
199
+
200
+ ## Health and deploy checks
201
+
202
+ After deploy or restart, check:
203
+
204
+ - Component inventory: `get_components` includes the expected project and files.
205
+ - System/runtime info: `system_information` returns from the target node.
206
+ - Configuration: `get_configuration` shows the expected operations/API ports,
207
+ `rootPath`, `componentsRoot`, and logging configuration.
208
+ - Schema/data shape: `describe_all` or `describe_table` matches the expected
209
+ database/table definitions and exported tables.
210
+ - Logs: `read_log` has no new error entries for the deploy/restart window.
211
+ - Jobs: `search_jobs_by_start_date` and `get_job` show background work completed
212
+ when deploy, import, backup, or long-running data operations were involved.
213
+ - Public smoke: the project-specific HTTP smoke command passes from the same route
214
+ users will hit. For Fabric, verify through the public route and any direct
215
+ node/region route the project exposes.
216
+
217
+ ## What is not available
218
+
219
+ Do not invent observability that the target does not expose:
220
+
221
+ - If there is no Fabric credential or operations role, you cannot prove remote
222
+ component state; ask for credentials or a trusted operator readback.
223
+ - If the app does not emit a request id, logs may not be attributable to one HTTP
224
+ request. Reproduce in a narrow time window or add a safe correlation id first.
225
+ - If a Fabric project hides direct node/region URLs, verify through the public
226
+ route and record that node-level proof is unavailable.
227
+ - If Harper returns an auth/permission denial for `read_log`,
228
+ `system_information`, or component operations, treat it as an access blocker,
229
+ not as evidence that logs or components are empty.
230
+ - Third-party APM, trace collection, and performance tuning are outside this
231
+ skill. Capture Harper-native facts first, then escalate to the project's
232
+ runbook or platform owner.
233
+
234
+ ## Sources
235
+
236
+ - [Operations API Overview](https://docs.harperdb.io/reference/v5/operations-api/overview)
237
+ - [Operations Reference](https://docs.harperdb.io/reference/v5/operations-api/operations)
238
+ - [Logging Operations](https://docs.harperdb.io/reference/v5/logging/operations)
239
+ - [Applications / Component Operations](https://docs.harperdb.io/reference/v5/components/applications)
@@ -0,0 +1,4 @@
1
+ display_name: "Harper Operations"
2
+ short_description: "operating, monitoring, or…"
3
+ default_prompt:
4
+ - "Use $harper-operations: operating, monitoring, or…."
@@ -0,0 +1,187 @@
1
+ ---
2
+ name: harper-realtime
3
+ description: "adding or troubleshooting…"
4
+ ---
5
+
6
+ # Harper Realtime
7
+
8
+ ## Overview
9
+
10
+ Harper exposes live data through the same Resource model used for REST and
11
+ GraphQL. Exported tables/resources can be addressed as MQTT topics and WebSocket
12
+ paths, while custom resources can override the messaging handlers when the default
13
+ table behavior is not enough.
14
+
15
+ Use real-time primitives when the product needs pushed state: live feeds, activity
16
+ streams, collaborative views, device telemetry, or status updates. Do not replace
17
+ these with client polling unless the issue explicitly asks for polling.
18
+
19
+ ## Resource and topic model
20
+
21
+ - A GraphQL type marked `@table @export` creates a default exported table resource.
22
+ - An exported JavaScript Resource class from `resources.js` creates a resource
23
+ endpoint with the class name as the path/topic root.
24
+ - Resource paths map naturally to subscription targets: collection-level
25
+ subscriptions use the resource name, and record-level subscriptions append the
26
+ record id or path segment.
27
+ - MQTT supports multi-level topics and wildcards. Use `resource/#` for a resource
28
+ subtree and `resource/+/status` for one path segment.
29
+ - WebSocket subscriptions target the REST resource URL. For example,
30
+ `ws://localhost:9926/Activity/123` subscribes to the `Activity` resource record
31
+ with id `123`.
32
+
33
+ Keep the URL/topic names stable. If a UI depends on `Activity/123`, changing the
34
+ resource export name is an API break.
35
+
36
+ ## Resource methods
37
+
38
+ The MQTT plugin routes broker messages through Resource methods:
39
+
40
+ | Method | Use |
41
+ | --- | --- |
42
+ | `subscribe(target, context)` | Authorize and shape subscription reads for a resource or record. |
43
+ | `publish(target, message, context)` | Accept or transform messages written to a topic/resource. |
44
+ | `connect(incomingMessages)` | Customize WebSocket connection behavior for a resource. |
45
+
46
+ For table-backed resources, prefer default behavior until the product needs a
47
+ custom message shape, authorization check, fan-out, or derived event. When
48
+ overriding, preserve built-in table behavior with `super.subscribe(...)` or
49
+ `super.publish(...)` where that behavior is still wanted.
50
+
51
+ ```javascript
52
+ export class Activity extends tables.Activity {
53
+ static async publish(target, message, context) {
54
+ const payload = await message;
55
+ await super.publish(target, payload, context);
56
+ return { ...payload, acceptedAt: Date.now() };
57
+ }
58
+ }
59
+ ```
60
+
61
+ For WebSocket-only behavior, implement `connect(incomingMessages)` and return an
62
+ async iterable. Use the default `super.connect()` stream when you only need to
63
+ push extra server messages or clean up on disconnect.
64
+
65
+ ## Transport choices
66
+
67
+ | Transport | Best fit | Notes |
68
+ | --- | --- | --- |
69
+ | MQTT | Device streams, backend subscribers, wildcard topics, durable clients. | Plain MQTT defaults to port `1883`; MQTTS defaults to `8883`. |
70
+ | MQTT over WebSocket | Browser or edge clients using MQTT semantics. | Uses the HTTP port, default `9926`, with the `mqtt` WebSocket subprotocol. |
71
+ | Resource WebSocket | Browser live views tied to one REST resource path. | Enabled with the `rest` plugin unless `rest.webSocket: false` is set. |
72
+ | SSE/custom streaming route | One-way browser updates when WebSocket is not appropriate. | Implement as a project route; do not assume SSE automatically subscribes to Resource changes. |
73
+
74
+ Authentication is usually required for MQTT. When `mqtt.requireAuthentication` is
75
+ `false`, authorization still applies at the resource/table level, so public
76
+ connections must be explicitly allowed by roles or resource logic.
77
+
78
+ ## config.yaml wiring
79
+
80
+ Component-level `config.yaml` enables the app surface:
81
+
82
+ ```yaml
83
+ rest: true
84
+ graphqlSchema:
85
+ files: schema.graphql
86
+ jsResource:
87
+ files: resources.js
88
+ ```
89
+
90
+ The root Harper `harper-config.yaml`, not the component `config.yaml`, owns broker
91
+ ports and MQTT authentication:
92
+
93
+ ```yaml
94
+ mqtt:
95
+ network:
96
+ port: 1883
97
+ securePort: 8883
98
+ webSocket: true
99
+ requireAuthentication: true
100
+ ```
101
+
102
+ Keep the `rest`, `graphqlSchema`, and `jsResource` declarations together when a
103
+ project has a custom component `config.yaml`. Harper does not merge custom
104
+ component config with defaults. See [[harper-config-yaml]].
105
+
106
+ ## Filtering and message shape
107
+
108
+ - Prefer record-level subscriptions (`Resource/<id>`) when the UI watches one
109
+ entity; use collection or wildcard subscriptions only when the product needs a
110
+ feed.
111
+ - Keep published messages typed and small. Send the changed record or a compact
112
+ event envelope, not a full page payload.
113
+ - Include stable identifiers in custom events: resource name, id, operation, and
114
+ timestamp are usually enough.
115
+ - Treat inaccessible or unauthenticated subscribe attempts as authorization
116
+ failures, not empty streams.
117
+ - Do not disable the audit log for tables that need real-time messages or
118
+ replication; Harper uses it for live subscriptions.
119
+
120
+ ## Fabric and replication
121
+
122
+ For clustered/Fabric deployments, real-time behavior must match the deploy target:
123
+
124
+ - Verify against the same environment that users connect to, not only a local
125
+ single-node process.
126
+ - Use `replicated=true` when deploying a component that needs to run across Fabric
127
+ nodes. See [[harper-build-and-deploy]].
128
+ - Keep event handlers idempotent. A subscriber may reconnect and replay from the
129
+ latest known state.
130
+ - If a bug appears only across nodes, capture the target URL, topic/path, node
131
+ count when known, and the exact publish/subscribe commands in the evidence.
132
+
133
+ ## Local verification
134
+
135
+ 1. Build generated Harper assets from source:
136
+
137
+ ```bash
138
+ bun run build
139
+ ```
140
+
141
+ 2. Start the component:
142
+
143
+ ```bash
144
+ harper dev harper-app
145
+ ```
146
+
147
+ 3. In another shell, subscribe to a topic or WebSocket path:
148
+
149
+ ```bash
150
+ npx mqtt sub -h localhost -p 1883 -u HDB_ADMIN -P "$HARPER_PASSWORD" -t 'Activity/#' -v
151
+ ```
152
+
153
+ ```bash
154
+ npx wscat -c ws://localhost:9926/Activity/123
155
+ ```
156
+
157
+ 4. Publish or mutate the watched record:
158
+
159
+ ```bash
160
+ npx mqtt pub -h localhost -p 1883 -u HDB_ADMIN -P "$HARPER_PASSWORD" -t 'Activity/123' -m '{"status":"live"}'
161
+ ```
162
+
163
+ 5. Confirm the subscriber receives the expected message shape and that a normal
164
+ REST/GraphQL read returns the same resulting state.
165
+
166
+ Record the command, topic/path, payload, and observed message in PR evidence. If a
167
+ local Harper binary or credentials are unavailable, report that blocker instead of
168
+ claiming the subscription was verified.
169
+
170
+ ## Project conventions
171
+
172
+ - Write resource code in TypeScript under `src/`; `harper-app/resources.js` is a
173
+ generated artifact. See [[harper-resources]].
174
+ - If real-time work changes `config.yaml`, update the project Fabric runbook and
175
+ re-run the smoke path. See [[harper-config-yaml]].
176
+ - Prefer a pushed update over a polling workaround when the issue asks for live
177
+ behavior.
178
+ - For Lisa plugin edits, change `plugins/src/harper-fabric`, run
179
+ `bun run build:plugins`, and commit both source and generated plugin copies.
180
+
181
+ ## Sources
182
+
183
+ - [Resources overview](https://docs.harperdb.io/reference/v5/resources/overview)
184
+ - [Resource API](https://docs.harperdb.io/reference/v5/resources/resource-api)
185
+ - [WebSockets](https://docs.harperdb.io/reference/v5/rest/websockets)
186
+ - [MQTT configuration](https://docs.harperdb.io/reference/v4/mqtt/configuration)
187
+ - [Transaction logging](https://docs.harperdb.io/reference/v5/database/transaction)
@@ -0,0 +1,4 @@
1
+ display_name: "Harper Realtime"
2
+ short_description: "adding or troubleshooting…"
3
+ default_prompt:
4
+ - "Use $harper-realtime: adding or troubleshooting…."
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: harper-resources
3
+ description: "writing or editing Harper…"
4
+ ---
5
+
6
+ # Harper Resources
7
+
8
+ ## Overview
9
+
10
+ A **Resource** is a class that provides a unified interface for a set of records or
11
+ entities. Resources are how you add custom server-side behavior to a Harper app.
12
+ They are loaded by the `jsResource` extension (default file `resources.js`) and,
13
+ when **exported**, become live REST and GraphQL endpoints.
14
+
15
+ A resource either **extends a database table** (to customize an existing table's
16
+ behavior) or **extends the base `Resource` class** (to expose data from anywhere —
17
+ an external API, a computed view, an in-memory source).
18
+
19
+ ## Method → HTTP verb mapping
20
+
21
+ The Resource API mirrors REST. Override the method matching the operation you want
22
+ to customize:
23
+
24
+ | Method | HTTP | Use |
25
+ | --- | --- | --- |
26
+ | `get(target)` | GET | Retrieve a record/collection |
27
+ | `post(data)` | POST | Create |
28
+ | `put(target, data)` | PUT | Replace |
29
+ | `patch(target, data)` | PATCH | Partial update |
30
+ | `delete(target)` | DELETE | Remove |
31
+ | `search(query)` | GET (query) | Query with conditions |
32
+ | `subscribe` / `publish` | MQTT/WebSocket | Real-time |
33
+
34
+ ## Extending a table
35
+
36
+ Add computed fields or guard logic while keeping the table's built-in behavior via
37
+ `super`:
38
+
39
+ ```javascript
40
+ export class MyTable extends tables.MyTable {
41
+ static async get(target) {
42
+ const record = await super.get(target);
43
+ return { ...record, computedField: 'value' };
44
+ }
45
+ }
46
+ ```
47
+
48
+ ## Wrapping an external source
49
+
50
+ ```javascript
51
+ export class MyExternalData extends Resource {
52
+ static async get(target) {
53
+ const response = await fetch(`https://api.example.com/${target.id}`);
54
+ return response.json();
55
+ }
56
+ }
57
+ ```
58
+
59
+ ## Making a resource an endpoint
60
+
61
+ A resource becomes an endpoint when it is **exported** and `rest: true` (and/or
62
+ `graphqlSchema`) is enabled in `config.yaml`:
63
+
64
+ ```yaml
65
+ rest: true
66
+ graphqlSchema:
67
+ files: schema.graphql
68
+ jsResource:
69
+ files: resources.js
70
+ ```
71
+
72
+ Resources can also be registered programmatically with `server.resources.set()`.
73
+ See [[harper-config-yaml]] for the extension wiring, [[harper-schema-graphql]] for
74
+ how the schema defines the tables resources extend, and [[harper-realtime]] when
75
+ `subscribe`, `publish`, or WebSocket behavior is part of the feature.
76
+
77
+ ## Throwing HTTP status errors
78
+
79
+ Harper's thrown-error response writer reads **`error.statusCode`** (falling back
80
+ to `500`). A plain `error.status` is **ignored** — throw an error with only
81
+ `status` set and every intended `4xx` is served as a `500`. Verified on
82
+ harperdb 4.7.32.
83
+
84
+ Always set `statusCode` (keep `status` too only if callers or tests read it):
85
+
86
+ ```javascript
87
+ static async post(target, data, context) {
88
+ if (!context.user) {
89
+ const error = new Error('Authentication required');
90
+ error.statusCode = 401; // NOT `error.status` — Harper reads statusCode
91
+ throw error;
92
+ }
93
+ // ...
94
+ }
95
+ ```
96
+
97
+ A shared helper keeps every throw site correct:
98
+
99
+ ```javascript
100
+ function throwStatus(message, status) {
101
+ // Set both: `statusCode` is what Harper serves; `status` is kept for
102
+ // returned-response symmetry and any caller/test that reads it.
103
+ throw Object.assign(new Error(message), { status, statusCode: status });
104
+ }
105
+ ```
106
+
107
+ The `harper-require-statuscode-on-thrown-error` ast-grep rule flags errors that
108
+ carry `status` without `statusCode`. Pass `context` through to `super` and nested
109
+ table calls so authorization and the request transaction stay aligned — see
110
+ [[harper-rest-queries]] for context propagation and iterator draining.
111
+
112
+ ## Project conventions (TS is source)
113
+
114
+ - **Write resources in TypeScript under `src/`. `harper-app/resources.js` is a
115
+ generated artifact** produced by `bun run build`. Never edit `resources.js` by
116
+ hand — change the TypeScript and rebuild. See [[harper-build-and-deploy]].
117
+ - Operational scripts that touch resources (seed, smoke, verify, ingest, crawl,
118
+ extraction) must run from compiled JavaScript or generated Harper assets, not
119
+ stale checked-in JS.
120
+ - Prefer immutable data flow: `readonly` types, pure transformations, copies, and
121
+ explicit returns. Do not mutate parameters, records, arrays, or config objects
122
+ unless an API forces it, and document the exception locally.
123
+ - Avoid `any`, broad casts, and `ts-ignore`. If an external API forces an escape
124
+ hatch, isolate it behind a typed adapter.
125
+
126
+ ## Build the real thing
127
+
128
+ If an endpoint needs a schema change, a seed path, or a deploy script change, make
129
+ that change — do not ship a client-side workaround or silently downgrade to a stub
130
+ or mock. A change is unfinished until the local build and the relevant deployed or
131
+ smoke path agree.
132
+
133
+ ## Verification
134
+
135
+ Run `bun run build`, `bun run typecheck`, and the smallest relevant test. For an
136
+ endpoint change, also hit the actual REST/GraphQL route against a local or deployed
137
+ Harper instance (the project smoke command) and confirm the response shape.
138
+
139
+ ## Sources
140
+
141
+ - [Resources overview](https://docs.harperdb.io/reference/v5/resources/overview)
142
+ - [Applications](https://docs.harperdb.io/docs/developers/applications)
@@ -0,0 +1,4 @@
1
+ display_name: "Harper Resources"
2
+ short_description: "writing or editing Harper…"
3
+ default_prompt:
4
+ - "Use $harper-resources: writing or editing Harper…."