@codyswann/lisa 1.48.0 → 1.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (863) hide show
  1. package/.claude-plugin/marketplace.json +48 -0
  2. package/all/deletions.json +5 -1
  3. package/all/merge/.claude/settings.json +28 -0
  4. package/cdk/copy-overwrite/eslint.config.ts +11 -21
  5. package/cdk/copy-overwrite/eslint.slow.config.ts +4 -73
  6. package/cdk/copy-overwrite/jest.config.ts +14 -12
  7. package/cdk/copy-overwrite/tsconfig.json +1 -1
  8. package/cdk/merge/.claude/settings.json +29 -0
  9. package/cdk/package-lisa/package.lisa.json +1 -0
  10. package/dist/configs/eslint/base.d.ts +1491 -0
  11. package/dist/configs/eslint/base.d.ts.map +1 -0
  12. package/dist/configs/eslint/base.js +386 -0
  13. package/dist/configs/eslint/base.js.map +1 -0
  14. package/dist/configs/eslint/cdk.d.ts +32 -0
  15. package/dist/configs/eslint/cdk.d.ts.map +1 -0
  16. package/dist/configs/eslint/cdk.js +127 -0
  17. package/dist/configs/eslint/cdk.js.map +1 -0
  18. package/dist/configs/eslint/expo.d.ts +16 -0
  19. package/dist/configs/eslint/expo.d.ts.map +1 -0
  20. package/dist/configs/eslint/expo.js +264 -0
  21. package/dist/configs/eslint/expo.js.map +1 -0
  22. package/dist/configs/eslint/index.d.ts +18 -0
  23. package/dist/configs/eslint/index.d.ts.map +1 -0
  24. package/dist/configs/eslint/index.js +18 -0
  25. package/dist/configs/eslint/index.js.map +1 -0
  26. package/dist/configs/eslint/nestjs.d.ts +32 -0
  27. package/dist/configs/eslint/nestjs.d.ts.map +1 -0
  28. package/dist/configs/eslint/nestjs.js +128 -0
  29. package/dist/configs/eslint/nestjs.js.map +1 -0
  30. package/dist/configs/eslint/slow.d.ts +80 -0
  31. package/dist/configs/eslint/slow.d.ts.map +1 -0
  32. package/dist/configs/eslint/slow.js +83 -0
  33. package/dist/configs/eslint/slow.js.map +1 -0
  34. package/dist/configs/eslint/typescript.d.ts +19 -0
  35. package/dist/configs/eslint/typescript.d.ts.map +1 -0
  36. package/dist/configs/eslint/typescript.js +81 -0
  37. package/dist/configs/eslint/typescript.js.map +1 -0
  38. package/{typescript/copy-overwrite/jest.base.ts → dist/configs/jest/base.d.ts} +9 -69
  39. package/dist/configs/jest/base.d.ts.map +1 -0
  40. package/dist/configs/jest/base.js +83 -0
  41. package/dist/configs/jest/base.js.map +1 -0
  42. package/dist/configs/jest/cdk.d.ts +35 -0
  43. package/dist/configs/jest/cdk.d.ts.map +1 -0
  44. package/dist/configs/jest/cdk.js +30 -0
  45. package/dist/configs/jest/cdk.js.map +1 -0
  46. package/dist/configs/jest/expo.d.ts +56 -0
  47. package/dist/configs/jest/expo.d.ts.map +1 -0
  48. package/dist/configs/jest/expo.js +60 -0
  49. package/dist/configs/jest/expo.js.map +1 -0
  50. package/dist/configs/jest/index.d.ts +14 -0
  51. package/dist/configs/jest/index.d.ts.map +1 -0
  52. package/dist/configs/jest/index.js +14 -0
  53. package/dist/configs/jest/index.js.map +1 -0
  54. package/dist/configs/jest/nestjs.d.ts +35 -0
  55. package/dist/configs/jest/nestjs.d.ts.map +1 -0
  56. package/dist/configs/jest/nestjs.js +47 -0
  57. package/dist/configs/jest/nestjs.js.map +1 -0
  58. package/dist/configs/jest/typescript.d.ts +31 -0
  59. package/dist/configs/jest/typescript.d.ts.map +1 -0
  60. package/dist/configs/jest/typescript.js +34 -0
  61. package/dist/configs/jest/typescript.js.map +1 -0
  62. package/expo/copy-overwrite/eslint.config.ts +5 -20
  63. package/expo/copy-overwrite/eslint.slow.config.ts +4 -90
  64. package/expo/copy-overwrite/jest.config.ts +14 -12
  65. package/expo/copy-overwrite/tsconfig.json +1 -1
  66. package/expo/merge/.claude/settings.json +29 -0
  67. package/expo/package-lisa/package.lisa.json +1 -10
  68. package/nestjs/copy-overwrite/eslint.config.ts +5 -20
  69. package/nestjs/copy-overwrite/eslint.slow.config.ts +4 -89
  70. package/nestjs/copy-overwrite/jest.config.ts +14 -12
  71. package/nestjs/copy-overwrite/tsconfig.json +1 -1
  72. package/nestjs/merge/.claude/settings.json +29 -0
  73. package/nestjs/package-lisa/package.lisa.json +1 -0
  74. package/package.json +82 -43
  75. package/plugins/lisa-cdk/.claude-plugin/plugin.json +86 -0
  76. package/plugins/lisa-cdk/agents/agent-architect.md +310 -0
  77. package/plugins/lisa-cdk/agents/architecture-specialist.md +53 -0
  78. package/plugins/lisa-cdk/agents/debug-specialist.md +204 -0
  79. package/plugins/lisa-cdk/agents/git-history-analyzer.md +183 -0
  80. package/plugins/lisa-cdk/agents/hooks-expert.md +74 -0
  81. package/plugins/lisa-cdk/agents/implementer.md +54 -0
  82. package/plugins/lisa-cdk/agents/learner.md +44 -0
  83. package/plugins/lisa-cdk/agents/performance-specialist.md +95 -0
  84. package/plugins/lisa-cdk/agents/product-specialist.md +72 -0
  85. package/plugins/lisa-cdk/agents/quality-specialist.md +55 -0
  86. package/plugins/lisa-cdk/agents/security-specialist.md +58 -0
  87. package/plugins/lisa-cdk/agents/skill-evaluator.md +246 -0
  88. package/plugins/lisa-cdk/agents/slash-command-architect.md +87 -0
  89. package/plugins/lisa-cdk/agents/test-specialist.md +64 -0
  90. package/plugins/lisa-cdk/agents/verification-specialist.md +189 -0
  91. package/plugins/lisa-cdk/agents/web-search-researcher.md +112 -0
  92. package/plugins/lisa-cdk/commands/git-commit-and-submit-pr.md +7 -0
  93. package/plugins/lisa-cdk/commands/git-commit-submit-pr-and-verify.md +7 -0
  94. package/plugins/lisa-cdk/commands/git-commit-submit-pr-deploy-and-verify.md +7 -0
  95. package/plugins/lisa-cdk/commands/git-commit.md +7 -0
  96. package/plugins/lisa-cdk/commands/git-prune.md +6 -0
  97. package/plugins/lisa-cdk/commands/git-submit-pr.md +7 -0
  98. package/plugins/lisa-cdk/commands/jira-add-journey.md +7 -0
  99. package/plugins/lisa-cdk/commands/jira-create.md +7 -0
  100. package/plugins/lisa-cdk/commands/jira-evidence.md +7 -0
  101. package/plugins/lisa-cdk/commands/jira-fix.md +7 -0
  102. package/plugins/lisa-cdk/commands/jira-implement.md +7 -0
  103. package/plugins/lisa-cdk/commands/jira-journey.md +7 -0
  104. package/plugins/lisa-cdk/commands/jira-sync.md +7 -0
  105. package/plugins/lisa-cdk/commands/jira-verify.md +7 -0
  106. package/plugins/lisa-cdk/commands/lisa-review-implementation.md +7 -0
  107. package/plugins/lisa-cdk/commands/plan-add-test-coverage.md +7 -0
  108. package/plugins/lisa-cdk/commands/plan-create.md +6 -0
  109. package/plugins/lisa-cdk/commands/plan-execute.md +7 -0
  110. package/plugins/lisa-cdk/commands/plan-fix-linter-error.md +7 -0
  111. package/plugins/lisa-cdk/commands/plan-local-code-review.md +6 -0
  112. package/plugins/lisa-cdk/commands/plan-lower-code-complexity.md +6 -0
  113. package/plugins/lisa-cdk/commands/plan-reduce-max-lines-per-function.md +7 -0
  114. package/plugins/lisa-cdk/commands/plan-reduce-max-lines.md +7 -0
  115. package/plugins/lisa-cdk/commands/pull-request-review.md +7 -0
  116. package/plugins/lisa-cdk/commands/security-zap-scan.md +6 -0
  117. package/plugins/lisa-cdk/commands/sonarqube-check.md +6 -0
  118. package/plugins/lisa-cdk/commands/sonarqube-fix.md +6 -0
  119. package/plugins/lisa-cdk/commands/tasks-load.md +7 -0
  120. package/plugins/lisa-cdk/commands/tasks-sync.md +7 -0
  121. package/plugins/lisa-cdk/hooks/debug-hook.sh +47 -0
  122. package/plugins/lisa-cdk/hooks/enforce-plan-rules.sh +15 -0
  123. package/plugins/lisa-cdk/hooks/format-on-edit.sh +76 -0
  124. package/plugins/lisa-cdk/hooks/install-pkgs.sh +64 -0
  125. package/plugins/lisa-cdk/hooks/lint-on-edit.sh +81 -0
  126. package/plugins/lisa-cdk/hooks/notify-ntfy.sh +183 -0
  127. package/plugins/lisa-cdk/hooks/setup-jira-cli.sh +52 -0
  128. package/plugins/lisa-cdk/hooks/sg-scan-on-edit.sh +68 -0
  129. package/plugins/lisa-cdk/hooks/sync-tasks.sh +107 -0
  130. package/plugins/lisa-cdk/hooks/ticket-sync-reminder.sh +23 -0
  131. package/plugins/lisa-cdk/hooks/track-plan-sessions.sh +164 -0
  132. package/plugins/lisa-cdk/hooks/verify-completion.sh +77 -0
  133. package/plugins/lisa-cdk/rules/coding-philosophy.md +428 -0
  134. package/plugins/lisa-cdk/rules/lisa.md +37 -0
  135. package/plugins/lisa-cdk/rules/verfication.md +596 -0
  136. package/plugins/lisa-cdk/skills/agent-design-best-practices/SKILL.md +219 -0
  137. package/plugins/lisa-cdk/skills/git-commit/SKILL.md +48 -0
  138. package/plugins/lisa-cdk/skills/git-commit-and-submit-pr/SKILL.md +8 -0
  139. package/plugins/lisa-cdk/skills/git-commit-submit-pr-and-verify/SKILL.md +7 -0
  140. package/plugins/lisa-cdk/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +7 -0
  141. package/plugins/lisa-cdk/skills/git-prune/SKILL.md +35 -0
  142. package/plugins/lisa-cdk/skills/git-submit-pr/SKILL.md +44 -0
  143. package/plugins/lisa-cdk/skills/jira-add-journey/SKILL.md +120 -0
  144. package/plugins/lisa-cdk/skills/jira-create/SKILL.md +95 -0
  145. package/plugins/lisa-cdk/skills/jira-evidence/SKILL.md +73 -0
  146. package/plugins/lisa-cdk/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  147. package/plugins/lisa-cdk/skills/jira-fix/SKILL.md +16 -0
  148. package/plugins/lisa-cdk/skills/jira-implement/SKILL.md +18 -0
  149. package/plugins/lisa-cdk/skills/jira-journey/SKILL.md +125 -0
  150. package/plugins/lisa-cdk/skills/jira-journey/scripts/generate-templates.py +233 -0
  151. package/plugins/lisa-cdk/skills/jira-journey/scripts/parse-plan.py +368 -0
  152. package/plugins/lisa-cdk/skills/jira-sync/SKILL.md +63 -0
  153. package/plugins/lisa-cdk/skills/jira-verify/SKILL.md +48 -0
  154. package/plugins/lisa-cdk/skills/jsdoc-best-practices/SKILL.md +432 -0
  155. package/plugins/lisa-cdk/skills/lisa-review-implementation/SKILL.md +209 -0
  156. package/plugins/lisa-cdk/skills/plan-add-test-coverage/SKILL.md +44 -0
  157. package/plugins/lisa-cdk/skills/plan-execute/SKILL.md +89 -0
  158. package/plugins/lisa-cdk/skills/plan-fix-linter-error/SKILL.md +45 -0
  159. package/plugins/lisa-cdk/skills/plan-local-code-review/SKILL.md +88 -0
  160. package/plugins/lisa-cdk/skills/plan-lower-code-complexity/SKILL.md +44 -0
  161. package/plugins/lisa-cdk/skills/plan-reduce-max-lines/SKILL.md +45 -0
  162. package/plugins/lisa-cdk/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
  163. package/plugins/lisa-cdk/skills/pull-request-review/SKILL.md +68 -0
  164. package/plugins/lisa-cdk/skills/security-zap-scan/SKILL.md +33 -0
  165. package/plugins/lisa-cdk/skills/skill-creator/LICENSE.txt +202 -0
  166. package/plugins/lisa-cdk/skills/skill-creator/SKILL.md +210 -0
  167. package/plugins/lisa-cdk/skills/skill-creator/scripts/init_skill.py +305 -0
  168. package/plugins/lisa-cdk/skills/skill-creator/scripts/package_skill.py +112 -0
  169. package/plugins/lisa-cdk/skills/skill-creator/scripts/quick_validate.py +67 -0
  170. package/plugins/lisa-cdk/skills/sonarqube-check/SKILL.md +11 -0
  171. package/plugins/lisa-cdk/skills/sonarqube-fix/SKILL.md +8 -0
  172. package/plugins/lisa-cdk/skills/tasks-load/SKILL.md +88 -0
  173. package/plugins/lisa-cdk/skills/tasks-sync/SKILL.md +108 -0
  174. package/plugins/lisa-expo/.claude-plugin/plugin.json +86 -0
  175. package/plugins/lisa-expo/agents/agent-architect.md +310 -0
  176. package/plugins/lisa-expo/agents/architecture-specialist.md +53 -0
  177. package/plugins/lisa-expo/agents/debug-specialist.md +204 -0
  178. package/plugins/lisa-expo/agents/git-history-analyzer.md +183 -0
  179. package/plugins/lisa-expo/agents/hooks-expert.md +74 -0
  180. package/plugins/lisa-expo/agents/implementer.md +54 -0
  181. package/plugins/lisa-expo/agents/learner.md +44 -0
  182. package/plugins/lisa-expo/agents/ops-specialist.md +124 -0
  183. package/plugins/lisa-expo/agents/performance-specialist.md +95 -0
  184. package/plugins/lisa-expo/agents/product-specialist.md +72 -0
  185. package/plugins/lisa-expo/agents/quality-specialist.md +55 -0
  186. package/plugins/lisa-expo/agents/security-specialist.md +58 -0
  187. package/plugins/lisa-expo/agents/skill-evaluator.md +246 -0
  188. package/plugins/lisa-expo/agents/slash-command-architect.md +87 -0
  189. package/plugins/lisa-expo/agents/test-specialist.md +64 -0
  190. package/plugins/lisa-expo/agents/verification-specialist.md +189 -0
  191. package/plugins/lisa-expo/agents/web-search-researcher.md +112 -0
  192. package/plugins/lisa-expo/commands/git-commit-and-submit-pr.md +7 -0
  193. package/plugins/lisa-expo/commands/git-commit-submit-pr-and-verify.md +7 -0
  194. package/plugins/lisa-expo/commands/git-commit-submit-pr-deploy-and-verify.md +7 -0
  195. package/plugins/lisa-expo/commands/git-commit.md +7 -0
  196. package/plugins/lisa-expo/commands/git-prune.md +6 -0
  197. package/plugins/lisa-expo/commands/git-submit-pr.md +7 -0
  198. package/plugins/lisa-expo/commands/jira-add-journey.md +7 -0
  199. package/plugins/lisa-expo/commands/jira-create.md +7 -0
  200. package/plugins/lisa-expo/commands/jira-evidence.md +7 -0
  201. package/plugins/lisa-expo/commands/jira-fix.md +7 -0
  202. package/plugins/lisa-expo/commands/jira-implement.md +7 -0
  203. package/plugins/lisa-expo/commands/jira-journey.md +7 -0
  204. package/plugins/lisa-expo/commands/jira-sync.md +7 -0
  205. package/plugins/lisa-expo/commands/jira-verify.md +7 -0
  206. package/plugins/lisa-expo/commands/lisa-review-implementation.md +7 -0
  207. package/plugins/lisa-expo/commands/plan-add-test-coverage.md +7 -0
  208. package/plugins/lisa-expo/commands/plan-create.md +6 -0
  209. package/plugins/lisa-expo/commands/plan-execute.md +7 -0
  210. package/plugins/lisa-expo/commands/plan-fix-linter-error.md +7 -0
  211. package/plugins/lisa-expo/commands/plan-local-code-review.md +6 -0
  212. package/plugins/lisa-expo/commands/plan-lower-code-complexity.md +6 -0
  213. package/plugins/lisa-expo/commands/plan-reduce-max-lines-per-function.md +7 -0
  214. package/plugins/lisa-expo/commands/plan-reduce-max-lines.md +7 -0
  215. package/plugins/lisa-expo/commands/pull-request-review.md +7 -0
  216. package/plugins/lisa-expo/commands/security-zap-scan.md +6 -0
  217. package/plugins/lisa-expo/commands/sonarqube-check.md +6 -0
  218. package/plugins/lisa-expo/commands/sonarqube-fix.md +6 -0
  219. package/plugins/lisa-expo/commands/tasks-load.md +7 -0
  220. package/plugins/lisa-expo/commands/tasks-sync.md +7 -0
  221. package/plugins/lisa-expo/hooks/debug-hook.sh +47 -0
  222. package/plugins/lisa-expo/hooks/enforce-plan-rules.sh +15 -0
  223. package/plugins/lisa-expo/hooks/format-on-edit.sh +76 -0
  224. package/plugins/lisa-expo/hooks/install-pkgs.sh +64 -0
  225. package/plugins/lisa-expo/hooks/lint-on-edit.sh +81 -0
  226. package/plugins/lisa-expo/hooks/notify-ntfy.sh +183 -0
  227. package/plugins/lisa-expo/hooks/setup-jira-cli.sh +52 -0
  228. package/plugins/lisa-expo/hooks/sg-scan-on-edit.sh +68 -0
  229. package/plugins/lisa-expo/hooks/sync-tasks.sh +107 -0
  230. package/plugins/lisa-expo/hooks/ticket-sync-reminder.sh +23 -0
  231. package/plugins/lisa-expo/hooks/track-plan-sessions.sh +164 -0
  232. package/plugins/lisa-expo/hooks/verify-completion.sh +77 -0
  233. package/plugins/lisa-expo/rules/README.md +240 -0
  234. package/plugins/lisa-expo/rules/coding-philosophy.md +428 -0
  235. package/plugins/lisa-expo/rules/expo-verification.md +261 -0
  236. package/plugins/lisa-expo/rules/lisa.md +37 -0
  237. package/plugins/lisa-expo/rules/verfication.md +596 -0
  238. package/plugins/lisa-expo/skills/agent-design-best-practices/SKILL.md +219 -0
  239. package/plugins/lisa-expo/skills/apollo-client/SKILL.md +238 -0
  240. package/plugins/lisa-expo/skills/apollo-client/references/mutation-patterns.md +360 -0
  241. package/plugins/lisa-expo/skills/atomic-design-gluestack/SKILL.md +360 -0
  242. package/plugins/lisa-expo/skills/atomic-design-gluestack/references/atomic-levels.md +417 -0
  243. package/plugins/lisa-expo/skills/atomic-design-gluestack/references/folder-structure.md +257 -0
  244. package/plugins/lisa-expo/skills/atomic-design-gluestack/references/gluestack-mapping.md +233 -0
  245. package/plugins/lisa-expo/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +329 -0
  246. package/plugins/lisa-expo/skills/container-view-pattern/SKILL.md +299 -0
  247. package/plugins/lisa-expo/skills/container-view-pattern/references/examples.md +749 -0
  248. package/plugins/lisa-expo/skills/container-view-pattern/references/patterns.md +318 -0
  249. package/plugins/lisa-expo/skills/container-view-pattern/scripts/create_component.py +200 -0
  250. package/plugins/lisa-expo/skills/container-view-pattern/scripts/validate_component.py +209 -0
  251. package/plugins/lisa-expo/skills/cross-platform-compatibility/SKILL.md +268 -0
  252. package/plugins/lisa-expo/skills/cross-platform-compatibility/references/common-issues.md +619 -0
  253. package/plugins/lisa-expo/skills/cross-platform-compatibility/references/file-extensions.md +340 -0
  254. package/plugins/lisa-expo/skills/cross-platform-compatibility/references/platform-api.md +276 -0
  255. package/plugins/lisa-expo/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +416 -0
  256. package/plugins/lisa-expo/skills/directory-structure/SKILL.md +202 -0
  257. package/plugins/lisa-expo/skills/directory-structure/scripts/validate_structure.py +445 -0
  258. package/plugins/lisa-expo/skills/expo-env-config/SKILL.md +309 -0
  259. package/plugins/lisa-expo/skills/expo-env-config/references/validation-patterns.md +417 -0
  260. package/plugins/lisa-expo/skills/expo-router-best-practices/SKILL.md +431 -0
  261. package/plugins/lisa-expo/skills/expo-router-best-practices/references/official-docs.md +290 -0
  262. package/plugins/lisa-expo/skills/expo-router-best-practices/scripts/generate-route.py +171 -0
  263. package/plugins/lisa-expo/skills/git-commit/SKILL.md +48 -0
  264. package/plugins/lisa-expo/skills/git-commit-and-submit-pr/SKILL.md +8 -0
  265. package/plugins/lisa-expo/skills/git-commit-submit-pr-and-verify/SKILL.md +7 -0
  266. package/plugins/lisa-expo/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +7 -0
  267. package/plugins/lisa-expo/skills/git-prune/SKILL.md +35 -0
  268. package/plugins/lisa-expo/skills/git-submit-pr/SKILL.md +44 -0
  269. package/plugins/lisa-expo/skills/gluestack-nativewind/SKILL.md +411 -0
  270. package/plugins/lisa-expo/skills/gluestack-nativewind/references/color-tokens.md +343 -0
  271. package/plugins/lisa-expo/skills/gluestack-nativewind/references/component-mapping.md +307 -0
  272. package/plugins/lisa-expo/skills/gluestack-nativewind/references/spacing-scale.md +300 -0
  273. package/plugins/lisa-expo/skills/gluestack-nativewind/scripts/validate_styling.py +315 -0
  274. package/plugins/lisa-expo/skills/jira-add-journey/SKILL.md +126 -0
  275. package/plugins/lisa-expo/skills/jira-create/SKILL.md +101 -0
  276. package/plugins/lisa-expo/skills/jira-evidence/SKILL.md +78 -0
  277. package/plugins/lisa-expo/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  278. package/plugins/lisa-expo/skills/jira-fix/SKILL.md +16 -0
  279. package/plugins/lisa-expo/skills/jira-implement/SKILL.md +18 -0
  280. package/plugins/lisa-expo/skills/jira-journey/SKILL.md +190 -0
  281. package/plugins/lisa-expo/skills/jira-journey/scripts/generate-templates.py +281 -0
  282. package/plugins/lisa-expo/skills/jira-journey/scripts/parse-plan.py +368 -0
  283. package/plugins/lisa-expo/skills/jira-sync/SKILL.md +63 -0
  284. package/plugins/lisa-expo/skills/jira-verify/SKILL.md +47 -0
  285. package/plugins/lisa-expo/skills/jsdoc-best-practices/SKILL.md +432 -0
  286. package/plugins/lisa-expo/skills/lisa-review-implementation/SKILL.md +209 -0
  287. package/plugins/lisa-expo/skills/local-state/SKILL.md +362 -0
  288. package/plugins/lisa-expo/skills/local-state/references/async-storage.md +505 -0
  289. package/plugins/lisa-expo/skills/local-state/references/persistence-patterns.md +711 -0
  290. package/plugins/lisa-expo/skills/local-state/references/reactive-variables.md +446 -0
  291. package/plugins/lisa-expo/skills/ops-browser-uat/SKILL.md +124 -0
  292. package/plugins/lisa-expo/skills/ops-check-logs/SKILL.md +211 -0
  293. package/plugins/lisa-expo/skills/ops-db-ops/SKILL.md +119 -0
  294. package/plugins/lisa-expo/skills/ops-deploy/SKILL.md +119 -0
  295. package/plugins/lisa-expo/skills/ops-monitor-errors/SKILL.md +99 -0
  296. package/plugins/lisa-expo/skills/ops-performance/SKILL.md +165 -0
  297. package/plugins/lisa-expo/skills/ops-run-local/SKILL.md +166 -0
  298. package/plugins/lisa-expo/skills/ops-verify-health/SKILL.md +101 -0
  299. package/plugins/lisa-expo/skills/owasp-zap/SKILL.md +56 -0
  300. package/plugins/lisa-expo/skills/plan-add-test-coverage/SKILL.md +44 -0
  301. package/plugins/lisa-expo/skills/plan-execute/SKILL.md +89 -0
  302. package/plugins/lisa-expo/skills/plan-fix-linter-error/SKILL.md +45 -0
  303. package/plugins/lisa-expo/skills/plan-local-code-review/SKILL.md +88 -0
  304. package/plugins/lisa-expo/skills/plan-lower-code-complexity/SKILL.md +44 -0
  305. package/plugins/lisa-expo/skills/plan-reduce-max-lines/SKILL.md +45 -0
  306. package/plugins/lisa-expo/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
  307. package/plugins/lisa-expo/skills/playwright-selectors/SKILL.md +223 -0
  308. package/plugins/lisa-expo/skills/pull-request-review/SKILL.md +68 -0
  309. package/plugins/lisa-expo/skills/security-zap-scan/SKILL.md +33 -0
  310. package/plugins/lisa-expo/skills/skill-creator/LICENSE.txt +202 -0
  311. package/plugins/lisa-expo/skills/skill-creator/SKILL.md +210 -0
  312. package/plugins/lisa-expo/skills/skill-creator/scripts/init_skill.py +305 -0
  313. package/plugins/lisa-expo/skills/skill-creator/scripts/package_skill.py +112 -0
  314. package/plugins/lisa-expo/skills/skill-creator/scripts/quick_validate.py +67 -0
  315. package/plugins/lisa-expo/skills/sonarqube-check/SKILL.md +11 -0
  316. package/plugins/lisa-expo/skills/sonarqube-fix/SKILL.md +8 -0
  317. package/plugins/lisa-expo/skills/tasks-load/SKILL.md +88 -0
  318. package/plugins/lisa-expo/skills/tasks-sync/SKILL.md +108 -0
  319. package/plugins/lisa-expo/skills/testing-library/SKILL.md +314 -0
  320. package/plugins/lisa-expo/skills/testing-library/references/async-patterns.md +420 -0
  321. package/plugins/lisa-expo/skills/testing-library/references/expo-router-testing.md +556 -0
  322. package/plugins/lisa-expo/skills/testing-library/references/mocking-patterns.md +590 -0
  323. package/plugins/lisa-expo/skills/testing-library/references/query-priority.md +291 -0
  324. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +86 -0
  325. package/plugins/lisa-nestjs/agents/agent-architect.md +310 -0
  326. package/plugins/lisa-nestjs/agents/architecture-specialist.md +53 -0
  327. package/plugins/lisa-nestjs/agents/debug-specialist.md +204 -0
  328. package/plugins/lisa-nestjs/agents/git-history-analyzer.md +183 -0
  329. package/plugins/lisa-nestjs/agents/hooks-expert.md +74 -0
  330. package/plugins/lisa-nestjs/agents/implementer.md +54 -0
  331. package/plugins/lisa-nestjs/agents/learner.md +44 -0
  332. package/plugins/lisa-nestjs/agents/performance-specialist.md +95 -0
  333. package/plugins/lisa-nestjs/agents/product-specialist.md +72 -0
  334. package/plugins/lisa-nestjs/agents/quality-specialist.md +55 -0
  335. package/plugins/lisa-nestjs/agents/security-specialist.md +58 -0
  336. package/plugins/lisa-nestjs/agents/skill-evaluator.md +246 -0
  337. package/plugins/lisa-nestjs/agents/slash-command-architect.md +87 -0
  338. package/plugins/lisa-nestjs/agents/test-specialist.md +64 -0
  339. package/plugins/lisa-nestjs/agents/verification-specialist.md +189 -0
  340. package/plugins/lisa-nestjs/agents/web-search-researcher.md +112 -0
  341. package/plugins/lisa-nestjs/commands/git-commit-and-submit-pr.md +7 -0
  342. package/plugins/lisa-nestjs/commands/git-commit-submit-pr-and-verify.md +7 -0
  343. package/plugins/lisa-nestjs/commands/git-commit-submit-pr-deploy-and-verify.md +7 -0
  344. package/plugins/lisa-nestjs/commands/git-commit.md +7 -0
  345. package/plugins/lisa-nestjs/commands/git-prune.md +6 -0
  346. package/plugins/lisa-nestjs/commands/git-submit-pr.md +7 -0
  347. package/plugins/lisa-nestjs/commands/jira-add-journey.md +7 -0
  348. package/plugins/lisa-nestjs/commands/jira-create.md +7 -0
  349. package/plugins/lisa-nestjs/commands/jira-evidence.md +7 -0
  350. package/plugins/lisa-nestjs/commands/jira-fix.md +7 -0
  351. package/plugins/lisa-nestjs/commands/jira-implement.md +7 -0
  352. package/plugins/lisa-nestjs/commands/jira-journey.md +7 -0
  353. package/plugins/lisa-nestjs/commands/jira-sync.md +7 -0
  354. package/plugins/lisa-nestjs/commands/jira-verify.md +7 -0
  355. package/plugins/lisa-nestjs/commands/lisa-review-implementation.md +7 -0
  356. package/plugins/lisa-nestjs/commands/plan-add-test-coverage.md +7 -0
  357. package/plugins/lisa-nestjs/commands/plan-create.md +6 -0
  358. package/plugins/lisa-nestjs/commands/plan-execute.md +7 -0
  359. package/plugins/lisa-nestjs/commands/plan-fix-linter-error.md +7 -0
  360. package/plugins/lisa-nestjs/commands/plan-local-code-review.md +6 -0
  361. package/plugins/lisa-nestjs/commands/plan-lower-code-complexity.md +6 -0
  362. package/plugins/lisa-nestjs/commands/plan-reduce-max-lines-per-function.md +7 -0
  363. package/plugins/lisa-nestjs/commands/plan-reduce-max-lines.md +7 -0
  364. package/plugins/lisa-nestjs/commands/pull-request-review.md +7 -0
  365. package/plugins/lisa-nestjs/commands/security-zap-scan.md +6 -0
  366. package/plugins/lisa-nestjs/commands/sonarqube-check.md +6 -0
  367. package/plugins/lisa-nestjs/commands/sonarqube-fix.md +6 -0
  368. package/plugins/lisa-nestjs/commands/tasks-load.md +7 -0
  369. package/plugins/lisa-nestjs/commands/tasks-sync.md +7 -0
  370. package/plugins/lisa-nestjs/hooks/debug-hook.sh +47 -0
  371. package/plugins/lisa-nestjs/hooks/enforce-plan-rules.sh +15 -0
  372. package/plugins/lisa-nestjs/hooks/format-on-edit.sh +76 -0
  373. package/plugins/lisa-nestjs/hooks/install-pkgs.sh +64 -0
  374. package/plugins/lisa-nestjs/hooks/lint-on-edit.sh +81 -0
  375. package/plugins/lisa-nestjs/hooks/notify-ntfy.sh +183 -0
  376. package/plugins/lisa-nestjs/hooks/setup-jira-cli.sh +52 -0
  377. package/plugins/lisa-nestjs/hooks/sg-scan-on-edit.sh +68 -0
  378. package/plugins/lisa-nestjs/hooks/sync-tasks.sh +107 -0
  379. package/plugins/lisa-nestjs/hooks/ticket-sync-reminder.sh +23 -0
  380. package/plugins/lisa-nestjs/hooks/track-plan-sessions.sh +164 -0
  381. package/plugins/lisa-nestjs/hooks/verify-completion.sh +77 -0
  382. package/plugins/lisa-nestjs/rules/README.md +240 -0
  383. package/plugins/lisa-nestjs/rules/coding-philosophy.md +428 -0
  384. package/plugins/lisa-nestjs/rules/lisa.md +37 -0
  385. package/plugins/lisa-nestjs/rules/verfication.md +596 -0
  386. package/plugins/lisa-nestjs/skills/agent-design-best-practices/SKILL.md +219 -0
  387. package/plugins/lisa-nestjs/skills/git-commit/SKILL.md +48 -0
  388. package/plugins/lisa-nestjs/skills/git-commit-and-submit-pr/SKILL.md +8 -0
  389. package/plugins/lisa-nestjs/skills/git-commit-submit-pr-and-verify/SKILL.md +7 -0
  390. package/plugins/lisa-nestjs/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +7 -0
  391. package/plugins/lisa-nestjs/skills/git-prune/SKILL.md +35 -0
  392. package/plugins/lisa-nestjs/skills/git-submit-pr/SKILL.md +44 -0
  393. package/plugins/lisa-nestjs/skills/jira-add-journey/SKILL.md +120 -0
  394. package/plugins/lisa-nestjs/skills/jira-create/SKILL.md +95 -0
  395. package/plugins/lisa-nestjs/skills/jira-evidence/SKILL.md +73 -0
  396. package/plugins/lisa-nestjs/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  397. package/plugins/lisa-nestjs/skills/jira-fix/SKILL.md +16 -0
  398. package/plugins/lisa-nestjs/skills/jira-implement/SKILL.md +18 -0
  399. package/plugins/lisa-nestjs/skills/jira-journey/SKILL.md +125 -0
  400. package/plugins/lisa-nestjs/skills/jira-journey/scripts/generate-templates.py +233 -0
  401. package/plugins/lisa-nestjs/skills/jira-journey/scripts/parse-plan.py +368 -0
  402. package/plugins/lisa-nestjs/skills/jira-sync/SKILL.md +63 -0
  403. package/plugins/lisa-nestjs/skills/jira-verify/SKILL.md +48 -0
  404. package/plugins/lisa-nestjs/skills/jsdoc-best-practices/SKILL.md +432 -0
  405. package/plugins/lisa-nestjs/skills/lisa-review-implementation/SKILL.md +209 -0
  406. package/plugins/lisa-nestjs/skills/nestjs-graphql/SKILL.md +176 -0
  407. package/plugins/lisa-nestjs/skills/nestjs-graphql/references/advanced-features.md +527 -0
  408. package/plugins/lisa-nestjs/skills/nestjs-graphql/references/project-patterns.md +483 -0
  409. package/plugins/lisa-nestjs/skills/nestjs-graphql/references/quick-start.md +257 -0
  410. package/plugins/lisa-nestjs/skills/nestjs-graphql/references/resolvers-mutations.md +413 -0
  411. package/plugins/lisa-nestjs/skills/nestjs-graphql/references/types-scalars.md +513 -0
  412. package/plugins/lisa-nestjs/skills/nestjs-rules/SKILL.md +536 -0
  413. package/plugins/lisa-nestjs/skills/plan-add-test-coverage/SKILL.md +44 -0
  414. package/plugins/lisa-nestjs/skills/plan-execute/SKILL.md +89 -0
  415. package/plugins/lisa-nestjs/skills/plan-fix-linter-error/SKILL.md +45 -0
  416. package/plugins/lisa-nestjs/skills/plan-local-code-review/SKILL.md +88 -0
  417. package/plugins/lisa-nestjs/skills/plan-lower-code-complexity/SKILL.md +44 -0
  418. package/plugins/lisa-nestjs/skills/plan-reduce-max-lines/SKILL.md +45 -0
  419. package/plugins/lisa-nestjs/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
  420. package/plugins/lisa-nestjs/skills/pull-request-review/SKILL.md +68 -0
  421. package/plugins/lisa-nestjs/skills/security-zap-scan/SKILL.md +33 -0
  422. package/plugins/lisa-nestjs/skills/skill-creator/LICENSE.txt +202 -0
  423. package/plugins/lisa-nestjs/skills/skill-creator/SKILL.md +210 -0
  424. package/plugins/lisa-nestjs/skills/skill-creator/scripts/init_skill.py +305 -0
  425. package/plugins/lisa-nestjs/skills/skill-creator/scripts/package_skill.py +112 -0
  426. package/plugins/lisa-nestjs/skills/skill-creator/scripts/quick_validate.py +67 -0
  427. package/plugins/lisa-nestjs/skills/sonarqube-check/SKILL.md +11 -0
  428. package/plugins/lisa-nestjs/skills/sonarqube-fix/SKILL.md +8 -0
  429. package/plugins/lisa-nestjs/skills/tasks-load/SKILL.md +88 -0
  430. package/plugins/lisa-nestjs/skills/tasks-sync/SKILL.md +108 -0
  431. package/plugins/lisa-nestjs/skills/typeorm-patterns/SKILL.md +275 -0
  432. package/plugins/lisa-nestjs/skills/typeorm-patterns/references/configuration-patterns.md +487 -0
  433. package/plugins/lisa-nestjs/skills/typeorm-patterns/references/entity-patterns.md +450 -0
  434. package/plugins/lisa-nestjs/skills/typeorm-patterns/references/observability-patterns.md +536 -0
  435. package/plugins/lisa-rails/.claude-plugin/plugin.json +77 -0
  436. package/plugins/lisa-rails/agents/agent-architect.md +310 -0
  437. package/plugins/lisa-rails/agents/architecture-specialist.md +53 -0
  438. package/plugins/lisa-rails/agents/debug-specialist.md +204 -0
  439. package/plugins/lisa-rails/agents/git-history-analyzer.md +183 -0
  440. package/plugins/lisa-rails/agents/hooks-expert.md +74 -0
  441. package/plugins/lisa-rails/agents/implementer.md +54 -0
  442. package/plugins/lisa-rails/agents/learner.md +44 -0
  443. package/plugins/lisa-rails/agents/performance-specialist.md +95 -0
  444. package/plugins/lisa-rails/agents/product-specialist.md +72 -0
  445. package/plugins/lisa-rails/agents/quality-specialist.md +55 -0
  446. package/plugins/lisa-rails/agents/security-specialist.md +58 -0
  447. package/plugins/lisa-rails/agents/skill-evaluator.md +246 -0
  448. package/plugins/lisa-rails/agents/slash-command-architect.md +87 -0
  449. package/plugins/lisa-rails/agents/test-specialist.md +64 -0
  450. package/plugins/lisa-rails/agents/verification-specialist.md +189 -0
  451. package/plugins/lisa-rails/agents/web-search-researcher.md +112 -0
  452. package/plugins/lisa-rails/commands/git-commit-and-submit-pr.md +7 -0
  453. package/plugins/lisa-rails/commands/git-commit-submit-pr-and-verify.md +7 -0
  454. package/plugins/lisa-rails/commands/git-commit-submit-pr-deploy-and-verify.md +7 -0
  455. package/plugins/lisa-rails/commands/git-commit.md +7 -0
  456. package/plugins/lisa-rails/commands/git-prune.md +6 -0
  457. package/plugins/lisa-rails/commands/git-submit-pr.md +7 -0
  458. package/plugins/lisa-rails/commands/jira-add-journey.md +7 -0
  459. package/plugins/lisa-rails/commands/jira-create.md +7 -0
  460. package/plugins/lisa-rails/commands/jira-evidence.md +7 -0
  461. package/plugins/lisa-rails/commands/jira-fix.md +7 -0
  462. package/plugins/lisa-rails/commands/jira-implement.md +7 -0
  463. package/plugins/lisa-rails/commands/jira-journey.md +7 -0
  464. package/plugins/lisa-rails/commands/jira-sync.md +7 -0
  465. package/plugins/lisa-rails/commands/jira-verify.md +7 -0
  466. package/plugins/lisa-rails/commands/lisa-review-implementation.md +7 -0
  467. package/plugins/lisa-rails/commands/plan-add-test-coverage.md +7 -0
  468. package/plugins/lisa-rails/commands/plan-create.md +6 -0
  469. package/plugins/lisa-rails/commands/plan-execute.md +7 -0
  470. package/plugins/lisa-rails/commands/plan-fix-linter-error.md +7 -0
  471. package/plugins/lisa-rails/commands/plan-local-code-review.md +6 -0
  472. package/plugins/lisa-rails/commands/plan-lower-code-complexity.md +6 -0
  473. package/plugins/lisa-rails/commands/plan-reduce-max-lines-per-function.md +7 -0
  474. package/plugins/lisa-rails/commands/plan-reduce-max-lines.md +7 -0
  475. package/plugins/lisa-rails/commands/pull-request-review.md +7 -0
  476. package/plugins/lisa-rails/commands/security-zap-scan.md +6 -0
  477. package/plugins/lisa-rails/commands/sonarqube-check.md +6 -0
  478. package/plugins/lisa-rails/commands/sonarqube-fix.md +6 -0
  479. package/plugins/lisa-rails/commands/tasks-load.md +7 -0
  480. package/plugins/lisa-rails/commands/tasks-sync.md +7 -0
  481. package/plugins/lisa-rails/hooks/debug-hook.sh +47 -0
  482. package/plugins/lisa-rails/hooks/enforce-plan-rules.sh +15 -0
  483. package/plugins/lisa-rails/hooks/format-on-edit.sh +76 -0
  484. package/plugins/lisa-rails/hooks/install-pkgs.sh +64 -0
  485. package/plugins/lisa-rails/hooks/lint-on-edit.sh +81 -0
  486. package/plugins/lisa-rails/hooks/notify-ntfy.sh +183 -0
  487. package/plugins/lisa-rails/hooks/setup-jira-cli.sh +52 -0
  488. package/plugins/lisa-rails/hooks/sg-scan-on-edit.sh +68 -0
  489. package/plugins/lisa-rails/hooks/sync-tasks.sh +107 -0
  490. package/plugins/lisa-rails/hooks/ticket-sync-reminder.sh +23 -0
  491. package/plugins/lisa-rails/hooks/track-plan-sessions.sh +164 -0
  492. package/plugins/lisa-rails/hooks/verify-completion.sh +77 -0
  493. package/plugins/lisa-rails/rules/README.md +240 -0
  494. package/plugins/lisa-rails/rules/coding-philosophy.md +428 -0
  495. package/plugins/lisa-rails/rules/lisa.md +37 -0
  496. package/plugins/lisa-rails/rules/rails-conventions.md +176 -0
  497. package/plugins/lisa-rails/rules/verfication.md +596 -0
  498. package/plugins/lisa-rails/skills/action-controller-best-practices/SKILL.md +374 -0
  499. package/plugins/lisa-rails/skills/action-view-best-practices/SKILL.md +335 -0
  500. package/plugins/lisa-rails/skills/active-record-model-best-practices/SKILL.md +166 -0
  501. package/plugins/lisa-rails/skills/agent-design-best-practices/SKILL.md +219 -0
  502. package/plugins/lisa-rails/skills/git-commit/SKILL.md +48 -0
  503. package/plugins/lisa-rails/skills/git-commit-and-submit-pr/SKILL.md +8 -0
  504. package/plugins/lisa-rails/skills/git-commit-submit-pr-and-verify/SKILL.md +7 -0
  505. package/plugins/lisa-rails/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +7 -0
  506. package/plugins/lisa-rails/skills/git-prune/SKILL.md +35 -0
  507. package/plugins/lisa-rails/skills/git-submit-pr/SKILL.md +44 -0
  508. package/plugins/lisa-rails/skills/jira-add-journey/SKILL.md +65 -0
  509. package/plugins/lisa-rails/skills/jira-create/SKILL.md +41 -0
  510. package/plugins/lisa-rails/skills/jira-evidence/SKILL.md +70 -0
  511. package/plugins/lisa-rails/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  512. package/plugins/lisa-rails/skills/jira-fix/SKILL.md +16 -0
  513. package/plugins/lisa-rails/skills/jira-implement/SKILL.md +18 -0
  514. package/plugins/lisa-rails/skills/jira-journey/SKILL.md +64 -0
  515. package/plugins/lisa-rails/skills/jira-journey/scripts/generate-templates.py +233 -0
  516. package/plugins/lisa-rails/skills/jira-journey/scripts/parse-plan.py +368 -0
  517. package/plugins/lisa-rails/skills/jira-sync/SKILL.md +63 -0
  518. package/plugins/lisa-rails/skills/jira-verify/SKILL.md +29 -0
  519. package/plugins/lisa-rails/skills/jsdoc-best-practices/SKILL.md +432 -0
  520. package/plugins/lisa-rails/skills/lisa-review-implementation/SKILL.md +209 -0
  521. package/plugins/lisa-rails/skills/plan-add-test-coverage/SKILL.md +45 -0
  522. package/plugins/lisa-rails/skills/plan-execute/SKILL.md +89 -0
  523. package/plugins/lisa-rails/skills/plan-fix-linter-error/SKILL.md +45 -0
  524. package/plugins/lisa-rails/skills/plan-local-code-review/SKILL.md +88 -0
  525. package/plugins/lisa-rails/skills/plan-lower-code-complexity/SKILL.md +48 -0
  526. package/plugins/lisa-rails/skills/plan-reduce-max-lines/SKILL.md +46 -0
  527. package/plugins/lisa-rails/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
  528. package/plugins/lisa-rails/skills/pull-request-review/SKILL.md +68 -0
  529. package/plugins/lisa-rails/skills/security-zap-scan/SKILL.md +33 -0
  530. package/plugins/lisa-rails/skills/skill-creator/LICENSE.txt +202 -0
  531. package/plugins/lisa-rails/skills/skill-creator/SKILL.md +210 -0
  532. package/plugins/lisa-rails/skills/skill-creator/scripts/init_skill.py +305 -0
  533. package/plugins/lisa-rails/skills/skill-creator/scripts/package_skill.py +112 -0
  534. package/plugins/lisa-rails/skills/skill-creator/scripts/quick_validate.py +67 -0
  535. package/plugins/lisa-rails/skills/sonarqube-check/SKILL.md +11 -0
  536. package/plugins/lisa-rails/skills/sonarqube-fix/SKILL.md +8 -0
  537. package/plugins/lisa-rails/skills/tasks-load/SKILL.md +88 -0
  538. package/plugins/lisa-rails/skills/tasks-sync/SKILL.md +108 -0
  539. package/plugins/lisa-typescript/.claude-plugin/plugin.json +86 -0
  540. package/plugins/lisa-typescript/agents/agent-architect.md +310 -0
  541. package/plugins/lisa-typescript/agents/architecture-specialist.md +53 -0
  542. package/plugins/lisa-typescript/agents/debug-specialist.md +204 -0
  543. package/plugins/lisa-typescript/agents/git-history-analyzer.md +183 -0
  544. package/plugins/lisa-typescript/agents/hooks-expert.md +74 -0
  545. package/plugins/lisa-typescript/agents/implementer.md +54 -0
  546. package/plugins/lisa-typescript/agents/learner.md +44 -0
  547. package/plugins/lisa-typescript/agents/performance-specialist.md +95 -0
  548. package/plugins/lisa-typescript/agents/product-specialist.md +72 -0
  549. package/plugins/lisa-typescript/agents/quality-specialist.md +55 -0
  550. package/plugins/lisa-typescript/agents/security-specialist.md +58 -0
  551. package/plugins/lisa-typescript/agents/skill-evaluator.md +246 -0
  552. package/plugins/lisa-typescript/agents/slash-command-architect.md +87 -0
  553. package/plugins/lisa-typescript/agents/test-specialist.md +64 -0
  554. package/plugins/lisa-typescript/agents/verification-specialist.md +189 -0
  555. package/plugins/lisa-typescript/agents/web-search-researcher.md +112 -0
  556. package/plugins/lisa-typescript/commands/git-commit-and-submit-pr.md +7 -0
  557. package/plugins/lisa-typescript/commands/git-commit-submit-pr-and-verify.md +7 -0
  558. package/plugins/lisa-typescript/commands/git-commit-submit-pr-deploy-and-verify.md +7 -0
  559. package/plugins/lisa-typescript/commands/git-commit.md +7 -0
  560. package/plugins/lisa-typescript/commands/git-prune.md +6 -0
  561. package/plugins/lisa-typescript/commands/git-submit-pr.md +7 -0
  562. package/plugins/lisa-typescript/commands/jira-add-journey.md +7 -0
  563. package/plugins/lisa-typescript/commands/jira-create.md +7 -0
  564. package/plugins/lisa-typescript/commands/jira-evidence.md +7 -0
  565. package/plugins/lisa-typescript/commands/jira-fix.md +7 -0
  566. package/plugins/lisa-typescript/commands/jira-implement.md +7 -0
  567. package/plugins/lisa-typescript/commands/jira-journey.md +7 -0
  568. package/plugins/lisa-typescript/commands/jira-sync.md +7 -0
  569. package/plugins/lisa-typescript/commands/jira-verify.md +7 -0
  570. package/plugins/lisa-typescript/commands/lisa-review-implementation.md +7 -0
  571. package/plugins/lisa-typescript/commands/plan-add-test-coverage.md +7 -0
  572. package/plugins/lisa-typescript/commands/plan-create.md +6 -0
  573. package/plugins/lisa-typescript/commands/plan-execute.md +7 -0
  574. package/plugins/lisa-typescript/commands/plan-fix-linter-error.md +7 -0
  575. package/plugins/lisa-typescript/commands/plan-local-code-review.md +6 -0
  576. package/plugins/lisa-typescript/commands/plan-lower-code-complexity.md +6 -0
  577. package/plugins/lisa-typescript/commands/plan-reduce-max-lines-per-function.md +7 -0
  578. package/plugins/lisa-typescript/commands/plan-reduce-max-lines.md +7 -0
  579. package/plugins/lisa-typescript/commands/pull-request-review.md +7 -0
  580. package/plugins/lisa-typescript/commands/security-zap-scan.md +6 -0
  581. package/plugins/lisa-typescript/commands/sonarqube-check.md +6 -0
  582. package/plugins/lisa-typescript/commands/sonarqube-fix.md +6 -0
  583. package/plugins/lisa-typescript/commands/tasks-load.md +7 -0
  584. package/plugins/lisa-typescript/commands/tasks-sync.md +7 -0
  585. package/plugins/lisa-typescript/hooks/debug-hook.sh +47 -0
  586. package/plugins/lisa-typescript/hooks/enforce-plan-rules.sh +15 -0
  587. package/plugins/lisa-typescript/hooks/format-on-edit.sh +76 -0
  588. package/plugins/lisa-typescript/hooks/install-pkgs.sh +64 -0
  589. package/plugins/lisa-typescript/hooks/lint-on-edit.sh +81 -0
  590. package/plugins/lisa-typescript/hooks/notify-ntfy.sh +183 -0
  591. package/plugins/lisa-typescript/hooks/setup-jira-cli.sh +52 -0
  592. package/plugins/lisa-typescript/hooks/sg-scan-on-edit.sh +68 -0
  593. package/plugins/lisa-typescript/hooks/sync-tasks.sh +107 -0
  594. package/plugins/lisa-typescript/hooks/ticket-sync-reminder.sh +23 -0
  595. package/plugins/lisa-typescript/hooks/track-plan-sessions.sh +164 -0
  596. package/plugins/lisa-typescript/hooks/verify-completion.sh +77 -0
  597. package/plugins/lisa-typescript/rules/README.md +240 -0
  598. package/plugins/lisa-typescript/rules/coding-philosophy.md +428 -0
  599. package/plugins/lisa-typescript/rules/lisa.md +37 -0
  600. package/plugins/lisa-typescript/rules/verfication.md +596 -0
  601. package/plugins/lisa-typescript/skills/agent-design-best-practices/SKILL.md +219 -0
  602. package/plugins/lisa-typescript/skills/git-commit/SKILL.md +48 -0
  603. package/plugins/lisa-typescript/skills/git-commit-and-submit-pr/SKILL.md +8 -0
  604. package/plugins/lisa-typescript/skills/git-commit-submit-pr-and-verify/SKILL.md +7 -0
  605. package/plugins/lisa-typescript/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +7 -0
  606. package/plugins/lisa-typescript/skills/git-prune/SKILL.md +35 -0
  607. package/plugins/lisa-typescript/skills/git-submit-pr/SKILL.md +44 -0
  608. package/plugins/lisa-typescript/skills/jira-add-journey/SKILL.md +120 -0
  609. package/plugins/lisa-typescript/skills/jira-create/SKILL.md +95 -0
  610. package/plugins/lisa-typescript/skills/jira-evidence/SKILL.md +73 -0
  611. package/plugins/lisa-typescript/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  612. package/plugins/lisa-typescript/skills/jira-fix/SKILL.md +16 -0
  613. package/plugins/lisa-typescript/skills/jira-implement/SKILL.md +18 -0
  614. package/plugins/lisa-typescript/skills/jira-journey/SKILL.md +125 -0
  615. package/plugins/lisa-typescript/skills/jira-journey/scripts/generate-templates.py +233 -0
  616. package/plugins/lisa-typescript/skills/jira-journey/scripts/parse-plan.py +368 -0
  617. package/plugins/lisa-typescript/skills/jira-sync/SKILL.md +63 -0
  618. package/plugins/lisa-typescript/skills/jira-verify/SKILL.md +48 -0
  619. package/plugins/lisa-typescript/skills/jsdoc-best-practices/SKILL.md +432 -0
  620. package/plugins/lisa-typescript/skills/lisa-review-implementation/SKILL.md +209 -0
  621. package/plugins/lisa-typescript/skills/plan-add-test-coverage/SKILL.md +44 -0
  622. package/plugins/lisa-typescript/skills/plan-execute/SKILL.md +89 -0
  623. package/plugins/lisa-typescript/skills/plan-fix-linter-error/SKILL.md +45 -0
  624. package/plugins/lisa-typescript/skills/plan-local-code-review/SKILL.md +88 -0
  625. package/plugins/lisa-typescript/skills/plan-lower-code-complexity/SKILL.md +44 -0
  626. package/plugins/lisa-typescript/skills/plan-reduce-max-lines/SKILL.md +45 -0
  627. package/plugins/lisa-typescript/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
  628. package/plugins/lisa-typescript/skills/pull-request-review/SKILL.md +68 -0
  629. package/plugins/lisa-typescript/skills/security-zap-scan/SKILL.md +33 -0
  630. package/plugins/lisa-typescript/skills/skill-creator/LICENSE.txt +202 -0
  631. package/plugins/lisa-typescript/skills/skill-creator/SKILL.md +210 -0
  632. package/plugins/lisa-typescript/skills/skill-creator/scripts/init_skill.py +305 -0
  633. package/plugins/lisa-typescript/skills/skill-creator/scripts/package_skill.py +112 -0
  634. package/plugins/lisa-typescript/skills/skill-creator/scripts/quick_validate.py +67 -0
  635. package/plugins/lisa-typescript/skills/sonarqube-check/SKILL.md +11 -0
  636. package/plugins/lisa-typescript/skills/sonarqube-fix/SKILL.md +8 -0
  637. package/plugins/lisa-typescript/skills/tasks-load/SKILL.md +88 -0
  638. package/plugins/lisa-typescript/skills/tasks-sync/SKILL.md +108 -0
  639. package/plugins/src/base/agents/agent-architect.md +310 -0
  640. package/plugins/src/base/agents/architecture-specialist.md +53 -0
  641. package/plugins/src/base/agents/debug-specialist.md +204 -0
  642. package/plugins/src/base/agents/git-history-analyzer.md +183 -0
  643. package/plugins/src/base/agents/hooks-expert.md +74 -0
  644. package/plugins/src/base/agents/implementer.md +54 -0
  645. package/plugins/src/base/agents/learner.md +44 -0
  646. package/plugins/src/base/agents/performance-specialist.md +95 -0
  647. package/plugins/src/base/agents/product-specialist.md +72 -0
  648. package/plugins/src/base/agents/quality-specialist.md +55 -0
  649. package/plugins/src/base/agents/security-specialist.md +58 -0
  650. package/plugins/src/base/agents/skill-evaluator.md +246 -0
  651. package/plugins/src/base/agents/slash-command-architect.md +87 -0
  652. package/plugins/src/base/agents/test-specialist.md +64 -0
  653. package/plugins/src/base/agents/verification-specialist.md +189 -0
  654. package/plugins/src/base/agents/web-search-researcher.md +112 -0
  655. package/plugins/src/base/commands/git-commit-and-submit-pr.md +7 -0
  656. package/plugins/src/base/commands/git-commit-submit-pr-and-verify.md +7 -0
  657. package/plugins/src/base/commands/git-commit-submit-pr-deploy-and-verify.md +7 -0
  658. package/plugins/src/base/commands/git-commit.md +7 -0
  659. package/plugins/src/base/commands/git-prune.md +6 -0
  660. package/plugins/src/base/commands/git-submit-pr.md +7 -0
  661. package/plugins/src/base/commands/jira-add-journey.md +7 -0
  662. package/plugins/src/base/commands/jira-create.md +7 -0
  663. package/plugins/src/base/commands/jira-evidence.md +7 -0
  664. package/plugins/src/base/commands/jira-fix.md +7 -0
  665. package/plugins/src/base/commands/jira-implement.md +7 -0
  666. package/plugins/src/base/commands/jira-journey.md +7 -0
  667. package/plugins/src/base/commands/jira-sync.md +7 -0
  668. package/plugins/src/base/commands/jira-verify.md +7 -0
  669. package/plugins/src/base/commands/lisa-review-implementation.md +7 -0
  670. package/plugins/src/base/commands/plan-add-test-coverage.md +7 -0
  671. package/plugins/src/base/commands/plan-create.md +6 -0
  672. package/plugins/src/base/commands/plan-execute.md +7 -0
  673. package/plugins/src/base/commands/plan-fix-linter-error.md +7 -0
  674. package/plugins/src/base/commands/plan-local-code-review.md +6 -0
  675. package/plugins/src/base/commands/plan-lower-code-complexity.md +6 -0
  676. package/plugins/src/base/commands/plan-reduce-max-lines-per-function.md +7 -0
  677. package/plugins/src/base/commands/plan-reduce-max-lines.md +7 -0
  678. package/plugins/src/base/commands/pull-request-review.md +7 -0
  679. package/plugins/src/base/commands/security-zap-scan.md +6 -0
  680. package/plugins/src/base/commands/sonarqube-check.md +6 -0
  681. package/plugins/src/base/commands/sonarqube-fix.md +6 -0
  682. package/plugins/src/base/commands/tasks-load.md +7 -0
  683. package/plugins/src/base/commands/tasks-sync.md +7 -0
  684. package/plugins/src/base/hooks/debug-hook.sh +47 -0
  685. package/plugins/src/base/hooks/enforce-plan-rules.sh +15 -0
  686. package/plugins/src/base/hooks/format-on-edit.sh +76 -0
  687. package/plugins/src/base/hooks/install-pkgs.sh +64 -0
  688. package/plugins/src/base/hooks/lint-on-edit.sh +81 -0
  689. package/plugins/src/base/hooks/notify-ntfy.sh +183 -0
  690. package/plugins/src/base/hooks/setup-jira-cli.sh +52 -0
  691. package/plugins/src/base/hooks/sg-scan-on-edit.sh +68 -0
  692. package/plugins/src/base/hooks/sync-tasks.sh +107 -0
  693. package/plugins/src/base/hooks/ticket-sync-reminder.sh +23 -0
  694. package/plugins/src/base/hooks/track-plan-sessions.sh +164 -0
  695. package/plugins/src/base/hooks/verify-completion.sh +77 -0
  696. package/plugins/src/base/rules/README.md +240 -0
  697. package/plugins/src/base/rules/coding-philosophy.md +428 -0
  698. package/plugins/src/base/rules/lisa.md +37 -0
  699. package/plugins/src/base/rules/verfication.md +596 -0
  700. package/plugins/src/base/skills/agent-design-best-practices/SKILL.md +219 -0
  701. package/plugins/src/base/skills/git-commit/SKILL.md +48 -0
  702. package/plugins/src/base/skills/git-commit-and-submit-pr/SKILL.md +8 -0
  703. package/plugins/src/base/skills/git-commit-submit-pr-and-verify/SKILL.md +7 -0
  704. package/plugins/src/base/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +7 -0
  705. package/plugins/src/base/skills/git-prune/SKILL.md +35 -0
  706. package/plugins/src/base/skills/git-submit-pr/SKILL.md +44 -0
  707. package/plugins/src/base/skills/jira-add-journey/SKILL.md +120 -0
  708. package/plugins/src/base/skills/jira-create/SKILL.md +95 -0
  709. package/plugins/src/base/skills/jira-evidence/SKILL.md +73 -0
  710. package/plugins/src/base/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  711. package/plugins/src/base/skills/jira-fix/SKILL.md +16 -0
  712. package/plugins/src/base/skills/jira-implement/SKILL.md +18 -0
  713. package/plugins/src/base/skills/jira-journey/SKILL.md +125 -0
  714. package/plugins/src/base/skills/jira-journey/scripts/generate-templates.py +233 -0
  715. package/plugins/src/base/skills/jira-journey/scripts/parse-plan.py +368 -0
  716. package/plugins/src/base/skills/jira-sync/SKILL.md +63 -0
  717. package/plugins/src/base/skills/jira-verify/SKILL.md +48 -0
  718. package/plugins/src/base/skills/jsdoc-best-practices/SKILL.md +432 -0
  719. package/plugins/src/base/skills/lisa-review-implementation/SKILL.md +209 -0
  720. package/plugins/src/base/skills/plan-add-test-coverage/SKILL.md +44 -0
  721. package/plugins/src/base/skills/plan-execute/SKILL.md +89 -0
  722. package/plugins/src/base/skills/plan-fix-linter-error/SKILL.md +45 -0
  723. package/plugins/src/base/skills/plan-local-code-review/SKILL.md +88 -0
  724. package/plugins/src/base/skills/plan-lower-code-complexity/SKILL.md +44 -0
  725. package/plugins/src/base/skills/plan-reduce-max-lines/SKILL.md +45 -0
  726. package/plugins/src/base/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
  727. package/plugins/src/base/skills/pull-request-review/SKILL.md +68 -0
  728. package/plugins/src/base/skills/security-zap-scan/SKILL.md +33 -0
  729. package/plugins/src/base/skills/skill-creator/LICENSE.txt +202 -0
  730. package/plugins/src/base/skills/skill-creator/SKILL.md +210 -0
  731. package/plugins/src/base/skills/skill-creator/scripts/init_skill.py +305 -0
  732. package/plugins/src/base/skills/skill-creator/scripts/package_skill.py +112 -0
  733. package/plugins/src/base/skills/skill-creator/scripts/quick_validate.py +67 -0
  734. package/plugins/src/base/skills/sonarqube-check/SKILL.md +11 -0
  735. package/plugins/src/base/skills/sonarqube-fix/SKILL.md +8 -0
  736. package/plugins/src/base/skills/tasks-load/SKILL.md +88 -0
  737. package/plugins/src/base/skills/tasks-sync/SKILL.md +108 -0
  738. package/plugins/src/cdk/.claude-plugin/plugin.json +86 -0
  739. package/plugins/src/expo/.claude-plugin/plugin.json +86 -0
  740. package/plugins/src/expo/agents/ops-specialist.md +124 -0
  741. package/plugins/src/expo/rules/expo-verification.md +261 -0
  742. package/plugins/src/expo/skills/apollo-client/SKILL.md +238 -0
  743. package/plugins/src/expo/skills/apollo-client/references/mutation-patterns.md +360 -0
  744. package/plugins/src/expo/skills/atomic-design-gluestack/SKILL.md +360 -0
  745. package/plugins/src/expo/skills/atomic-design-gluestack/references/atomic-levels.md +417 -0
  746. package/plugins/src/expo/skills/atomic-design-gluestack/references/folder-structure.md +257 -0
  747. package/plugins/src/expo/skills/atomic-design-gluestack/references/gluestack-mapping.md +233 -0
  748. package/plugins/src/expo/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +329 -0
  749. package/plugins/src/expo/skills/container-view-pattern/SKILL.md +299 -0
  750. package/plugins/src/expo/skills/container-view-pattern/references/examples.md +749 -0
  751. package/plugins/src/expo/skills/container-view-pattern/references/patterns.md +318 -0
  752. package/plugins/src/expo/skills/container-view-pattern/scripts/create_component.py +200 -0
  753. package/plugins/src/expo/skills/container-view-pattern/scripts/validate_component.py +209 -0
  754. package/plugins/src/expo/skills/cross-platform-compatibility/SKILL.md +268 -0
  755. package/plugins/src/expo/skills/cross-platform-compatibility/references/common-issues.md +619 -0
  756. package/plugins/src/expo/skills/cross-platform-compatibility/references/file-extensions.md +340 -0
  757. package/plugins/src/expo/skills/cross-platform-compatibility/references/platform-api.md +276 -0
  758. package/plugins/src/expo/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +416 -0
  759. package/plugins/src/expo/skills/directory-structure/SKILL.md +202 -0
  760. package/plugins/src/expo/skills/directory-structure/scripts/validate_structure.py +445 -0
  761. package/plugins/src/expo/skills/expo-env-config/SKILL.md +309 -0
  762. package/plugins/src/expo/skills/expo-env-config/references/validation-patterns.md +417 -0
  763. package/plugins/src/expo/skills/expo-router-best-practices/SKILL.md +431 -0
  764. package/plugins/src/expo/skills/expo-router-best-practices/references/official-docs.md +290 -0
  765. package/plugins/src/expo/skills/expo-router-best-practices/scripts/generate-route.py +171 -0
  766. package/plugins/src/expo/skills/gluestack-nativewind/SKILL.md +411 -0
  767. package/plugins/src/expo/skills/gluestack-nativewind/references/color-tokens.md +343 -0
  768. package/plugins/src/expo/skills/gluestack-nativewind/references/component-mapping.md +307 -0
  769. package/plugins/src/expo/skills/gluestack-nativewind/references/spacing-scale.md +300 -0
  770. package/plugins/src/expo/skills/gluestack-nativewind/scripts/validate_styling.py +315 -0
  771. package/plugins/src/expo/skills/jira-add-journey/SKILL.md +126 -0
  772. package/plugins/src/expo/skills/jira-create/SKILL.md +101 -0
  773. package/plugins/src/expo/skills/jira-evidence/SKILL.md +78 -0
  774. package/plugins/src/expo/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  775. package/plugins/src/expo/skills/jira-journey/SKILL.md +190 -0
  776. package/plugins/src/expo/skills/jira-journey/scripts/generate-templates.py +281 -0
  777. package/plugins/src/expo/skills/jira-journey/scripts/parse-plan.py +368 -0
  778. package/plugins/src/expo/skills/jira-verify/SKILL.md +47 -0
  779. package/plugins/src/expo/skills/local-state/SKILL.md +362 -0
  780. package/plugins/src/expo/skills/local-state/references/async-storage.md +505 -0
  781. package/plugins/src/expo/skills/local-state/references/persistence-patterns.md +711 -0
  782. package/plugins/src/expo/skills/local-state/references/reactive-variables.md +446 -0
  783. package/plugins/src/expo/skills/ops-browser-uat/SKILL.md +124 -0
  784. package/plugins/src/expo/skills/ops-check-logs/SKILL.md +211 -0
  785. package/plugins/src/expo/skills/ops-db-ops/SKILL.md +119 -0
  786. package/plugins/src/expo/skills/ops-deploy/SKILL.md +119 -0
  787. package/plugins/src/expo/skills/ops-monitor-errors/SKILL.md +99 -0
  788. package/plugins/src/expo/skills/ops-performance/SKILL.md +165 -0
  789. package/plugins/src/expo/skills/ops-run-local/SKILL.md +166 -0
  790. package/plugins/src/expo/skills/ops-verify-health/SKILL.md +101 -0
  791. package/plugins/src/expo/skills/owasp-zap/SKILL.md +56 -0
  792. package/plugins/src/expo/skills/playwright-selectors/SKILL.md +223 -0
  793. package/plugins/src/expo/skills/testing-library/SKILL.md +314 -0
  794. package/plugins/src/expo/skills/testing-library/references/async-patterns.md +420 -0
  795. package/plugins/src/expo/skills/testing-library/references/expo-router-testing.md +556 -0
  796. package/plugins/src/expo/skills/testing-library/references/mocking-patterns.md +590 -0
  797. package/plugins/src/expo/skills/testing-library/references/query-priority.md +291 -0
  798. package/plugins/src/nestjs/.claude-plugin/plugin.json +86 -0
  799. package/plugins/src/nestjs/skills/nestjs-graphql/SKILL.md +176 -0
  800. package/plugins/src/nestjs/skills/nestjs-graphql/references/advanced-features.md +527 -0
  801. package/plugins/src/nestjs/skills/nestjs-graphql/references/project-patterns.md +483 -0
  802. package/plugins/src/nestjs/skills/nestjs-graphql/references/quick-start.md +257 -0
  803. package/plugins/src/nestjs/skills/nestjs-graphql/references/resolvers-mutations.md +413 -0
  804. package/plugins/src/nestjs/skills/nestjs-graphql/references/types-scalars.md +513 -0
  805. package/plugins/src/nestjs/skills/nestjs-rules/SKILL.md +536 -0
  806. package/plugins/src/nestjs/skills/typeorm-patterns/SKILL.md +275 -0
  807. package/plugins/src/nestjs/skills/typeorm-patterns/references/configuration-patterns.md +487 -0
  808. package/plugins/src/nestjs/skills/typeorm-patterns/references/entity-patterns.md +450 -0
  809. package/plugins/src/nestjs/skills/typeorm-patterns/references/observability-patterns.md +536 -0
  810. package/plugins/src/rails/.claude-plugin/plugin.json +77 -0
  811. package/plugins/src/rails/rules/rails-conventions.md +176 -0
  812. package/plugins/src/rails/skills/action-controller-best-practices/SKILL.md +374 -0
  813. package/plugins/src/rails/skills/action-view-best-practices/SKILL.md +335 -0
  814. package/plugins/src/rails/skills/active-record-model-best-practices/SKILL.md +166 -0
  815. package/plugins/src/rails/skills/jira-add-journey/SKILL.md +65 -0
  816. package/plugins/src/rails/skills/jira-create/SKILL.md +41 -0
  817. package/plugins/src/rails/skills/jira-evidence/SKILL.md +70 -0
  818. package/plugins/src/rails/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  819. package/plugins/src/rails/skills/jira-journey/SKILL.md +64 -0
  820. package/plugins/src/rails/skills/jira-verify/SKILL.md +29 -0
  821. package/plugins/src/rails/skills/plan-add-test-coverage/SKILL.md +45 -0
  822. package/plugins/src/rails/skills/plan-fix-linter-error/SKILL.md +45 -0
  823. package/plugins/src/rails/skills/plan-lower-code-complexity/SKILL.md +48 -0
  824. package/plugins/src/rails/skills/plan-reduce-max-lines/SKILL.md +46 -0
  825. package/plugins/src/rails/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
  826. package/plugins/src/typescript/.claude-plugin/plugin.json +86 -0
  827. package/scripts/build-plugins.sh +22 -0
  828. package/scripts/cleanup-amplify-branches.sh +150 -0
  829. package/scripts/cleanup-github-branches.sh +202 -0
  830. package/scripts/github-status-check.sh +301 -0
  831. package/scripts/install-claude-plugins.sh +70 -0
  832. package/scripts/lisa-commit-and-pr-local.sh +204 -0
  833. package/scripts/lisa-update-local.sh +158 -0
  834. package/scripts/update-node-version.ts +197 -0
  835. package/tsconfig/build.json +8 -0
  836. package/tsconfig/cdk.json +16 -0
  837. package/tsconfig/eslint.json +12 -0
  838. package/tsconfig/expo.json +18 -0
  839. package/tsconfig/nestjs.json +18 -0
  840. package/tsconfig/spec.json +7 -0
  841. package/{typescript/copy-overwrite/tsconfig.typescript.json → tsconfig/typescript.json} +1 -1
  842. package/typescript/copy-overwrite/eslint.config.ts +6 -20
  843. package/typescript/copy-overwrite/eslint.slow.config.ts +4 -73
  844. package/typescript/copy-overwrite/jest.config.ts +8 -12
  845. package/typescript/copy-overwrite/tsconfig.json +1 -1
  846. package/typescript/deletions.json +7 -1
  847. package/typescript/merge/.claude/settings.json +29 -0
  848. package/typescript/package-lisa/package.lisa.json +2 -36
  849. package/all/copy-overwrite/.claude/rules/lisa.md +0 -66
  850. package/all/copy-overwrite/.claude/settings.json +0 -79
  851. package/all/copy-overwrite/CLAUDE.md +0 -59
  852. package/all/copy-overwrite/HUMAN.md +0 -309
  853. package/cdk/copy-overwrite/.claude/settings.json +0 -80
  854. package/expo/copy-overwrite/.claude/settings.json +0 -80
  855. package/nestjs/copy-overwrite/.claude/settings.json +0 -80
  856. package/rails/copy-overwrite/CLAUDE.md +0 -56
  857. package/typescript/copy-overwrite/.claude/settings.json +0 -80
  858. package/typescript/copy-overwrite/eslint.base.ts +0 -429
  859. package/typescript/copy-overwrite/eslint.typescript.ts +0 -142
  860. package/typescript/copy-overwrite/jest.typescript.ts +0 -72
  861. /package/{all/copy-overwrite/.claude → plugins/lisa-cdk/rules}/README.md +0 -0
  862. /package/{all/create-only/scripts → scripts}/setup-deploy-key.sh +0 -0
  863. /package/{typescript/copy-overwrite/tsconfig.base.json → tsconfig/base.json} +0 -0
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env python3
2
+ # This file is managed by Lisa.
3
+ # Do not edit directly — changes will be overwritten on the next `lisa` run.
4
+ """
5
+ Quick validation script for skills - minimal version
6
+ """
7
+
8
+ import sys
9
+ import os
10
+ import re
11
+ from pathlib import Path
12
+
13
+ def validate_skill(skill_path):
14
+ """Basic validation of a skill"""
15
+ skill_path = Path(skill_path)
16
+
17
+ # Check SKILL.md exists
18
+ skill_md = skill_path / 'SKILL.md'
19
+ if not skill_md.exists():
20
+ return False, "SKILL.md not found"
21
+
22
+ # Read and validate frontmatter
23
+ content = skill_md.read_text()
24
+ if not content.startswith('---'):
25
+ return False, "No YAML frontmatter found"
26
+
27
+ # Extract frontmatter
28
+ match = re.match(r'^---\n(.*?)\n---', content, re.DOTALL)
29
+ if not match:
30
+ return False, "Invalid frontmatter format"
31
+
32
+ frontmatter = match.group(1)
33
+
34
+ # Check required fields
35
+ if 'name:' not in frontmatter:
36
+ return False, "Missing 'name' in frontmatter"
37
+ if 'description:' not in frontmatter:
38
+ return False, "Missing 'description' in frontmatter"
39
+
40
+ # Extract name for validation
41
+ name_match = re.search(r'name:\s*(.+)', frontmatter)
42
+ if name_match:
43
+ name = name_match.group(1).strip()
44
+ # Check naming convention (hyphen-case: lowercase with hyphens)
45
+ if not re.match(r'^[a-z0-9-]+$', name):
46
+ return False, f"Name '{name}' should be hyphen-case (lowercase letters, digits, and hyphens only)"
47
+ if name.startswith('-') or name.endswith('-') or '--' in name:
48
+ return False, f"Name '{name}' cannot start/end with hyphen or contain consecutive hyphens"
49
+
50
+ # Extract and validate description
51
+ desc_match = re.search(r'description:\s*(.+)', frontmatter)
52
+ if desc_match:
53
+ description = desc_match.group(1).strip()
54
+ # Check for angle brackets
55
+ if '<' in description or '>' in description:
56
+ return False, "Description cannot contain angle brackets (< or >)"
57
+
58
+ return True, "Skill is valid!"
59
+
60
+ if __name__ == "__main__":
61
+ if len(sys.argv) != 2:
62
+ print("Usage: python quick_validate.py <skill_directory>")
63
+ sys.exit(1)
64
+
65
+ valid, message = validate_skill(sys.argv[1])
66
+ print(message)
67
+ sys.exit(0 if valid else 1)
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: sonarqube-check
3
+ description: This skill should be used when checking why the last pull request failed SonarQube/SonarCloud quality gates. It uses the SonarQube MCP server to retrieve failure details and report the reasons.
4
+ allowed-tools: ["mcp__sonarqube__*"]
5
+ ---
6
+
7
+ # SonarQube Check
8
+
9
+ Use the SonarQube MCP server to get the reason the last PR failed checks.
10
+
11
+ Retrieve the quality gate status and report all failures with their details.
@@ -0,0 +1,8 @@
1
+ ---
2
+ name: sonarqube-fix
3
+ description: This skill should be used when fixing SonarQube quality gate failures. It runs the sonarqube:check skill to identify failures, fixes the identified issues, and then commits the changes using the git:commit skill.
4
+ ---
5
+
6
+ 1. Run /sonarqube-check
7
+ 2. Fix the SonarQube quality gate failures identified in step 1
8
+ 3. Run /git-commit
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: tasks-load
3
+ description: This skill should be used when loading tasks from a project directory into the current Claude Code session. It reads task JSON files from session subdirectories, recreates them in the current session, and sets the active project marker.
4
+ allowed-tools: ["Read", "Bash", "TaskCreate", "TaskUpdate", "TaskList"]
5
+ ---
6
+
7
+ # Load Project Tasks
8
+
9
+ Load tasks from `projects/$ARGUMENTS/tasks/` into the current Claude Code session.
10
+
11
+ Tasks are stored in session subdirectories to preserve history across `/clear` commands:
12
+ ```
13
+ projects/$ARGUMENTS/tasks/
14
+ ├── {session-1-uuid}/
15
+ │ ├── 1.json
16
+ │ └── 2.json
17
+ └── {session-2-uuid}/
18
+ ├── 1.json
19
+ └── 2.json
20
+ ```
21
+
22
+ ## Process
23
+
24
+ ### Step 1: Validate Project
25
+
26
+ Check if the project exists and has task files:
27
+
28
+ ```bash
29
+ find projects/$ARGUMENTS/tasks -name "*.json" 2>/dev/null | head -5
30
+ ```
31
+
32
+ If no task files exist, report: "No tasks found in projects/$ARGUMENTS/tasks/"
33
+
34
+ List available sessions:
35
+
36
+ ```bash
37
+ ls -dt projects/$ARGUMENTS/tasks/*/ 2>/dev/null | head -10
38
+ ```
39
+
40
+ ### Step 2: Set Active Project
41
+
42
+ Create the active project marker:
43
+
44
+ ```bash
45
+ echo "$ARGUMENTS" > .claude-active-project
46
+ ```
47
+
48
+ This ensures any new tasks created will sync back to this project.
49
+
50
+ ### Step 3: Load Tasks
51
+
52
+ Find and load all task JSON files from ALL session directories:
53
+
54
+ ```bash
55
+ find projects/$ARGUMENTS/tasks -name "*.json" -type f
56
+ ```
57
+
58
+ For each JSON file found:
59
+
60
+ 1. Read the task JSON file
61
+ 2. Use TaskCreate to recreate the task with:
62
+ - subject from JSON
63
+ - description from JSON
64
+ - activeForm from JSON
65
+ - metadata: `{ "project": "$ARGUMENTS" }`
66
+ 3. If the task was already completed (status: "completed"), use TaskUpdate to mark it completed
67
+
68
+ ### Step 4: Report
69
+
70
+ After loading all tasks, report:
71
+
72
+ ```
73
+ Loaded X tasks from projects/$ARGUMENTS/tasks/
74
+ - Sessions found: N
75
+ - Pending: Y
76
+ - Completed: Z
77
+
78
+ Active project set to: $ARGUMENTS
79
+ New tasks will automatically sync to this project.
80
+ ```
81
+
82
+ ## Notes
83
+
84
+ - Tasks are recreated with new IDs in the current session
85
+ - The original task IDs from the project are not preserved
86
+ - Tasks from ALL sessions are loaded (full history)
87
+ - Task dependencies (blocks/blockedBy) are NOT currently preserved across load/sync cycles
88
+ - Use TaskList to see the loaded tasks
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: tasks-sync
3
+ description: This skill should be used when syncing current session tasks to a project directory. It exports all tasks from the current Claude Code session to JSON files in the project's tasks directory, enabling persistence across sessions.
4
+ allowed-tools: ["Read", "Write", "Bash", "TaskList", "TaskGet"]
5
+ ---
6
+
7
+ # Sync Tasks to Project
8
+
9
+ Sync all tasks from the current session to `projects/$ARGUMENTS/tasks/{session-id}/`.
10
+
11
+ This skill is for manual syncing when work started without setting an active project. Once synced, the automatic hook handles future task updates.
12
+
13
+ ## Process
14
+
15
+ ### Step 1: Validate Project
16
+
17
+ Check if the project directory exists:
18
+
19
+ ```bash
20
+ ls -d projects/$ARGUMENTS 2>/dev/null
21
+ ```
22
+
23
+ If the project doesn't exist, ask: "Project '$ARGUMENTS' doesn't exist. Create it?"
24
+
25
+ If yes, create the project structure:
26
+
27
+ ```bash
28
+ mkdir -p projects/$ARGUMENTS/tasks
29
+ ```
30
+
31
+ ### Step 2: Determine Session ID
32
+
33
+ Find the current session by looking for the most recently modified task directory:
34
+
35
+ ```bash
36
+ ls -dt ~/.claude/tasks/*/ 2>/dev/null | head -1 | xargs basename
37
+ ```
38
+
39
+ If no session found, use a timestamp-based identifier:
40
+
41
+ ```bash
42
+ echo "manual-$(date +%Y%m%d-%H%M%S)"
43
+ ```
44
+
45
+ Store the session ID for use in subsequent steps.
46
+
47
+ ### Step 3: Set Active Project
48
+
49
+ Create/update the active project marker:
50
+
51
+ ```bash
52
+ echo "$ARGUMENTS" > .claude-active-project
53
+ ```
54
+
55
+ ### Step 4: Get Current Tasks
56
+
57
+ Use TaskList to get all tasks in the current session.
58
+
59
+ ### Step 5: Sync Each Task
60
+
61
+ For each task from TaskList:
62
+
63
+ 1. Use TaskGet to get full task details
64
+ 2. Create the session directory:
65
+
66
+ ```bash
67
+ mkdir -p projects/$ARGUMENTS/tasks/{session-id}
68
+ ```
69
+
70
+ 3. Create a JSON file with the task data:
71
+
72
+ ```json
73
+ {
74
+ "id": "<task-id>",
75
+ "subject": "<subject>",
76
+ "description": "<description>",
77
+ "activeForm": "<activeForm>",
78
+ "status": "<status>",
79
+ "blocks": [],
80
+ "blockedBy": []
81
+ }
82
+ ```
83
+
84
+ 4. Write to `projects/$ARGUMENTS/tasks/{session-id}/<id>.json`
85
+
86
+ ### Step 6: Stage for Git
87
+
88
+ ```bash
89
+ git add projects/$ARGUMENTS/tasks/{session-id}/*.json
90
+ ```
91
+
92
+ ### Step 7: Report
93
+
94
+ ```
95
+ Synced X tasks to projects/$ARGUMENTS/tasks/{session-id}/
96
+ - Pending: Y
97
+ - In Progress: Z
98
+ - Completed: W
99
+
100
+ Files staged for commit. Run /git-commit when ready.
101
+ ```
102
+
103
+ ## Notes
104
+
105
+ - This skill manually syncs all current tasks to a project
106
+ - Use this when work started without a project context
107
+ - After syncing, the active project is set so future tasks auto-sync via the hook
108
+ - Each sync creates a new session directory to preserve history
@@ -0,0 +1,314 @@
1
+ ---
2
+ name: testing-library
3
+ description: Enforces best practices for unit testing with Jest, @testing-library/react-native, and jest-expo in Expo projects. This skill should be used when writing, reviewing, or debugging unit tests to ensure tests are accessible, maintainable, and follow Testing Library guiding principles. Use this skill for test file creation, query selection, async handling, mocking patterns, and Expo Router testing.
4
+ ---
5
+
6
+ # Testing Library Best Practices
7
+
8
+ ## Overview
9
+
10
+ This skill enforces best practices for unit testing in Expo applications using Jest, `@testing-library/react-native`, and `jest-expo`. Tests should be **user-centric**, **accessible**, and **behavior-focused** rather than implementation-focused.
11
+
12
+ ## Core Principles
13
+
14
+ ### 1. Test User Behavior, Not Implementation
15
+
16
+ Focus on what the component does from a user's perspective, not how it achieves it internally.
17
+
18
+ ```typescript
19
+ // Correct - tests visible behavior
20
+ expect(screen.getByRole("button", { name: "Submit" })).toBeEnabled();
21
+
22
+ // Incorrect - tests implementation details
23
+ expect(component.state.isSubmitting).toBe(false);
24
+ ```
25
+
26
+ ### 2. Use Accessible Queries
27
+
28
+ Queries should reflect how users and assistive technologies interact with the UI.
29
+
30
+ ```typescript
31
+ // Correct - uses accessible role and name
32
+ screen.getByRole("button", { name: /save changes/i });
33
+
34
+ // Incorrect - relies on implementation detail
35
+ screen.getByTestId("save-btn");
36
+ ```
37
+
38
+ ### 3. One Assertion Per Behavior
39
+
40
+ Each test should verify one behavior. Multiple assertions are acceptable when verifying different aspects of the same behavior.
41
+
42
+ ```typescript
43
+ // Correct - focused test
44
+ test("displays error message when submission fails", async () => {
45
+ render(<Form />);
46
+ await userEvent.press(screen.getByRole("button", { name: "Submit" }));
47
+ expect(await screen.findByRole("alert")).toHaveTextContent("Failed");
48
+ });
49
+
50
+ // Incorrect - testing multiple behaviors
51
+ test("form works correctly", async () => {
52
+ // Tests validation, submission, success, and error handling...
53
+ });
54
+ ```
55
+
56
+ ### 4. Prefer userEvent Over fireEvent
57
+
58
+ `userEvent` simulates realistic user interactions including the full event sequence.
59
+
60
+ ```typescript
61
+ // Correct - realistic interaction
62
+ const user = userEvent.setup();
63
+ await user.press(screen.getByRole("button", { name: "Submit" }));
64
+
65
+ // Less ideal - simplified event
66
+ fireEvent.press(screen.getByRole("button", { name: "Submit" }));
67
+ ```
68
+
69
+ ## Query Priority
70
+
71
+ Choose queries based on accessibility, following this priority order:
72
+
73
+ | Priority | Query | When to Use |
74
+ | -------- | ---------------- | --------------------------------------- |
75
+ | 1 | `getByRole` | Interactive elements, headings, buttons |
76
+ | 2 | `getByLabelText` | Form fields with labels |
77
+ | 3 | `getByText` | Non-interactive content, static text |
78
+ | 4 | `getByTestId` | Last resort when semantic queries fail |
79
+
80
+ For detailed query patterns, see [references/query-priority.md](references/query-priority.md).
81
+
82
+ ## Async Testing Patterns
83
+
84
+ ### Use findBy for Async Assertions
85
+
86
+ ```typescript
87
+ // Correct - waits for element to appear
88
+ expect(await screen.findByRole("alert")).toBeOnTheScreen();
89
+
90
+ // Incorrect - may fail if element appears async
91
+ expect(screen.getByRole("alert")).toBeOnTheScreen();
92
+ ```
93
+
94
+ ### Use waitFor for Side Effects
95
+
96
+ ```typescript
97
+ // Correct - assertion inside waitFor
98
+ await waitFor(() => {
99
+ expect(mockCallback).toHaveBeenCalledWith("success");
100
+ });
101
+
102
+ // Incorrect - side effect inside waitFor
103
+ await waitFor(() => {
104
+ fireEvent.press(button); // Never do this
105
+ });
106
+ ```
107
+
108
+ For comprehensive async patterns, see [references/async-patterns.md](references/async-patterns.md).
109
+
110
+ ## Mocking Patterns
111
+
112
+ ### Required Global Mocks
113
+
114
+ These must be configured in `jest/setup-jest.ts`:
115
+
116
+ ```typescript
117
+ // AsyncStorage
118
+ jest.mock("@react-native-async-storage/async-storage", () =>
119
+ require("@react-native-async-storage/async-storage/jest/async-storage-mock")
120
+ );
121
+
122
+ // Expo Fonts (to avoid async icon assertions)
123
+ jest.mock("expo-font", () => ({
124
+ ...jest.requireActual("expo-font"),
125
+ isLoaded: jest.fn(() => true),
126
+ }));
127
+ ```
128
+
129
+ For complete mocking patterns, see [references/mocking-patterns.md](references/mocking-patterns.md).
130
+
131
+ ## Expo Router Testing
132
+
133
+ Use `renderRouter` from `expo-router/testing-library` instead of `render` when testing components that use Expo Router.
134
+
135
+ ```typescript
136
+ import { renderRouter, screen } from "expo-router/testing-library";
137
+
138
+ test("navigates to player detail", async () => {
139
+ renderRouter({
140
+ index: () => <PlayerList />,
141
+ "players/[id]": () => <PlayerDetail />,
142
+ });
143
+
144
+ await userEvent.press(screen.getByRole("button", { name: "View Player" }));
145
+ expect(screen).toHavePathname("/players/123");
146
+ });
147
+ ```
148
+
149
+ For Expo Router testing details, see [references/expo-router-testing.md](references/expo-router-testing.md).
150
+
151
+ ## Test Structure
152
+
153
+ ### File Organization
154
+
155
+ - Place test files in `__tests__/` directories, not alongside source files
156
+ - Never place tests inside the `app/` directory (Expo Router constraint)
157
+ - Use `.test.ts` or `.test.tsx` extensions
158
+
159
+ ### AAA Pattern
160
+
161
+ Structure every test with Arrange-Act-Assert:
162
+
163
+ ```typescript
164
+ test("increments counter when button pressed", async () => {
165
+ // Arrange
166
+ const user = userEvent.setup();
167
+ render(<Counter initialCount={0} />);
168
+
169
+ // Act
170
+ await user.press(screen.getByRole("button", { name: "Increment" }));
171
+
172
+ // Assert
173
+ expect(screen.getByRole("text", { name: "Count: 1" })).toBeOnTheScreen();
174
+ });
175
+ ```
176
+
177
+ ### Descriptive Test Names
178
+
179
+ Use descriptive names that explain the expected behavior:
180
+
181
+ ```typescript
182
+ // Correct - describes behavior
183
+ test("displays validation error when email format is invalid", () => {});
184
+ test("disables submit button while form is submitting", () => {});
185
+
186
+ // Incorrect - vague or implementation-focused
187
+ test("email validation works", () => {});
188
+ test("sets isSubmitting to true", () => {});
189
+ ```
190
+
191
+ ## Jest Configuration
192
+
193
+ ### Manual React Native Resolution (No Preset)
194
+
195
+ Lisa configures Jest manually instead of using the `jest-expo` preset to avoid
196
+ jsdom incompatibility with `react-native/jest/setup.js`. The configuration in
197
+ `jest.expo.ts` provides haste, resolver, transform, and setupFiles that match
198
+ the preset's behavior without redefining `window`.
199
+
200
+ ### Use Fake Timers with userEvent
201
+
202
+ ```typescript
203
+ jest.useFakeTimers();
204
+
205
+ test("handles debounced input", async () => {
206
+ const user = userEvent.setup();
207
+ render(<SearchInput />);
208
+
209
+ await user.type(screen.getByRole("textbox"), "query");
210
+ jest.runAllTimers();
211
+
212
+ expect(await screen.findByText("Results")).toBeOnTheScreen();
213
+ });
214
+ ```
215
+
216
+ ## Anti-Patterns
217
+
218
+ ### Never Test Implementation Details
219
+
220
+ ```typescript
221
+ // Wrong - testing internal state
222
+ expect(wrapper.state().isLoading).toBe(true);
223
+
224
+ // Wrong - testing component methods
225
+ expect(wrapper.instance().handleSubmit).toHaveBeenCalled();
226
+
227
+ // Correct - testing visible behavior
228
+ expect(screen.getByRole("progressbar")).toBeOnTheScreen();
229
+ ```
230
+
231
+ ### Never Use getByTestId as Default
232
+
233
+ ```typescript
234
+ // Wrong - using testID when semantic query exists
235
+ screen.getByTestId("submit-button");
236
+
237
+ // Correct - using accessible query
238
+ screen.getByRole("button", { name: "Submit" });
239
+ ```
240
+
241
+ ### Never Wrap render or fireEvent in act()
242
+
243
+ ```typescript
244
+ // Wrong - unnecessary act wrapper
245
+ await act(async () => {
246
+ render(<Component />);
247
+ });
248
+
249
+ // Correct - render already wraps in act
250
+ render(<Component />);
251
+ ```
252
+
253
+ ### Never Put Side Effects in waitFor
254
+
255
+ ```typescript
256
+ // Wrong - side effect in waitFor
257
+ await waitFor(() => {
258
+ fireEvent.press(button);
259
+ expect(result).toBeOnTheScreen();
260
+ });
261
+
262
+ // Correct - side effect before waitFor
263
+ fireEvent.press(button);
264
+ await waitFor(() => {
265
+ expect(result).toBeOnTheScreen();
266
+ });
267
+ ```
268
+
269
+ ### Never Use Multiple Assertions in waitFor
270
+
271
+ ```typescript
272
+ // Wrong - multiple assertions
273
+ await waitFor(() => {
274
+ expect(title).toBeOnTheScreen();
275
+ expect(subtitle).toBeOnTheScreen();
276
+ expect(button).toBeEnabled();
277
+ });
278
+
279
+ // Correct - single assertion, chain with findBy
280
+ expect(await screen.findByRole("heading")).toBeOnTheScreen();
281
+ expect(screen.getByText("Subtitle")).toBeOnTheScreen();
282
+ expect(screen.getByRole("button")).toBeEnabled();
283
+ ```
284
+
285
+ ## Quick Reference
286
+
287
+ ### Common Matchers
288
+
289
+ | Matcher | Purpose |
290
+ | --------------------- | ------------------------------- |
291
+ | `toBeOnTheScreen()` | Element is currently rendered |
292
+ | `toBeEnabled()` | Interactive element is enabled |
293
+ | `toBeDisabled()` | Interactive element is disabled |
294
+ | `toHaveTextContent()` | Element contains text |
295
+ | `toBeVisible()` | Element is visible to user |
296
+ | `toBeChecked()` | Checkbox/radio is checked |
297
+
298
+ ### Query Variants
299
+
300
+ | Prefix | Returns | Throws on 0 | Throws on >1 | Async |
301
+ | ---------- | -------------------- | ----------- | ------------ | ----- |
302
+ | getBy | Element | Yes | Yes | No |
303
+ | queryBy | Element \| null | No | Yes | No |
304
+ | findBy | Promise\<Element\> | Yes | Yes | Yes |
305
+ | getAllBy | Element[] | Yes | No | No |
306
+ | queryAllBy | Element[] | No | No | No |
307
+ | findAllBy | Promise\<Element[]\> | Yes | No | Yes |
308
+
309
+ ## References
310
+
311
+ - [Query Priority](references/query-priority.md) - Detailed query selection guidance
312
+ - [Async Patterns](references/async-patterns.md) - Comprehensive async testing patterns
313
+ - [Mocking Patterns](references/mocking-patterns.md) - Common mocking configurations
314
+ - [Expo Router Testing](references/expo-router-testing.md) - Testing with Expo Router