@codyswann/lisa 1.56.1 → 1.56.2

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 (468) hide show
  1. package/.claude-plugin/marketplace.json +11 -5
  2. package/all/merge/.claude/settings.json +7 -0
  3. package/package.json +1 -1
  4. package/plugins/lisa/.claude-plugin/plugin.json +148 -0
  5. package/plugins/lisa-cdk/.claude-plugin/plugin.json +3 -159
  6. package/plugins/lisa-expo/.claude-plugin/plugin.json +2 -146
  7. package/plugins/lisa-expo/commands/jira/add-journey.md +1 -1
  8. package/plugins/lisa-expo/commands/jira/create.md +1 -1
  9. package/plugins/lisa-expo/commands/jira/evidence.md +1 -1
  10. package/plugins/lisa-expo/commands/jira/journey.md +1 -1
  11. package/plugins/lisa-expo/commands/jira/verify.md +1 -1
  12. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +3 -159
  13. package/plugins/lisa-rails/.claude-plugin/plugin.json +2 -120
  14. package/plugins/lisa-rails/commands/jira/add-journey.md +1 -1
  15. package/plugins/lisa-rails/commands/jira/create.md +1 -1
  16. package/plugins/lisa-rails/commands/jira/evidence.md +1 -1
  17. package/plugins/lisa-rails/commands/jira/journey.md +1 -1
  18. package/plugins/lisa-rails/commands/jira/verify.md +1 -1
  19. package/plugins/lisa-rails/commands/plan/add-test-coverage.md +1 -1
  20. package/plugins/lisa-rails/commands/plan/fix-linter-error.md +1 -1
  21. package/plugins/lisa-rails/commands/plan/lower-code-complexity.md +1 -1
  22. package/plugins/lisa-rails/commands/plan/reduce-max-lines-per-function.md +1 -1
  23. package/plugins/lisa-rails/commands/plan/reduce-max-lines.md +1 -1
  24. package/plugins/lisa-typescript/.claude-plugin/plugin.json +2 -127
  25. package/plugins/src/base/.claude-plugin/plugin.json +78 -0
  26. package/plugins/src/cdk/.claude-plugin/plugin.json +2 -81
  27. package/plugins/src/expo/.claude-plugin/plugin.json +1 -68
  28. package/plugins/{lisa-typescript → src/expo}/commands/jira/add-journey.md +1 -1
  29. package/plugins/{lisa-nestjs → src/expo}/commands/jira/create.md +1 -1
  30. package/plugins/{lisa-nestjs → src/expo}/commands/jira/evidence.md +1 -1
  31. package/plugins/{lisa-nestjs → src/expo}/commands/jira/journey.md +1 -1
  32. package/plugins/{lisa-nestjs → src/expo}/commands/jira/verify.md +1 -1
  33. package/plugins/src/nestjs/.claude-plugin/plugin.json +2 -81
  34. package/plugins/src/rails/.claude-plugin/plugin.json +1 -59
  35. package/plugins/{lisa-nestjs → src/rails}/commands/jira/add-journey.md +1 -1
  36. package/plugins/{lisa-typescript → src/rails}/commands/jira/create.md +1 -1
  37. package/plugins/{lisa-typescript → src/rails}/commands/jira/evidence.md +1 -1
  38. package/plugins/{lisa-typescript → src/rails}/commands/jira/journey.md +1 -1
  39. package/plugins/{lisa-typescript → src/rails}/commands/jira/verify.md +1 -1
  40. package/plugins/{lisa-expo → src/rails}/commands/plan/add-test-coverage.md +1 -1
  41. package/plugins/{lisa-expo → src/rails}/commands/plan/fix-linter-error.md +1 -1
  42. package/plugins/{lisa-expo → src/rails}/commands/plan/lower-code-complexity.md +1 -1
  43. package/plugins/{lisa-expo → src/rails}/commands/plan/reduce-max-lines-per-function.md +1 -1
  44. package/plugins/{lisa-expo → src/rails}/commands/plan/reduce-max-lines.md +1 -1
  45. package/plugins/src/typescript/.claude-plugin/plugin.json +1 -58
  46. package/scripts/build-plugins.sh +30 -17
  47. package/scripts/install-claude-plugins.sh +28 -11
  48. package/typescript/merge/.claude/settings.json +2 -2
  49. package/plugins/lisa-expo/agents/agent-architect.md +0 -310
  50. package/plugins/lisa-expo/agents/architecture-specialist.md +0 -53
  51. package/plugins/lisa-expo/agents/debug-specialist.md +0 -204
  52. package/plugins/lisa-expo/agents/git-history-analyzer.md +0 -183
  53. package/plugins/lisa-expo/agents/hooks-expert.md +0 -74
  54. package/plugins/lisa-expo/agents/implementer.md +0 -54
  55. package/plugins/lisa-expo/agents/learner.md +0 -44
  56. package/plugins/lisa-expo/agents/performance-specialist.md +0 -95
  57. package/plugins/lisa-expo/agents/product-specialist.md +0 -72
  58. package/plugins/lisa-expo/agents/quality-specialist.md +0 -55
  59. package/plugins/lisa-expo/agents/security-specialist.md +0 -58
  60. package/plugins/lisa-expo/agents/skill-evaluator.md +0 -246
  61. package/plugins/lisa-expo/agents/slash-command-architect.md +0 -87
  62. package/plugins/lisa-expo/agents/test-specialist.md +0 -64
  63. package/plugins/lisa-expo/agents/verification-specialist.md +0 -189
  64. package/plugins/lisa-expo/agents/web-search-researcher.md +0 -112
  65. package/plugins/lisa-expo/commands/git/commit-and-submit-pr.md +0 -7
  66. package/plugins/lisa-expo/commands/git/commit-submit-pr-and-verify.md +0 -7
  67. package/plugins/lisa-expo/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  68. package/plugins/lisa-expo/commands/git/commit.md +0 -7
  69. package/plugins/lisa-expo/commands/git/prune.md +0 -6
  70. package/plugins/lisa-expo/commands/git/submit-pr.md +0 -7
  71. package/plugins/lisa-expo/commands/jira/fix.md +0 -7
  72. package/plugins/lisa-expo/commands/jira/implement.md +0 -7
  73. package/plugins/lisa-expo/commands/jira/sync.md +0 -7
  74. package/plugins/lisa-expo/commands/plan/create.md +0 -6
  75. package/plugins/lisa-expo/commands/plan/execute.md +0 -7
  76. package/plugins/lisa-expo/commands/plan/local-code-review.md +0 -6
  77. package/plugins/lisa-expo/commands/pull-request/review.md +0 -7
  78. package/plugins/lisa-expo/commands/review/implementation.md +0 -7
  79. package/plugins/lisa-expo/commands/security/zap-scan.md +0 -6
  80. package/plugins/lisa-expo/commands/sonarqube/check.md +0 -6
  81. package/plugins/lisa-expo/commands/sonarqube/fix.md +0 -6
  82. package/plugins/lisa-expo/commands/tasks/load.md +0 -7
  83. package/plugins/lisa-expo/commands/tasks/sync.md +0 -7
  84. package/plugins/lisa-expo/hooks/debug-hook.sh +0 -47
  85. package/plugins/lisa-expo/hooks/enforce-plan-rules.sh +0 -15
  86. package/plugins/lisa-expo/hooks/format-on-edit.sh +0 -76
  87. package/plugins/lisa-expo/hooks/install-pkgs.sh +0 -64
  88. package/plugins/lisa-expo/hooks/lint-on-edit.sh +0 -81
  89. package/plugins/lisa-expo/hooks/notify-ntfy.sh +0 -183
  90. package/plugins/lisa-expo/hooks/setup-jira-cli.sh +0 -52
  91. package/plugins/lisa-expo/hooks/sg-scan-on-edit.sh +0 -68
  92. package/plugins/lisa-expo/hooks/sync-tasks.sh +0 -107
  93. package/plugins/lisa-expo/hooks/ticket-sync-reminder.sh +0 -23
  94. package/plugins/lisa-expo/hooks/track-plan-sessions.sh +0 -164
  95. package/plugins/lisa-expo/hooks/verify-completion.sh +0 -77
  96. package/plugins/lisa-expo/rules/README.md +0 -240
  97. package/plugins/lisa-expo/rules/coding-philosophy.md +0 -428
  98. package/plugins/lisa-expo/rules/lisa.md +0 -37
  99. package/plugins/lisa-expo/rules/verfication.md +0 -596
  100. package/plugins/lisa-expo/skills/agent-design-best-practices/SKILL.md +0 -219
  101. package/plugins/lisa-expo/skills/git-commit/SKILL.md +0 -48
  102. package/plugins/lisa-expo/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  103. package/plugins/lisa-expo/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  104. package/plugins/lisa-expo/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  105. package/plugins/lisa-expo/skills/git-prune/SKILL.md +0 -35
  106. package/plugins/lisa-expo/skills/git-submit-pr/SKILL.md +0 -44
  107. package/plugins/lisa-expo/skills/jira-fix/SKILL.md +0 -16
  108. package/plugins/lisa-expo/skills/jira-implement/SKILL.md +0 -18
  109. package/plugins/lisa-expo/skills/jira-sync/SKILL.md +0 -63
  110. package/plugins/lisa-expo/skills/jsdoc-best-practices/SKILL.md +0 -432
  111. package/plugins/lisa-expo/skills/lisa-review-implementation/SKILL.md +0 -209
  112. package/plugins/lisa-expo/skills/plan-add-test-coverage/SKILL.md +0 -44
  113. package/plugins/lisa-expo/skills/plan-execute/SKILL.md +0 -89
  114. package/plugins/lisa-expo/skills/plan-fix-linter-error/SKILL.md +0 -45
  115. package/plugins/lisa-expo/skills/plan-local-code-review/SKILL.md +0 -88
  116. package/plugins/lisa-expo/skills/plan-lower-code-complexity/SKILL.md +0 -44
  117. package/plugins/lisa-expo/skills/plan-reduce-max-lines/SKILL.md +0 -45
  118. package/plugins/lisa-expo/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  119. package/plugins/lisa-expo/skills/pull-request-review/SKILL.md +0 -68
  120. package/plugins/lisa-expo/skills/security-zap-scan/SKILL.md +0 -33
  121. package/plugins/lisa-expo/skills/sonarqube-check/SKILL.md +0 -11
  122. package/plugins/lisa-expo/skills/sonarqube-fix/SKILL.md +0 -8
  123. package/plugins/lisa-expo/skills/tasks-load/SKILL.md +0 -88
  124. package/plugins/lisa-expo/skills/tasks-sync/SKILL.md +0 -108
  125. package/plugins/lisa-nestjs/agents/agent-architect.md +0 -310
  126. package/plugins/lisa-nestjs/agents/architecture-specialist.md +0 -53
  127. package/plugins/lisa-nestjs/agents/debug-specialist.md +0 -204
  128. package/plugins/lisa-nestjs/agents/git-history-analyzer.md +0 -183
  129. package/plugins/lisa-nestjs/agents/hooks-expert.md +0 -74
  130. package/plugins/lisa-nestjs/agents/implementer.md +0 -54
  131. package/plugins/lisa-nestjs/agents/learner.md +0 -44
  132. package/plugins/lisa-nestjs/agents/performance-specialist.md +0 -95
  133. package/plugins/lisa-nestjs/agents/product-specialist.md +0 -72
  134. package/plugins/lisa-nestjs/agents/quality-specialist.md +0 -55
  135. package/plugins/lisa-nestjs/agents/security-specialist.md +0 -58
  136. package/plugins/lisa-nestjs/agents/skill-evaluator.md +0 -246
  137. package/plugins/lisa-nestjs/agents/slash-command-architect.md +0 -87
  138. package/plugins/lisa-nestjs/agents/test-specialist.md +0 -64
  139. package/plugins/lisa-nestjs/agents/verification-specialist.md +0 -189
  140. package/plugins/lisa-nestjs/agents/web-search-researcher.md +0 -112
  141. package/plugins/lisa-nestjs/commands/git/commit-and-submit-pr.md +0 -7
  142. package/plugins/lisa-nestjs/commands/git/commit-submit-pr-and-verify.md +0 -7
  143. package/plugins/lisa-nestjs/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  144. package/plugins/lisa-nestjs/commands/git/commit.md +0 -7
  145. package/plugins/lisa-nestjs/commands/git/prune.md +0 -6
  146. package/plugins/lisa-nestjs/commands/git/submit-pr.md +0 -7
  147. package/plugins/lisa-nestjs/commands/jira/fix.md +0 -7
  148. package/plugins/lisa-nestjs/commands/jira/implement.md +0 -7
  149. package/plugins/lisa-nestjs/commands/jira/sync.md +0 -7
  150. package/plugins/lisa-nestjs/commands/plan/add-test-coverage.md +0 -7
  151. package/plugins/lisa-nestjs/commands/plan/create.md +0 -6
  152. package/plugins/lisa-nestjs/commands/plan/execute.md +0 -7
  153. package/plugins/lisa-nestjs/commands/plan/fix-linter-error.md +0 -7
  154. package/plugins/lisa-nestjs/commands/plan/local-code-review.md +0 -6
  155. package/plugins/lisa-nestjs/commands/plan/lower-code-complexity.md +0 -6
  156. package/plugins/lisa-nestjs/commands/plan/reduce-max-lines-per-function.md +0 -7
  157. package/plugins/lisa-nestjs/commands/plan/reduce-max-lines.md +0 -7
  158. package/plugins/lisa-nestjs/commands/pull-request/review.md +0 -7
  159. package/plugins/lisa-nestjs/commands/review/implementation.md +0 -7
  160. package/plugins/lisa-nestjs/commands/security/zap-scan.md +0 -6
  161. package/plugins/lisa-nestjs/commands/sonarqube/check.md +0 -6
  162. package/plugins/lisa-nestjs/commands/sonarqube/fix.md +0 -6
  163. package/plugins/lisa-nestjs/commands/tasks/load.md +0 -7
  164. package/plugins/lisa-nestjs/commands/tasks/sync.md +0 -7
  165. package/plugins/lisa-nestjs/hooks/debug-hook.sh +0 -47
  166. package/plugins/lisa-nestjs/hooks/enforce-plan-rules.sh +0 -15
  167. package/plugins/lisa-nestjs/hooks/format-on-edit.sh +0 -76
  168. package/plugins/lisa-nestjs/hooks/install-pkgs.sh +0 -64
  169. package/plugins/lisa-nestjs/hooks/lint-on-edit.sh +0 -81
  170. package/plugins/lisa-nestjs/hooks/notify-ntfy.sh +0 -183
  171. package/plugins/lisa-nestjs/hooks/setup-jira-cli.sh +0 -52
  172. package/plugins/lisa-nestjs/hooks/sg-scan-on-edit.sh +0 -68
  173. package/plugins/lisa-nestjs/hooks/sync-tasks.sh +0 -107
  174. package/plugins/lisa-nestjs/hooks/ticket-sync-reminder.sh +0 -23
  175. package/plugins/lisa-nestjs/hooks/track-plan-sessions.sh +0 -164
  176. package/plugins/lisa-nestjs/hooks/verify-completion.sh +0 -77
  177. package/plugins/lisa-nestjs/rules/README.md +0 -240
  178. package/plugins/lisa-nestjs/rules/coding-philosophy.md +0 -428
  179. package/plugins/lisa-nestjs/rules/lisa.md +0 -37
  180. package/plugins/lisa-nestjs/rules/verfication.md +0 -596
  181. package/plugins/lisa-nestjs/skills/agent-design-best-practices/SKILL.md +0 -219
  182. package/plugins/lisa-nestjs/skills/git-commit/SKILL.md +0 -48
  183. package/plugins/lisa-nestjs/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  184. package/plugins/lisa-nestjs/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  185. package/plugins/lisa-nestjs/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  186. package/plugins/lisa-nestjs/skills/git-prune/SKILL.md +0 -35
  187. package/plugins/lisa-nestjs/skills/git-submit-pr/SKILL.md +0 -44
  188. package/plugins/lisa-nestjs/skills/jira-add-journey/SKILL.md +0 -120
  189. package/plugins/lisa-nestjs/skills/jira-create/SKILL.md +0 -95
  190. package/plugins/lisa-nestjs/skills/jira-evidence/SKILL.md +0 -73
  191. package/plugins/lisa-nestjs/skills/jira-evidence/scripts/post-evidence.sh +0 -163
  192. package/plugins/lisa-nestjs/skills/jira-fix/SKILL.md +0 -16
  193. package/plugins/lisa-nestjs/skills/jira-implement/SKILL.md +0 -18
  194. package/plugins/lisa-nestjs/skills/jira-journey/SKILL.md +0 -125
  195. package/plugins/lisa-nestjs/skills/jira-journey/scripts/generate-templates.py +0 -233
  196. package/plugins/lisa-nestjs/skills/jira-journey/scripts/parse-plan.py +0 -368
  197. package/plugins/lisa-nestjs/skills/jira-sync/SKILL.md +0 -63
  198. package/plugins/lisa-nestjs/skills/jira-verify/SKILL.md +0 -48
  199. package/plugins/lisa-nestjs/skills/jsdoc-best-practices/SKILL.md +0 -432
  200. package/plugins/lisa-nestjs/skills/lisa-review-implementation/SKILL.md +0 -209
  201. package/plugins/lisa-nestjs/skills/plan-add-test-coverage/SKILL.md +0 -44
  202. package/plugins/lisa-nestjs/skills/plan-execute/SKILL.md +0 -89
  203. package/plugins/lisa-nestjs/skills/plan-fix-linter-error/SKILL.md +0 -45
  204. package/plugins/lisa-nestjs/skills/plan-local-code-review/SKILL.md +0 -88
  205. package/plugins/lisa-nestjs/skills/plan-lower-code-complexity/SKILL.md +0 -44
  206. package/plugins/lisa-nestjs/skills/plan-reduce-max-lines/SKILL.md +0 -45
  207. package/plugins/lisa-nestjs/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  208. package/plugins/lisa-nestjs/skills/pull-request-review/SKILL.md +0 -68
  209. package/plugins/lisa-nestjs/skills/security-zap-scan/SKILL.md +0 -33
  210. package/plugins/lisa-nestjs/skills/sonarqube-check/SKILL.md +0 -11
  211. package/plugins/lisa-nestjs/skills/sonarqube-fix/SKILL.md +0 -8
  212. package/plugins/lisa-nestjs/skills/tasks-load/SKILL.md +0 -88
  213. package/plugins/lisa-nestjs/skills/tasks-sync/SKILL.md +0 -108
  214. package/plugins/lisa-rails/agents/agent-architect.md +0 -310
  215. package/plugins/lisa-rails/agents/architecture-specialist.md +0 -53
  216. package/plugins/lisa-rails/agents/debug-specialist.md +0 -204
  217. package/plugins/lisa-rails/agents/git-history-analyzer.md +0 -183
  218. package/plugins/lisa-rails/agents/hooks-expert.md +0 -74
  219. package/plugins/lisa-rails/agents/implementer.md +0 -54
  220. package/plugins/lisa-rails/agents/learner.md +0 -44
  221. package/plugins/lisa-rails/agents/performance-specialist.md +0 -95
  222. package/plugins/lisa-rails/agents/product-specialist.md +0 -72
  223. package/plugins/lisa-rails/agents/quality-specialist.md +0 -55
  224. package/plugins/lisa-rails/agents/security-specialist.md +0 -58
  225. package/plugins/lisa-rails/agents/skill-evaluator.md +0 -246
  226. package/plugins/lisa-rails/agents/slash-command-architect.md +0 -87
  227. package/plugins/lisa-rails/agents/test-specialist.md +0 -64
  228. package/plugins/lisa-rails/agents/verification-specialist.md +0 -189
  229. package/plugins/lisa-rails/agents/web-search-researcher.md +0 -112
  230. package/plugins/lisa-rails/commands/git/commit-and-submit-pr.md +0 -7
  231. package/plugins/lisa-rails/commands/git/commit-submit-pr-and-verify.md +0 -7
  232. package/plugins/lisa-rails/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  233. package/plugins/lisa-rails/commands/git/commit.md +0 -7
  234. package/plugins/lisa-rails/commands/git/prune.md +0 -6
  235. package/plugins/lisa-rails/commands/git/submit-pr.md +0 -7
  236. package/plugins/lisa-rails/commands/jira/fix.md +0 -7
  237. package/plugins/lisa-rails/commands/jira/implement.md +0 -7
  238. package/plugins/lisa-rails/commands/jira/sync.md +0 -7
  239. package/plugins/lisa-rails/commands/plan/create.md +0 -6
  240. package/plugins/lisa-rails/commands/plan/execute.md +0 -7
  241. package/plugins/lisa-rails/commands/plan/local-code-review.md +0 -6
  242. package/plugins/lisa-rails/commands/pull-request/review.md +0 -7
  243. package/plugins/lisa-rails/commands/review/implementation.md +0 -7
  244. package/plugins/lisa-rails/commands/security/zap-scan.md +0 -6
  245. package/plugins/lisa-rails/commands/sonarqube/check.md +0 -6
  246. package/plugins/lisa-rails/commands/sonarqube/fix.md +0 -6
  247. package/plugins/lisa-rails/commands/tasks/load.md +0 -7
  248. package/plugins/lisa-rails/commands/tasks/sync.md +0 -7
  249. package/plugins/lisa-rails/hooks/debug-hook.sh +0 -47
  250. package/plugins/lisa-rails/hooks/enforce-plan-rules.sh +0 -15
  251. package/plugins/lisa-rails/hooks/format-on-edit.sh +0 -76
  252. package/plugins/lisa-rails/hooks/install-pkgs.sh +0 -64
  253. package/plugins/lisa-rails/hooks/lint-on-edit.sh +0 -81
  254. package/plugins/lisa-rails/hooks/notify-ntfy.sh +0 -183
  255. package/plugins/lisa-rails/hooks/setup-jira-cli.sh +0 -52
  256. package/plugins/lisa-rails/hooks/sg-scan-on-edit.sh +0 -68
  257. package/plugins/lisa-rails/hooks/sync-tasks.sh +0 -107
  258. package/plugins/lisa-rails/hooks/ticket-sync-reminder.sh +0 -23
  259. package/plugins/lisa-rails/hooks/track-plan-sessions.sh +0 -164
  260. package/plugins/lisa-rails/hooks/verify-completion.sh +0 -77
  261. package/plugins/lisa-rails/rules/README.md +0 -240
  262. package/plugins/lisa-rails/rules/coding-philosophy.md +0 -428
  263. package/plugins/lisa-rails/rules/verfication.md +0 -596
  264. package/plugins/lisa-rails/skills/agent-design-best-practices/SKILL.md +0 -219
  265. package/plugins/lisa-rails/skills/git-commit/SKILL.md +0 -48
  266. package/plugins/lisa-rails/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  267. package/plugins/lisa-rails/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  268. package/plugins/lisa-rails/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  269. package/plugins/lisa-rails/skills/git-prune/SKILL.md +0 -35
  270. package/plugins/lisa-rails/skills/git-submit-pr/SKILL.md +0 -44
  271. package/plugins/lisa-rails/skills/jira-fix/SKILL.md +0 -16
  272. package/plugins/lisa-rails/skills/jira-implement/SKILL.md +0 -18
  273. package/plugins/lisa-rails/skills/jira-journey/scripts/generate-templates.py +0 -233
  274. package/plugins/lisa-rails/skills/jira-journey/scripts/parse-plan.py +0 -368
  275. package/plugins/lisa-rails/skills/jira-sync/SKILL.md +0 -63
  276. package/plugins/lisa-rails/skills/jsdoc-best-practices/SKILL.md +0 -432
  277. package/plugins/lisa-rails/skills/lisa-review-implementation/SKILL.md +0 -209
  278. package/plugins/lisa-rails/skills/plan-execute/SKILL.md +0 -89
  279. package/plugins/lisa-rails/skills/plan-local-code-review/SKILL.md +0 -88
  280. package/plugins/lisa-rails/skills/pull-request-review/SKILL.md +0 -68
  281. package/plugins/lisa-rails/skills/security-zap-scan/SKILL.md +0 -33
  282. package/plugins/lisa-rails/skills/sonarqube-check/SKILL.md +0 -11
  283. package/plugins/lisa-rails/skills/sonarqube-fix/SKILL.md +0 -8
  284. package/plugins/lisa-rails/skills/tasks-load/SKILL.md +0 -88
  285. package/plugins/lisa-rails/skills/tasks-sync/SKILL.md +0 -108
  286. package/plugins/lisa-typescript/agents/agent-architect.md +0 -310
  287. package/plugins/lisa-typescript/agents/architecture-specialist.md +0 -53
  288. package/plugins/lisa-typescript/agents/debug-specialist.md +0 -204
  289. package/plugins/lisa-typescript/agents/git-history-analyzer.md +0 -183
  290. package/plugins/lisa-typescript/agents/hooks-expert.md +0 -74
  291. package/plugins/lisa-typescript/agents/implementer.md +0 -54
  292. package/plugins/lisa-typescript/agents/learner.md +0 -44
  293. package/plugins/lisa-typescript/agents/performance-specialist.md +0 -95
  294. package/plugins/lisa-typescript/agents/product-specialist.md +0 -72
  295. package/plugins/lisa-typescript/agents/quality-specialist.md +0 -55
  296. package/plugins/lisa-typescript/agents/security-specialist.md +0 -58
  297. package/plugins/lisa-typescript/agents/skill-evaluator.md +0 -246
  298. package/plugins/lisa-typescript/agents/slash-command-architect.md +0 -87
  299. package/plugins/lisa-typescript/agents/test-specialist.md +0 -64
  300. package/plugins/lisa-typescript/agents/verification-specialist.md +0 -189
  301. package/plugins/lisa-typescript/agents/web-search-researcher.md +0 -112
  302. package/plugins/lisa-typescript/commands/git/commit-and-submit-pr.md +0 -7
  303. package/plugins/lisa-typescript/commands/git/commit-submit-pr-and-verify.md +0 -7
  304. package/plugins/lisa-typescript/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  305. package/plugins/lisa-typescript/commands/git/commit.md +0 -7
  306. package/plugins/lisa-typescript/commands/git/prune.md +0 -6
  307. package/plugins/lisa-typescript/commands/git/submit-pr.md +0 -7
  308. package/plugins/lisa-typescript/commands/jira/fix.md +0 -7
  309. package/plugins/lisa-typescript/commands/jira/implement.md +0 -7
  310. package/plugins/lisa-typescript/commands/jira/sync.md +0 -7
  311. package/plugins/lisa-typescript/commands/plan/add-test-coverage.md +0 -7
  312. package/plugins/lisa-typescript/commands/plan/create.md +0 -6
  313. package/plugins/lisa-typescript/commands/plan/execute.md +0 -7
  314. package/plugins/lisa-typescript/commands/plan/fix-linter-error.md +0 -7
  315. package/plugins/lisa-typescript/commands/plan/local-code-review.md +0 -6
  316. package/plugins/lisa-typescript/commands/plan/lower-code-complexity.md +0 -6
  317. package/plugins/lisa-typescript/commands/plan/reduce-max-lines-per-function.md +0 -7
  318. package/plugins/lisa-typescript/commands/plan/reduce-max-lines.md +0 -7
  319. package/plugins/lisa-typescript/commands/pull-request/review.md +0 -7
  320. package/plugins/lisa-typescript/commands/review/implementation.md +0 -7
  321. package/plugins/lisa-typescript/commands/security/zap-scan.md +0 -6
  322. package/plugins/lisa-typescript/commands/sonarqube/check.md +0 -6
  323. package/plugins/lisa-typescript/commands/sonarqube/fix.md +0 -6
  324. package/plugins/lisa-typescript/commands/tasks/load.md +0 -7
  325. package/plugins/lisa-typescript/commands/tasks/sync.md +0 -7
  326. package/plugins/lisa-typescript/hooks/debug-hook.sh +0 -47
  327. package/plugins/lisa-typescript/hooks/enforce-plan-rules.sh +0 -15
  328. package/plugins/lisa-typescript/hooks/install-pkgs.sh +0 -64
  329. package/plugins/lisa-typescript/hooks/notify-ntfy.sh +0 -183
  330. package/plugins/lisa-typescript/hooks/setup-jira-cli.sh +0 -52
  331. package/plugins/lisa-typescript/hooks/sync-tasks.sh +0 -107
  332. package/plugins/lisa-typescript/hooks/ticket-sync-reminder.sh +0 -23
  333. package/plugins/lisa-typescript/hooks/track-plan-sessions.sh +0 -164
  334. package/plugins/lisa-typescript/hooks/verify-completion.sh +0 -77
  335. package/plugins/lisa-typescript/rules/README.md +0 -240
  336. package/plugins/lisa-typescript/rules/coding-philosophy.md +0 -428
  337. package/plugins/lisa-typescript/rules/verfication.md +0 -596
  338. package/plugins/lisa-typescript/skills/agent-design-best-practices/SKILL.md +0 -219
  339. package/plugins/lisa-typescript/skills/git-commit/SKILL.md +0 -48
  340. package/plugins/lisa-typescript/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  341. package/plugins/lisa-typescript/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  342. package/plugins/lisa-typescript/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  343. package/plugins/lisa-typescript/skills/git-prune/SKILL.md +0 -35
  344. package/plugins/lisa-typescript/skills/git-submit-pr/SKILL.md +0 -44
  345. package/plugins/lisa-typescript/skills/jira-add-journey/SKILL.md +0 -120
  346. package/plugins/lisa-typescript/skills/jira-create/SKILL.md +0 -95
  347. package/plugins/lisa-typescript/skills/jira-evidence/SKILL.md +0 -73
  348. package/plugins/lisa-typescript/skills/jira-evidence/scripts/post-evidence.sh +0 -163
  349. package/plugins/lisa-typescript/skills/jira-fix/SKILL.md +0 -16
  350. package/plugins/lisa-typescript/skills/jira-implement/SKILL.md +0 -18
  351. package/plugins/lisa-typescript/skills/jira-journey/SKILL.md +0 -125
  352. package/plugins/lisa-typescript/skills/jira-journey/scripts/generate-templates.py +0 -233
  353. package/plugins/lisa-typescript/skills/jira-journey/scripts/parse-plan.py +0 -368
  354. package/plugins/lisa-typescript/skills/jira-sync/SKILL.md +0 -63
  355. package/plugins/lisa-typescript/skills/jira-verify/SKILL.md +0 -48
  356. package/plugins/lisa-typescript/skills/jsdoc-best-practices/SKILL.md +0 -432
  357. package/plugins/lisa-typescript/skills/lisa-review-implementation/SKILL.md +0 -209
  358. package/plugins/lisa-typescript/skills/plan-add-test-coverage/SKILL.md +0 -44
  359. package/plugins/lisa-typescript/skills/plan-execute/SKILL.md +0 -89
  360. package/plugins/lisa-typescript/skills/plan-fix-linter-error/SKILL.md +0 -45
  361. package/plugins/lisa-typescript/skills/plan-local-code-review/SKILL.md +0 -88
  362. package/plugins/lisa-typescript/skills/plan-lower-code-complexity/SKILL.md +0 -44
  363. package/plugins/lisa-typescript/skills/plan-reduce-max-lines/SKILL.md +0 -45
  364. package/plugins/lisa-typescript/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  365. package/plugins/lisa-typescript/skills/pull-request-review/SKILL.md +0 -68
  366. package/plugins/lisa-typescript/skills/security-zap-scan/SKILL.md +0 -33
  367. package/plugins/lisa-typescript/skills/sonarqube-check/SKILL.md +0 -11
  368. package/plugins/lisa-typescript/skills/sonarqube-fix/SKILL.md +0 -8
  369. package/plugins/lisa-typescript/skills/tasks-load/SKILL.md +0 -88
  370. package/plugins/lisa-typescript/skills/tasks-sync/SKILL.md +0 -108
  371. package/plugins/src/base/hooks/format-on-edit.sh +0 -76
  372. package/plugins/src/base/hooks/lint-on-edit.sh +0 -81
  373. package/plugins/src/base/hooks/sg-scan-on-edit.sh +0 -68
  374. package/plugins/src/base/rules/lisa.md +0 -37
  375. /package/plugins/{lisa-cdk → lisa}/agents/agent-architect.md +0 -0
  376. /package/plugins/{lisa-cdk → lisa}/agents/architecture-specialist.md +0 -0
  377. /package/plugins/{lisa-cdk → lisa}/agents/debug-specialist.md +0 -0
  378. /package/plugins/{lisa-cdk → lisa}/agents/git-history-analyzer.md +0 -0
  379. /package/plugins/{lisa-cdk → lisa}/agents/hooks-expert.md +0 -0
  380. /package/plugins/{lisa-cdk → lisa}/agents/implementer.md +0 -0
  381. /package/plugins/{lisa-cdk → lisa}/agents/learner.md +0 -0
  382. /package/plugins/{lisa-cdk → lisa}/agents/performance-specialist.md +0 -0
  383. /package/plugins/{lisa-cdk → lisa}/agents/product-specialist.md +0 -0
  384. /package/plugins/{lisa-cdk → lisa}/agents/quality-specialist.md +0 -0
  385. /package/plugins/{lisa-cdk → lisa}/agents/security-specialist.md +0 -0
  386. /package/plugins/{lisa-cdk → lisa}/agents/skill-evaluator.md +0 -0
  387. /package/plugins/{lisa-cdk → lisa}/agents/slash-command-architect.md +0 -0
  388. /package/plugins/{lisa-cdk → lisa}/agents/test-specialist.md +0 -0
  389. /package/plugins/{lisa-cdk → lisa}/agents/verification-specialist.md +0 -0
  390. /package/plugins/{lisa-cdk → lisa}/agents/web-search-researcher.md +0 -0
  391. /package/plugins/{lisa-cdk → lisa}/commands/git/commit-and-submit-pr.md +0 -0
  392. /package/plugins/{lisa-cdk → lisa}/commands/git/commit-submit-pr-and-verify.md +0 -0
  393. /package/plugins/{lisa-cdk → lisa}/commands/git/commit-submit-pr-deploy-and-verify.md +0 -0
  394. /package/plugins/{lisa-cdk → lisa}/commands/git/commit.md +0 -0
  395. /package/plugins/{lisa-cdk → lisa}/commands/git/prune.md +0 -0
  396. /package/plugins/{lisa-cdk → lisa}/commands/git/submit-pr.md +0 -0
  397. /package/plugins/{lisa-cdk → lisa}/commands/jira/add-journey.md +0 -0
  398. /package/plugins/{lisa-cdk → lisa}/commands/jira/create.md +0 -0
  399. /package/plugins/{lisa-cdk → lisa}/commands/jira/evidence.md +0 -0
  400. /package/plugins/{lisa-cdk → lisa}/commands/jira/fix.md +0 -0
  401. /package/plugins/{lisa-cdk → lisa}/commands/jira/implement.md +0 -0
  402. /package/plugins/{lisa-cdk → lisa}/commands/jira/journey.md +0 -0
  403. /package/plugins/{lisa-cdk → lisa}/commands/jira/sync.md +0 -0
  404. /package/plugins/{lisa-cdk → lisa}/commands/jira/verify.md +0 -0
  405. /package/plugins/{lisa-cdk → lisa}/commands/plan/add-test-coverage.md +0 -0
  406. /package/plugins/{lisa-cdk → lisa}/commands/plan/create.md +0 -0
  407. /package/plugins/{lisa-cdk → lisa}/commands/plan/execute.md +0 -0
  408. /package/plugins/{lisa-cdk → lisa}/commands/plan/fix-linter-error.md +0 -0
  409. /package/plugins/{lisa-cdk → lisa}/commands/plan/local-code-review.md +0 -0
  410. /package/plugins/{lisa-cdk → lisa}/commands/plan/lower-code-complexity.md +0 -0
  411. /package/plugins/{lisa-cdk → lisa}/commands/plan/reduce-max-lines-per-function.md +0 -0
  412. /package/plugins/{lisa-cdk → lisa}/commands/plan/reduce-max-lines.md +0 -0
  413. /package/plugins/{lisa-cdk → lisa}/commands/pull-request/review.md +0 -0
  414. /package/plugins/{lisa-cdk → lisa}/commands/review/implementation.md +0 -0
  415. /package/plugins/{lisa-cdk → lisa}/commands/security/zap-scan.md +0 -0
  416. /package/plugins/{lisa-cdk → lisa}/commands/sonarqube/check.md +0 -0
  417. /package/plugins/{lisa-cdk → lisa}/commands/sonarqube/fix.md +0 -0
  418. /package/plugins/{lisa-cdk → lisa}/commands/tasks/load.md +0 -0
  419. /package/plugins/{lisa-cdk → lisa}/commands/tasks/sync.md +0 -0
  420. /package/plugins/{lisa-cdk → lisa}/hooks/debug-hook.sh +0 -0
  421. /package/plugins/{lisa-cdk → lisa}/hooks/enforce-plan-rules.sh +0 -0
  422. /package/plugins/{lisa-cdk → lisa}/hooks/install-pkgs.sh +0 -0
  423. /package/plugins/{lisa-cdk → lisa}/hooks/notify-ntfy.sh +0 -0
  424. /package/plugins/{lisa-cdk → lisa}/hooks/setup-jira-cli.sh +0 -0
  425. /package/plugins/{lisa-cdk → lisa}/hooks/sync-tasks.sh +0 -0
  426. /package/plugins/{lisa-cdk → lisa}/hooks/ticket-sync-reminder.sh +0 -0
  427. /package/plugins/{lisa-cdk → lisa}/hooks/track-plan-sessions.sh +0 -0
  428. /package/plugins/{lisa-cdk → lisa}/hooks/verify-completion.sh +0 -0
  429. /package/plugins/{lisa-cdk → lisa}/rules/README.md +0 -0
  430. /package/plugins/{lisa-cdk → lisa}/rules/coding-philosophy.md +0 -0
  431. /package/plugins/{lisa-cdk → lisa}/rules/verfication.md +0 -0
  432. /package/plugins/{lisa-cdk → lisa}/skills/agent-design-best-practices/SKILL.md +0 -0
  433. /package/plugins/{lisa-cdk → lisa}/skills/git-commit/SKILL.md +0 -0
  434. /package/plugins/{lisa-cdk → lisa}/skills/git-commit-and-submit-pr/SKILL.md +0 -0
  435. /package/plugins/{lisa-cdk → lisa}/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -0
  436. /package/plugins/{lisa-cdk → lisa}/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -0
  437. /package/plugins/{lisa-cdk → lisa}/skills/git-prune/SKILL.md +0 -0
  438. /package/plugins/{lisa-cdk → lisa}/skills/git-submit-pr/SKILL.md +0 -0
  439. /package/plugins/{lisa-cdk → lisa}/skills/jira-add-journey/SKILL.md +0 -0
  440. /package/plugins/{lisa-cdk → lisa}/skills/jira-create/SKILL.md +0 -0
  441. /package/plugins/{lisa-cdk → lisa}/skills/jira-evidence/SKILL.md +0 -0
  442. /package/plugins/{lisa-cdk → lisa}/skills/jira-evidence/scripts/post-evidence.sh +0 -0
  443. /package/plugins/{lisa-cdk → lisa}/skills/jira-fix/SKILL.md +0 -0
  444. /package/plugins/{lisa-cdk → lisa}/skills/jira-implement/SKILL.md +0 -0
  445. /package/plugins/{lisa-cdk → lisa}/skills/jira-journey/SKILL.md +0 -0
  446. /package/plugins/{lisa-cdk → lisa}/skills/jira-journey/scripts/generate-templates.py +0 -0
  447. /package/plugins/{lisa-cdk → lisa}/skills/jira-journey/scripts/parse-plan.py +0 -0
  448. /package/plugins/{lisa-cdk → lisa}/skills/jira-sync/SKILL.md +0 -0
  449. /package/plugins/{lisa-cdk → lisa}/skills/jira-verify/SKILL.md +0 -0
  450. /package/plugins/{lisa-cdk → lisa}/skills/jsdoc-best-practices/SKILL.md +0 -0
  451. /package/plugins/{lisa-cdk → lisa}/skills/lisa-review-implementation/SKILL.md +0 -0
  452. /package/plugins/{lisa-cdk → lisa}/skills/plan-add-test-coverage/SKILL.md +0 -0
  453. /package/plugins/{lisa-cdk → lisa}/skills/plan-execute/SKILL.md +0 -0
  454. /package/plugins/{lisa-cdk → lisa}/skills/plan-fix-linter-error/SKILL.md +0 -0
  455. /package/plugins/{lisa-cdk → lisa}/skills/plan-local-code-review/SKILL.md +0 -0
  456. /package/plugins/{lisa-cdk → lisa}/skills/plan-lower-code-complexity/SKILL.md +0 -0
  457. /package/plugins/{lisa-cdk → lisa}/skills/plan-reduce-max-lines/SKILL.md +0 -0
  458. /package/plugins/{lisa-cdk → lisa}/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -0
  459. /package/plugins/{lisa-cdk → lisa}/skills/pull-request-review/SKILL.md +0 -0
  460. /package/plugins/{lisa-cdk → lisa}/skills/security-zap-scan/SKILL.md +0 -0
  461. /package/plugins/{lisa-cdk → lisa}/skills/sonarqube-check/SKILL.md +0 -0
  462. /package/plugins/{lisa-cdk → lisa}/skills/sonarqube-fix/SKILL.md +0 -0
  463. /package/plugins/{lisa-cdk → lisa}/skills/tasks-load/SKILL.md +0 -0
  464. /package/plugins/{lisa-cdk → lisa}/skills/tasks-sync/SKILL.md +0 -0
  465. /package/plugins/{lisa-cdk → src/typescript}/hooks/format-on-edit.sh +0 -0
  466. /package/plugins/{lisa-cdk → src/typescript}/hooks/lint-on-edit.sh +0 -0
  467. /package/plugins/{lisa-cdk → src/typescript}/hooks/sg-scan-on-edit.sh +0 -0
  468. /package/plugins/{lisa-cdk → src/typescript}/rules/lisa.md +0 -0
@@ -1,596 +0,0 @@
1
- # Empirical Verification
2
-
3
- This repository supports AI agents as first-class contributors.
4
-
5
- This file is the operational contract that defines how agents plan work, execute changes, verify outcomes, and escalate when blocked.
6
-
7
- If anything here conflicts with other repo docs, treat this file as authoritative for agent behavior.
8
-
9
- ---
10
-
11
- ## Core Principle
12
-
13
- Agents must close the loop between code changes and observable system behavior.
14
-
15
- No agent may claim success without evidence from runtime verification.
16
-
17
- Never assume something works because the code "looks correct." Run a command, observe the output, compare to expected result.
18
-
19
- ---
20
-
21
- ## Roles
22
-
23
- ### Builder Agent
24
-
25
- Implements the change in code and infrastructure.
26
-
27
- ### Verifier Agent
28
-
29
- Acts as the end user (human user, API client, operator, attacker, or system) and produces proof artifacts.
30
-
31
- Verifier Agent must be independent from Builder Agent when possible.
32
-
33
- ### Human Overseer
34
-
35
- Approves risky operations, security boundary crossings, and any work the agents cannot fully verify.
36
-
37
- ---
38
-
39
- ## Verification Levels
40
-
41
- Agents must label every task outcome with exactly one of these:
42
-
43
- - **FULLY VERIFIED**: Verified in the target environment with end-user simulation and captured artifacts.
44
- - **PARTIALLY VERIFIED**: Verified in a lower-fidelity environment or with incomplete surfaces, with explicit gaps documented.
45
- - **UNVERIFIED**: Verification blocked, human action required, no claim of correctness permitted.
46
-
47
- ---
48
-
49
- ## Verification Types Quick Reference
50
-
51
- | Type | Use Case | Example |
52
- |------|----------|---------|
53
- | `test` | Unit/integration tests | `npm test -- path/to/file.spec.ts` |
54
- | `api-test` | API endpoints | `curl -s localhost:3000/api/endpoint` |
55
- | `test-coverage` | Coverage thresholds | `npm run test:cov -- --collectCoverageFrom=...` |
56
- | `ui-recording` | UI changes | Start local server; recorded session with Playwright/Maestro/Chrome Browser |
57
- | `documentation` | Doc changes | `grep "expected" path/to/doc.md` |
58
- | `manual-check` | Config/setup | `cat config.json \| jq '.setting'` |
59
-
60
- ---
61
-
62
- ## Verification Surfaces
63
-
64
- Agents may only self-verify when the required verification surfaces are available.
65
-
66
- Verification surfaces include:
67
-
68
- ### Action Surfaces
69
-
70
- - Build and test execution
71
- - Deployment and rollback
72
- - Infrastructure apply and drift detection
73
- - Feature flag toggling
74
- - Data seeding and state reset
75
- - Load generation and fault injection
76
-
77
- ### Observation Surfaces
78
-
79
- - Application logs (local and remote)
80
- - Metrics (latency, errors, saturation, scaling)
81
- - Traces and correlation IDs
82
- - Database queries and schema inspection
83
- - Browser and device automation
84
- - Queue depth and consumer execution visibility
85
- - CDN headers and edge behavior
86
- - Artifact capture (video, screenshots, traces, diffs)
87
-
88
- If a required surface is unavailable, agents must follow the Escalation Protocol.
89
-
90
- ---
91
-
92
- ## Tooling Surfaces
93
-
94
- Many verification steps require tools that may not be available by default.
95
-
96
- Tooling surfaces include:
97
-
98
- - Required CLIs (cloud, DB, deployment, observability)
99
- - Required MCP servers and their capabilities
100
- - Required internal APIs (feature flags, auth, metrics, logs, CI)
101
- - Required credentials and scopes for those tools
102
-
103
- If required tooling is missing, misconfigured, blocked, undocumented, or inaccessible, agents must treat this as a verification blocker and escalate before proceeding.
104
-
105
- ---
106
-
107
- ## Proof Artifacts Requirements
108
-
109
- Every completed task must include proof artifacts stored in the PR description or linked output location.
110
-
111
- Proof artifacts must be specific and re-checkable.
112
-
113
- Examples of acceptable proof:
114
-
115
- - Playwright video and screenshots for UI work
116
- - HTTP trace and response payload for API work
117
- - Before/after DB query outputs for data work
118
- - Metrics snapshots for autoscaling
119
- - Log excerpts with correlation IDs for behavior validation
120
- - Load test results showing threshold behavior
121
-
122
- Statements like "works" or "should work" are not acceptable.
123
-
124
- ---
125
-
126
- ## Standard Workflow
127
-
128
- Agents must follow this sequence unless explicitly instructed otherwise:
129
-
130
- 1. Restate goal in one sentence.
131
- 2. Identify the end user of the change.
132
- 3. Choose the verification method that matches the end user.
133
- 4. List required verification surfaces and required tooling surfaces.
134
- 5. Confirm required surfaces are available.
135
- 6. Implement the change.
136
- 7. Run verification from the end-user perspective.
137
- 8. Collect proof artifacts.
138
- 9. Summarize what changed, what was verified, and remaining risk.
139
- 10. Label the result with a verification level.
140
-
141
- ---
142
-
143
- ## Task Completion Rules
144
-
145
- 1. **Run the proof command** before marking any task complete
146
- 2. **Compare output** to expected result
147
- 3. **If verification fails**: Fix and re-run, don't mark complete
148
- 4. **If verification blocked** (missing Docker, services, etc.): Mark as blocked, not complete
149
- 5. **Must not be dependent on CI/CD** if necessary, you may use local deploy methods found in `package.json`, but the verification methods must be listed in the pull request and therefore cannot be dependent on CI/CD completing
150
-
151
- ---
152
-
153
- ## Self-Correction Loop
154
-
155
- Verification is not a one-shot activity. Agents operate within a four-layer self-correction architecture that catches errors at increasing scope. Each layer is enforced automatically — agents do not need to invoke them manually.
156
-
157
- ### Layer 1 — Inline Correction (PostToolUse)
158
-
159
- **Trigger:** Every `Write` or `Edit` tool call.
160
-
161
- **Pipeline:** prettier → ast-grep → eslint (with `--fix --quiet --cache`).
162
-
163
- Each hook runs on the single file just written. Errors are reported immediately so the agent can fix them before writing more files. This prevents error accumulation across multiple files.
164
-
165
- - **prettier** formats the file (non-blocking — always exits 0).
166
- - **ast-grep** scans for structural anti-patterns (blocking — exits 1 on violations).
167
- - **eslint** auto-fixes what it can, then blocks on unfixable errors (exits 2 on remaining errors).
168
-
169
- **Agent responsibility:** When a PostToolUse hook blocks, fix the reported errors in the same file before proceeding to other files. Do not accumulate errors.
170
-
171
- ### Layer 2 — Commit-Time Enforcement (husky pre-commit)
172
-
173
- **Trigger:** Every `git commit`.
174
-
175
- **Checks:** lint-staged (eslint + prettier on staged files), gitleaks (secret detection), commitlint (conventional commit format), branch protection (no direct commits to environment branches).
176
-
177
- This layer catches errors that span multiple files or involve staged-but-not-yet-linted changes. It runs automatically via husky and cannot be bypassed (`--no-verify` is prohibited).
178
-
179
- ### Layer 3 — Push-Time Enforcement (husky pre-push)
180
-
181
- **Trigger:** Every `git push`.
182
-
183
- **Checks:** Full test suite with coverage thresholds, typecheck, security audit, knip (unused exports), integration tests.
184
-
185
- This layer validates the complete changeset against the project's quality gates. It is the last automated checkpoint before code reaches the remote.
186
-
187
- ### Layer 4 — Completion Enforcement (Stop hook)
188
-
189
- **Trigger:** Agent attempts to stop or finish a task.
190
-
191
- **Check:** If `Write` or `Edit` tools were used during the session, the agent must have declared a verification level (`FULLY VERIFIED`, `PARTIALLY VERIFIED`, or `UNVERIFIED`) in its final message.
192
-
193
- If no verification level is declared, the Stop hook blocks once with instructions. On retry, it allows the stop to prevent infinite loops.
194
-
195
- **Agent responsibility:** Before finishing any task that involved code changes, run verification and declare the result with evidence.
196
-
197
- ### Regeneration Over Patching
198
-
199
- When the root cause of errors is architectural (wrong abstraction, incorrect data flow, fundamentally broken approach), delete and regenerate rather than incrementally patching. Incremental patches on a broken foundation accumulate tech debt faster than the self-correction loop can catch it.
200
-
201
- Signs that regeneration is needed:
202
- - The same file has been edited 3+ times in the same loop without converging
203
- - Fixing one error introduces another in the same file
204
- - The fix requires disabling a lint rule or adding a type assertion
205
-
206
- ---
207
-
208
- ## End-User Verification Patterns
209
-
210
- Agents must choose the pattern that fits the task.
211
-
212
- ### UI and UX Feature or Bug
213
-
214
- End user: human in browser or native device.
215
-
216
- Required proof:
217
-
218
- - Automated session recording (Playwright preferred)
219
- - Screenshots of key states
220
- - Network calls and console errors captured when relevant
221
-
222
- #### Example: UI Feature (Playwright browser verification)
223
-
224
- **Task**: Add logout button to the dashboard header
225
-
226
- **Wrong verification**: "I added the button component to the header"
227
-
228
- **Correct verification** -- use Playwright to interact with the app as a real user:
229
-
230
- ```bash
231
- npx playwright test --headed -g "logout button" 2>&1 | tail -20
232
- ```
233
-
234
- Or for ad-hoc verification without a test file, use the Playwright CLI browser tools or `browser_run_code`:
235
-
236
- ```javascript
237
- async (page) => {
238
- await page.goto('http://localhost:3000/dashboard');
239
- const logoutButton = page.getByRole('button', { name: 'Logout' });
240
- await logoutButton.waitFor({ state: 'visible' });
241
- await logoutButton.click();
242
- await page.waitForURL('**/login');
243
- return { url: page.url(), title: await page.title() };
244
- }
245
- ```
246
-
247
- **Expected**: Browser navigates to `/login` after clicking the logout button
248
-
249
- #### Example: UI Visual/Behavioral (Screenshot comparison)
250
-
251
- **Task**: Fix mobile nav menu not closing after link click
252
-
253
- **Wrong verification**: "I added an onClick handler that closes the menu"
254
-
255
- **Correct verification** -- open a browser and perform the exact user action:
256
-
257
- ```javascript
258
- async (page) => {
259
- await page.setViewportSize({ width: 375, height: 812 });
260
- await page.goto('http://localhost:3000');
261
- await page.getByRole('button', { name: 'Menu' }).click();
262
- await page.getByRole('link', { name: 'About' }).click();
263
- const menu = page.locator('[data-testid="mobile-nav"]');
264
- const isVisible = await menu.isVisible();
265
- return { menuVisibleAfterClick: isVisible, url: page.url() };
266
- }
267
- ```
268
-
269
- **Expected**: `menuVisibleAfterClick: false`, url contains `/about`
270
-
271
- ### API, GraphQL, or RPC Change
272
-
273
- End user: API client.
274
-
275
- Required proof:
276
-
277
- - Curl or a minimal script checked into the repo or attached to PR
278
- - Response payload showing schema and expected data
279
- - Negative case if applicable (auth failure, validation error)
280
-
281
- #### Example: API Endpoint (E2E with curl)
282
-
283
- **Task**: Add health check endpoint
284
-
285
- **Wrong verification**: "I added the route handler"
286
-
287
- **Correct verification**:
288
-
289
- ```bash
290
- curl -s http://localhost:3000/health | jq '.status'
291
- ```
292
-
293
- **Expected**: `"ok"`
294
-
295
- #### Example: API Workflow (Multi-step E2E)
296
-
297
- **Task**: Add user registration endpoint
298
-
299
- **Wrong verification**: "The route handler creates a user record"
300
-
301
- **Correct verification** -- write a small client script that exercises the full flow:
302
-
303
- ```bash
304
- # Create user
305
- RESPONSE=$(curl -s -w "\n%{http_code}" -X POST http://localhost:3000/api/users \
306
- -H "Content-Type: application/json" \
307
- -d '{"email":"test@example.com","name":"Test User"}')
308
- HTTP_CODE=$(echo "$RESPONSE" | tail -1)
309
- BODY=$(echo "$RESPONSE" | sed '$d')
310
- echo "Create status: $HTTP_CODE"
311
- echo "Create body: $BODY"
312
-
313
- # Verify the user exists by fetching it back
314
- USER_ID=$(echo "$BODY" | jq -r '.id')
315
- curl -s "http://localhost:3000/api/users/$USER_ID" | jq '.email'
316
- ```
317
-
318
- **Expected**: Create returns `201`, fetch returns `"test@example.com"`
319
-
320
- ### Authentication and Authorization
321
-
322
- End user: user with specific identity and role.
323
-
324
- Required proof:
325
-
326
- - Verification across at least two roles (allowed and denied)
327
- - Explicit status codes or UI outcomes
328
- - Artifact showing enforcement (screenshots or HTTP traces)
329
-
330
- #### Example: API with Authentication (E2E flow)
331
-
332
- **Task**: Add rate limiting to the search endpoint
333
-
334
- **Wrong verification**: "I added the rate limiter middleware"
335
-
336
- **Correct verification** -- actually hit the rate limit:
337
-
338
- ```bash
339
- # Fire requests until rate limited
340
- for i in $(seq 1 25); do
341
- CODE=$(curl -s -o /dev/null -w "%{http_code}" \
342
- -H "Authorization: Bearer $TEST_TOKEN" \
343
- "http://localhost:3000/api/search?q=test")
344
- echo "Request $i: $CODE"
345
- done | tail -5
346
- ```
347
-
348
- **Expected**: First requests return `200`, later requests return `429`
349
-
350
- ### Database Migration or Backfill
351
-
352
- End user: application and operators.
353
-
354
- Required proof:
355
-
356
- - Schema verification
357
- - Backfill verification with before/after counts
358
- - Rollback plan validated when possible
359
-
360
- #### Example: Database Migration
361
-
362
- **Task**: Add `last_login_at` column to users table
363
-
364
- **Wrong verification**: "The migration file creates the column"
365
-
366
- **Correct verification**:
367
-
368
- ```bash
369
- # Run migration
370
- npm run migration:run
371
-
372
- # Verify column exists and has correct type
373
- psql "$DATABASE_URL" -c "\d users" | grep last_login_at
374
- ```
375
-
376
- **Expected**: `last_login_at | timestamp with time zone |`
377
-
378
- ### Background Jobs, Queues, Events
379
-
380
- End user: system operator and downstream consumers.
381
-
382
- Required proof:
383
-
384
- - Evidence of enqueue, processing, and final state change
385
- - Queue depth and worker logs
386
- - Idempotency check when relevant
387
-
388
- ### Caching and Performance
389
-
390
- End user: API consumer or UI user.
391
-
392
- Required proof:
393
-
394
- - Measured latency or throughput before and after
395
- - Cache hit evidence (logs, metrics, key inspection)
396
- - TTL behavior where relevant
397
-
398
- ### Infrastructure and Autoscaling
399
-
400
- End user: operator and workload.
401
-
402
- Required proof:
403
-
404
- - Load simulation that triggers scaling or behavior change
405
- - Metrics showing scale-out and scale-in
406
- - Evidence of stability (error rates, latency) during the event
407
-
408
- ### Security Fixes
409
-
410
- End user: attacker and defender.
411
-
412
- Required proof:
413
-
414
- - Reproduction of exploit pre-fix
415
- - Demonstration of exploit failure post-fix
416
- - Evidence of safe handling (sanitization, rejection, rate limit)
417
-
418
- ---
419
-
420
- ## Escalation Protocol
421
-
422
- Agents must escalate when verification is blocked, ambiguous, or requires tools that are missing or inaccessible.
423
-
424
- Common blockers:
425
-
426
- - VPN required
427
- - MFA, OTP, SMS codes
428
- - Hardware token requirement
429
- - Missing CLI, MCP server, or internal API required for verification
430
- - Missing documentation on how to access required tooling
431
- - Production-only access gates
432
- - Compliance restrictions
433
-
434
- When blocked, agents must do the following:
435
-
436
- 1. Identify the exact boundary preventing verification.
437
- 2. Identify which verification surfaces and tooling surfaces are missing.
438
- 3. Attempt safe fallback verification (local, staging, mocks) and label it clearly.
439
- 4. Declare verification level as PARTIALLY VERIFIED or UNVERIFIED.
440
- 5. Produce a Human Action Packet.
441
- 6. Pause until explicit human confirmation or tooling is provided.
442
-
443
- Agents must never proceed past an unverified boundary without surfacing it to the human overseer.
444
-
445
- ### Human Action Packet Format
446
-
447
- Agents must provide:
448
-
449
- - What is blocked and why
450
- - What tool or access is missing
451
- - Exactly what the human must do
452
- - How to confirm completion
453
- - What the agent will do immediately after
454
- - What artifacts the agent will produce after access is restored
455
-
456
- Example:
457
-
458
- - Blocked: Cannot reach DB, VPN required.
459
- - Missing: `psql` access to `db.host` and internal logs viewer MCP.
460
- - Human steps: Connect VPN "CorpVPN", confirm access by running `nc -vz db.host 5432`, provide MCP endpoint or credentials.
461
- - Confirmation: Reply "VPN ACTIVE" and "MCP READY".
462
- - Next: Agent runs migration verification script and captures schema diff and query outputs.
463
-
464
- Agents must pause until explicit human confirmation.
465
-
466
- Agents must never bypass security controls to proceed.
467
-
468
- ---
469
-
470
- ## Environments and Safety Rules
471
-
472
- ### Allowed Environments
473
-
474
- - Local development
475
- - Preview environments
476
- - Staging
477
- - Production read-only, only if explicitly approved and configured for safe access
478
-
479
- ### Prohibited Actions Without Human Approval
480
-
481
- - Writing to production data stores
482
- - Disabling MFA or security policies
483
- - Modifying IAM roles or firewall rules beyond scoped change requests
484
- - Running destructive migrations
485
- - Triggering external billing or payment flows
486
-
487
- If an operation is irreversible or risky, escalate first.
488
-
489
- ---
490
-
491
- ## Repository Conventions
492
-
493
- ### Code Style and Structure
494
-
495
- - Follow existing patterns in the codebase.
496
- - Do not introduce new frameworks or architectural patterns without justification in the PR.
497
- - Prefer small, reviewable changes with clear commit messages.
498
-
499
- ### Tests
500
-
501
- - Run the fastest relevant test suite locally.
502
- - Expand to integration or end-to-end tests based on impact.
503
- - If tests are flaky or slow, document it and propose a follow-up.
504
-
505
- ### Logging and Observability
506
-
507
- - Include correlation IDs where supported.
508
- - Prefer structured logs over ad hoc strings.
509
- - For behavior changes, include log evidence in proof artifacts.
510
-
511
- ---
512
-
513
- ## Artifact Storage and PR Requirements
514
-
515
- Every PR must include:
516
-
517
- - Goal summary
518
- - Verification level
519
- - Proof artifacts links or embedded outputs
520
- - How to reproduce verification locally
521
- - Known limitations and follow-up items
522
-
523
- Preferred artifact locations:
524
-
525
- - PR description
526
- - Repo-local scripts under `scripts/verification/`
527
- - CI artifacts linked from the build
528
-
529
- ---
530
-
531
- ## Quick Commands
532
-
533
- These commands are consistent across all Lisa-managed projects. Stack-specific commands (Expo, NestJS, CDK) are documented in their respective `.claude/rules/` files.
534
-
535
- ### Local
536
-
537
- - Install: `bun install`
538
- - Run app: `bun run start:local` (Expo: dev server; NestJS: serverless offline)
539
- - Run unit tests: `bun run test:unit`
540
- - Run integration tests: `bun run test:integration`
541
- - Run all tests: `bun run test`
542
- - Run tests with coverage: `bun run test:cov`
543
- - Lint: `bun run lint`
544
- - Format check: `bun run format:check`
545
- - Format fix: `bun run format`
546
- - Type check: `bun run typecheck`
547
-
548
- ### UI Verification (Expo)
549
-
550
- - Playwright tests (web): `bun run playwright:test`
551
- - Playwright interactive: `bun run playwright:test:ui`
552
- - Maestro tests (native): `bun run maestro:test`
553
- - Maestro smoke tests: `bun run maestro:test:smoke`
554
- - Maestro studio: `bun run maestro:studio`
555
- - Ad-hoc browser verification: Use Playwright MCP tools (`browser_snapshot`, `browser_console_messages`, `browser_network_requests`)
556
-
557
- ### API Verification (NestJS)
558
-
559
- - Start local server: `bun run start:local`
560
- - GraphQL endpoint (local): `http://localhost:3000/graphql`
561
- - Health check: `curl -s http://localhost:3000/graphql -H 'Content-Type: application/json' -d '{"query":"{ healthCheck }"}'`
562
-
563
- ### Deployment
564
-
565
- - Expo OTA update (fast, JS-only): `bun run eas:publish:<env>`
566
- - Expo full build (native changes): `bun run eas:deploy:<env>`
567
- - NestJS deploy: `bun run deploy:<env>`
568
- - NestJS deploy single function: `FUNCTION_NAME=<name> bun run deploy:function:<env>`
569
- - Environments: `dev`, `staging`, `production`
570
-
571
- ### Observability
572
-
573
- - Sentry issues: Use `search_issues` MCP tool (Sentry plugin)
574
- - Sentry issue details: Use `get_issue_details` MCP tool
575
- - Sentry root cause analysis: Use `analyze_issue_with_seer` MCP tool
576
- - Sentry event search: Use `search_events` MCP tool
577
- - Sentry trace lookup: Use `get_trace_details` MCP tool
578
- - Browser console logs: Use `browser_console_messages` MCP tool (Playwright plugin)
579
- - Browser network requests: Use `browser_network_requests` MCP tool (Playwright plugin)
580
- - Backend logs (local): Check terminal output from `bun run start:local`
581
- - Backend logs (remote): Check companion backend repo's CLAUDE.md for CloudWatch/log commands
582
-
583
- ---
584
-
585
- ## Definition of Done
586
-
587
- A task is done only when:
588
-
589
- - End user is identified
590
- - Verification pattern is applied
591
- - Required verification surfaces and tooling surfaces are used or explicitly unavailable
592
- - Proof artifacts are captured
593
- - Verification level is declared
594
- - Risks and gaps are documented
595
-
596
- If any of these are missing, the work is not complete.