@codyswann/lisa 1.56.0 → 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 (469) 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/typescript/package-lisa/package.lisa.json +2 -1
  50. package/plugins/lisa-expo/agents/agent-architect.md +0 -310
  51. package/plugins/lisa-expo/agents/architecture-specialist.md +0 -53
  52. package/plugins/lisa-expo/agents/debug-specialist.md +0 -204
  53. package/plugins/lisa-expo/agents/git-history-analyzer.md +0 -183
  54. package/plugins/lisa-expo/agents/hooks-expert.md +0 -74
  55. package/plugins/lisa-expo/agents/implementer.md +0 -54
  56. package/plugins/lisa-expo/agents/learner.md +0 -44
  57. package/plugins/lisa-expo/agents/performance-specialist.md +0 -95
  58. package/plugins/lisa-expo/agents/product-specialist.md +0 -72
  59. package/plugins/lisa-expo/agents/quality-specialist.md +0 -55
  60. package/plugins/lisa-expo/agents/security-specialist.md +0 -58
  61. package/plugins/lisa-expo/agents/skill-evaluator.md +0 -246
  62. package/plugins/lisa-expo/agents/slash-command-architect.md +0 -87
  63. package/plugins/lisa-expo/agents/test-specialist.md +0 -64
  64. package/plugins/lisa-expo/agents/verification-specialist.md +0 -189
  65. package/plugins/lisa-expo/agents/web-search-researcher.md +0 -112
  66. package/plugins/lisa-expo/commands/git/commit-and-submit-pr.md +0 -7
  67. package/plugins/lisa-expo/commands/git/commit-submit-pr-and-verify.md +0 -7
  68. package/plugins/lisa-expo/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  69. package/plugins/lisa-expo/commands/git/commit.md +0 -7
  70. package/plugins/lisa-expo/commands/git/prune.md +0 -6
  71. package/plugins/lisa-expo/commands/git/submit-pr.md +0 -7
  72. package/plugins/lisa-expo/commands/jira/fix.md +0 -7
  73. package/plugins/lisa-expo/commands/jira/implement.md +0 -7
  74. package/plugins/lisa-expo/commands/jira/sync.md +0 -7
  75. package/plugins/lisa-expo/commands/plan/create.md +0 -6
  76. package/plugins/lisa-expo/commands/plan/execute.md +0 -7
  77. package/plugins/lisa-expo/commands/plan/local-code-review.md +0 -6
  78. package/plugins/lisa-expo/commands/pull-request/review.md +0 -7
  79. package/plugins/lisa-expo/commands/review/implementation.md +0 -7
  80. package/plugins/lisa-expo/commands/security/zap-scan.md +0 -6
  81. package/plugins/lisa-expo/commands/sonarqube/check.md +0 -6
  82. package/plugins/lisa-expo/commands/sonarqube/fix.md +0 -6
  83. package/plugins/lisa-expo/commands/tasks/load.md +0 -7
  84. package/plugins/lisa-expo/commands/tasks/sync.md +0 -7
  85. package/plugins/lisa-expo/hooks/debug-hook.sh +0 -47
  86. package/plugins/lisa-expo/hooks/enforce-plan-rules.sh +0 -15
  87. package/plugins/lisa-expo/hooks/format-on-edit.sh +0 -76
  88. package/plugins/lisa-expo/hooks/install-pkgs.sh +0 -64
  89. package/plugins/lisa-expo/hooks/lint-on-edit.sh +0 -81
  90. package/plugins/lisa-expo/hooks/notify-ntfy.sh +0 -183
  91. package/plugins/lisa-expo/hooks/setup-jira-cli.sh +0 -52
  92. package/plugins/lisa-expo/hooks/sg-scan-on-edit.sh +0 -68
  93. package/plugins/lisa-expo/hooks/sync-tasks.sh +0 -107
  94. package/plugins/lisa-expo/hooks/ticket-sync-reminder.sh +0 -23
  95. package/plugins/lisa-expo/hooks/track-plan-sessions.sh +0 -164
  96. package/plugins/lisa-expo/hooks/verify-completion.sh +0 -77
  97. package/plugins/lisa-expo/rules/README.md +0 -240
  98. package/plugins/lisa-expo/rules/coding-philosophy.md +0 -428
  99. package/plugins/lisa-expo/rules/lisa.md +0 -37
  100. package/plugins/lisa-expo/rules/verfication.md +0 -596
  101. package/plugins/lisa-expo/skills/agent-design-best-practices/SKILL.md +0 -219
  102. package/plugins/lisa-expo/skills/git-commit/SKILL.md +0 -48
  103. package/plugins/lisa-expo/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  104. package/plugins/lisa-expo/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  105. package/plugins/lisa-expo/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  106. package/plugins/lisa-expo/skills/git-prune/SKILL.md +0 -35
  107. package/plugins/lisa-expo/skills/git-submit-pr/SKILL.md +0 -44
  108. package/plugins/lisa-expo/skills/jira-fix/SKILL.md +0 -16
  109. package/plugins/lisa-expo/skills/jira-implement/SKILL.md +0 -18
  110. package/plugins/lisa-expo/skills/jira-sync/SKILL.md +0 -63
  111. package/plugins/lisa-expo/skills/jsdoc-best-practices/SKILL.md +0 -432
  112. package/plugins/lisa-expo/skills/lisa-review-implementation/SKILL.md +0 -209
  113. package/plugins/lisa-expo/skills/plan-add-test-coverage/SKILL.md +0 -44
  114. package/plugins/lisa-expo/skills/plan-execute/SKILL.md +0 -89
  115. package/plugins/lisa-expo/skills/plan-fix-linter-error/SKILL.md +0 -45
  116. package/plugins/lisa-expo/skills/plan-local-code-review/SKILL.md +0 -88
  117. package/plugins/lisa-expo/skills/plan-lower-code-complexity/SKILL.md +0 -44
  118. package/plugins/lisa-expo/skills/plan-reduce-max-lines/SKILL.md +0 -45
  119. package/plugins/lisa-expo/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  120. package/plugins/lisa-expo/skills/pull-request-review/SKILL.md +0 -68
  121. package/plugins/lisa-expo/skills/security-zap-scan/SKILL.md +0 -33
  122. package/plugins/lisa-expo/skills/sonarqube-check/SKILL.md +0 -11
  123. package/plugins/lisa-expo/skills/sonarqube-fix/SKILL.md +0 -8
  124. package/plugins/lisa-expo/skills/tasks-load/SKILL.md +0 -88
  125. package/plugins/lisa-expo/skills/tasks-sync/SKILL.md +0 -108
  126. package/plugins/lisa-nestjs/agents/agent-architect.md +0 -310
  127. package/plugins/lisa-nestjs/agents/architecture-specialist.md +0 -53
  128. package/plugins/lisa-nestjs/agents/debug-specialist.md +0 -204
  129. package/plugins/lisa-nestjs/agents/git-history-analyzer.md +0 -183
  130. package/plugins/lisa-nestjs/agents/hooks-expert.md +0 -74
  131. package/plugins/lisa-nestjs/agents/implementer.md +0 -54
  132. package/plugins/lisa-nestjs/agents/learner.md +0 -44
  133. package/plugins/lisa-nestjs/agents/performance-specialist.md +0 -95
  134. package/plugins/lisa-nestjs/agents/product-specialist.md +0 -72
  135. package/plugins/lisa-nestjs/agents/quality-specialist.md +0 -55
  136. package/plugins/lisa-nestjs/agents/security-specialist.md +0 -58
  137. package/plugins/lisa-nestjs/agents/skill-evaluator.md +0 -246
  138. package/plugins/lisa-nestjs/agents/slash-command-architect.md +0 -87
  139. package/plugins/lisa-nestjs/agents/test-specialist.md +0 -64
  140. package/plugins/lisa-nestjs/agents/verification-specialist.md +0 -189
  141. package/plugins/lisa-nestjs/agents/web-search-researcher.md +0 -112
  142. package/plugins/lisa-nestjs/commands/git/commit-and-submit-pr.md +0 -7
  143. package/plugins/lisa-nestjs/commands/git/commit-submit-pr-and-verify.md +0 -7
  144. package/plugins/lisa-nestjs/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  145. package/plugins/lisa-nestjs/commands/git/commit.md +0 -7
  146. package/plugins/lisa-nestjs/commands/git/prune.md +0 -6
  147. package/plugins/lisa-nestjs/commands/git/submit-pr.md +0 -7
  148. package/plugins/lisa-nestjs/commands/jira/fix.md +0 -7
  149. package/plugins/lisa-nestjs/commands/jira/implement.md +0 -7
  150. package/plugins/lisa-nestjs/commands/jira/sync.md +0 -7
  151. package/plugins/lisa-nestjs/commands/plan/add-test-coverage.md +0 -7
  152. package/plugins/lisa-nestjs/commands/plan/create.md +0 -6
  153. package/plugins/lisa-nestjs/commands/plan/execute.md +0 -7
  154. package/plugins/lisa-nestjs/commands/plan/fix-linter-error.md +0 -7
  155. package/plugins/lisa-nestjs/commands/plan/local-code-review.md +0 -6
  156. package/plugins/lisa-nestjs/commands/plan/lower-code-complexity.md +0 -6
  157. package/plugins/lisa-nestjs/commands/plan/reduce-max-lines-per-function.md +0 -7
  158. package/plugins/lisa-nestjs/commands/plan/reduce-max-lines.md +0 -7
  159. package/plugins/lisa-nestjs/commands/pull-request/review.md +0 -7
  160. package/plugins/lisa-nestjs/commands/review/implementation.md +0 -7
  161. package/plugins/lisa-nestjs/commands/security/zap-scan.md +0 -6
  162. package/plugins/lisa-nestjs/commands/sonarqube/check.md +0 -6
  163. package/plugins/lisa-nestjs/commands/sonarqube/fix.md +0 -6
  164. package/plugins/lisa-nestjs/commands/tasks/load.md +0 -7
  165. package/plugins/lisa-nestjs/commands/tasks/sync.md +0 -7
  166. package/plugins/lisa-nestjs/hooks/debug-hook.sh +0 -47
  167. package/plugins/lisa-nestjs/hooks/enforce-plan-rules.sh +0 -15
  168. package/plugins/lisa-nestjs/hooks/format-on-edit.sh +0 -76
  169. package/plugins/lisa-nestjs/hooks/install-pkgs.sh +0 -64
  170. package/plugins/lisa-nestjs/hooks/lint-on-edit.sh +0 -81
  171. package/plugins/lisa-nestjs/hooks/notify-ntfy.sh +0 -183
  172. package/plugins/lisa-nestjs/hooks/setup-jira-cli.sh +0 -52
  173. package/plugins/lisa-nestjs/hooks/sg-scan-on-edit.sh +0 -68
  174. package/plugins/lisa-nestjs/hooks/sync-tasks.sh +0 -107
  175. package/plugins/lisa-nestjs/hooks/ticket-sync-reminder.sh +0 -23
  176. package/plugins/lisa-nestjs/hooks/track-plan-sessions.sh +0 -164
  177. package/plugins/lisa-nestjs/hooks/verify-completion.sh +0 -77
  178. package/plugins/lisa-nestjs/rules/README.md +0 -240
  179. package/plugins/lisa-nestjs/rules/coding-philosophy.md +0 -428
  180. package/plugins/lisa-nestjs/rules/lisa.md +0 -37
  181. package/plugins/lisa-nestjs/rules/verfication.md +0 -596
  182. package/plugins/lisa-nestjs/skills/agent-design-best-practices/SKILL.md +0 -219
  183. package/plugins/lisa-nestjs/skills/git-commit/SKILL.md +0 -48
  184. package/plugins/lisa-nestjs/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  185. package/plugins/lisa-nestjs/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  186. package/plugins/lisa-nestjs/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  187. package/plugins/lisa-nestjs/skills/git-prune/SKILL.md +0 -35
  188. package/plugins/lisa-nestjs/skills/git-submit-pr/SKILL.md +0 -44
  189. package/plugins/lisa-nestjs/skills/jira-add-journey/SKILL.md +0 -120
  190. package/plugins/lisa-nestjs/skills/jira-create/SKILL.md +0 -95
  191. package/plugins/lisa-nestjs/skills/jira-evidence/SKILL.md +0 -73
  192. package/plugins/lisa-nestjs/skills/jira-evidence/scripts/post-evidence.sh +0 -163
  193. package/plugins/lisa-nestjs/skills/jira-fix/SKILL.md +0 -16
  194. package/plugins/lisa-nestjs/skills/jira-implement/SKILL.md +0 -18
  195. package/plugins/lisa-nestjs/skills/jira-journey/SKILL.md +0 -125
  196. package/plugins/lisa-nestjs/skills/jira-journey/scripts/generate-templates.py +0 -233
  197. package/plugins/lisa-nestjs/skills/jira-journey/scripts/parse-plan.py +0 -368
  198. package/plugins/lisa-nestjs/skills/jira-sync/SKILL.md +0 -63
  199. package/plugins/lisa-nestjs/skills/jira-verify/SKILL.md +0 -48
  200. package/plugins/lisa-nestjs/skills/jsdoc-best-practices/SKILL.md +0 -432
  201. package/plugins/lisa-nestjs/skills/lisa-review-implementation/SKILL.md +0 -209
  202. package/plugins/lisa-nestjs/skills/plan-add-test-coverage/SKILL.md +0 -44
  203. package/plugins/lisa-nestjs/skills/plan-execute/SKILL.md +0 -89
  204. package/plugins/lisa-nestjs/skills/plan-fix-linter-error/SKILL.md +0 -45
  205. package/plugins/lisa-nestjs/skills/plan-local-code-review/SKILL.md +0 -88
  206. package/plugins/lisa-nestjs/skills/plan-lower-code-complexity/SKILL.md +0 -44
  207. package/plugins/lisa-nestjs/skills/plan-reduce-max-lines/SKILL.md +0 -45
  208. package/plugins/lisa-nestjs/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  209. package/plugins/lisa-nestjs/skills/pull-request-review/SKILL.md +0 -68
  210. package/plugins/lisa-nestjs/skills/security-zap-scan/SKILL.md +0 -33
  211. package/plugins/lisa-nestjs/skills/sonarqube-check/SKILL.md +0 -11
  212. package/plugins/lisa-nestjs/skills/sonarqube-fix/SKILL.md +0 -8
  213. package/plugins/lisa-nestjs/skills/tasks-load/SKILL.md +0 -88
  214. package/plugins/lisa-nestjs/skills/tasks-sync/SKILL.md +0 -108
  215. package/plugins/lisa-rails/agents/agent-architect.md +0 -310
  216. package/plugins/lisa-rails/agents/architecture-specialist.md +0 -53
  217. package/plugins/lisa-rails/agents/debug-specialist.md +0 -204
  218. package/plugins/lisa-rails/agents/git-history-analyzer.md +0 -183
  219. package/plugins/lisa-rails/agents/hooks-expert.md +0 -74
  220. package/plugins/lisa-rails/agents/implementer.md +0 -54
  221. package/plugins/lisa-rails/agents/learner.md +0 -44
  222. package/plugins/lisa-rails/agents/performance-specialist.md +0 -95
  223. package/plugins/lisa-rails/agents/product-specialist.md +0 -72
  224. package/plugins/lisa-rails/agents/quality-specialist.md +0 -55
  225. package/plugins/lisa-rails/agents/security-specialist.md +0 -58
  226. package/plugins/lisa-rails/agents/skill-evaluator.md +0 -246
  227. package/plugins/lisa-rails/agents/slash-command-architect.md +0 -87
  228. package/plugins/lisa-rails/agents/test-specialist.md +0 -64
  229. package/plugins/lisa-rails/agents/verification-specialist.md +0 -189
  230. package/plugins/lisa-rails/agents/web-search-researcher.md +0 -112
  231. package/plugins/lisa-rails/commands/git/commit-and-submit-pr.md +0 -7
  232. package/plugins/lisa-rails/commands/git/commit-submit-pr-and-verify.md +0 -7
  233. package/plugins/lisa-rails/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  234. package/plugins/lisa-rails/commands/git/commit.md +0 -7
  235. package/plugins/lisa-rails/commands/git/prune.md +0 -6
  236. package/plugins/lisa-rails/commands/git/submit-pr.md +0 -7
  237. package/plugins/lisa-rails/commands/jira/fix.md +0 -7
  238. package/plugins/lisa-rails/commands/jira/implement.md +0 -7
  239. package/plugins/lisa-rails/commands/jira/sync.md +0 -7
  240. package/plugins/lisa-rails/commands/plan/create.md +0 -6
  241. package/plugins/lisa-rails/commands/plan/execute.md +0 -7
  242. package/plugins/lisa-rails/commands/plan/local-code-review.md +0 -6
  243. package/plugins/lisa-rails/commands/pull-request/review.md +0 -7
  244. package/plugins/lisa-rails/commands/review/implementation.md +0 -7
  245. package/plugins/lisa-rails/commands/security/zap-scan.md +0 -6
  246. package/plugins/lisa-rails/commands/sonarqube/check.md +0 -6
  247. package/plugins/lisa-rails/commands/sonarqube/fix.md +0 -6
  248. package/plugins/lisa-rails/commands/tasks/load.md +0 -7
  249. package/plugins/lisa-rails/commands/tasks/sync.md +0 -7
  250. package/plugins/lisa-rails/hooks/debug-hook.sh +0 -47
  251. package/plugins/lisa-rails/hooks/enforce-plan-rules.sh +0 -15
  252. package/plugins/lisa-rails/hooks/format-on-edit.sh +0 -76
  253. package/plugins/lisa-rails/hooks/install-pkgs.sh +0 -64
  254. package/plugins/lisa-rails/hooks/lint-on-edit.sh +0 -81
  255. package/plugins/lisa-rails/hooks/notify-ntfy.sh +0 -183
  256. package/plugins/lisa-rails/hooks/setup-jira-cli.sh +0 -52
  257. package/plugins/lisa-rails/hooks/sg-scan-on-edit.sh +0 -68
  258. package/plugins/lisa-rails/hooks/sync-tasks.sh +0 -107
  259. package/plugins/lisa-rails/hooks/ticket-sync-reminder.sh +0 -23
  260. package/plugins/lisa-rails/hooks/track-plan-sessions.sh +0 -164
  261. package/plugins/lisa-rails/hooks/verify-completion.sh +0 -77
  262. package/plugins/lisa-rails/rules/README.md +0 -240
  263. package/plugins/lisa-rails/rules/coding-philosophy.md +0 -428
  264. package/plugins/lisa-rails/rules/verfication.md +0 -596
  265. package/plugins/lisa-rails/skills/agent-design-best-practices/SKILL.md +0 -219
  266. package/plugins/lisa-rails/skills/git-commit/SKILL.md +0 -48
  267. package/plugins/lisa-rails/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  268. package/plugins/lisa-rails/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  269. package/plugins/lisa-rails/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  270. package/plugins/lisa-rails/skills/git-prune/SKILL.md +0 -35
  271. package/plugins/lisa-rails/skills/git-submit-pr/SKILL.md +0 -44
  272. package/plugins/lisa-rails/skills/jira-fix/SKILL.md +0 -16
  273. package/plugins/lisa-rails/skills/jira-implement/SKILL.md +0 -18
  274. package/plugins/lisa-rails/skills/jira-journey/scripts/generate-templates.py +0 -233
  275. package/plugins/lisa-rails/skills/jira-journey/scripts/parse-plan.py +0 -368
  276. package/plugins/lisa-rails/skills/jira-sync/SKILL.md +0 -63
  277. package/plugins/lisa-rails/skills/jsdoc-best-practices/SKILL.md +0 -432
  278. package/plugins/lisa-rails/skills/lisa-review-implementation/SKILL.md +0 -209
  279. package/plugins/lisa-rails/skills/plan-execute/SKILL.md +0 -89
  280. package/plugins/lisa-rails/skills/plan-local-code-review/SKILL.md +0 -88
  281. package/plugins/lisa-rails/skills/pull-request-review/SKILL.md +0 -68
  282. package/plugins/lisa-rails/skills/security-zap-scan/SKILL.md +0 -33
  283. package/plugins/lisa-rails/skills/sonarqube-check/SKILL.md +0 -11
  284. package/plugins/lisa-rails/skills/sonarqube-fix/SKILL.md +0 -8
  285. package/plugins/lisa-rails/skills/tasks-load/SKILL.md +0 -88
  286. package/plugins/lisa-rails/skills/tasks-sync/SKILL.md +0 -108
  287. package/plugins/lisa-typescript/agents/agent-architect.md +0 -310
  288. package/plugins/lisa-typescript/agents/architecture-specialist.md +0 -53
  289. package/plugins/lisa-typescript/agents/debug-specialist.md +0 -204
  290. package/plugins/lisa-typescript/agents/git-history-analyzer.md +0 -183
  291. package/plugins/lisa-typescript/agents/hooks-expert.md +0 -74
  292. package/plugins/lisa-typescript/agents/implementer.md +0 -54
  293. package/plugins/lisa-typescript/agents/learner.md +0 -44
  294. package/plugins/lisa-typescript/agents/performance-specialist.md +0 -95
  295. package/plugins/lisa-typescript/agents/product-specialist.md +0 -72
  296. package/plugins/lisa-typescript/agents/quality-specialist.md +0 -55
  297. package/plugins/lisa-typescript/agents/security-specialist.md +0 -58
  298. package/plugins/lisa-typescript/agents/skill-evaluator.md +0 -246
  299. package/plugins/lisa-typescript/agents/slash-command-architect.md +0 -87
  300. package/plugins/lisa-typescript/agents/test-specialist.md +0 -64
  301. package/plugins/lisa-typescript/agents/verification-specialist.md +0 -189
  302. package/plugins/lisa-typescript/agents/web-search-researcher.md +0 -112
  303. package/plugins/lisa-typescript/commands/git/commit-and-submit-pr.md +0 -7
  304. package/plugins/lisa-typescript/commands/git/commit-submit-pr-and-verify.md +0 -7
  305. package/plugins/lisa-typescript/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  306. package/plugins/lisa-typescript/commands/git/commit.md +0 -7
  307. package/plugins/lisa-typescript/commands/git/prune.md +0 -6
  308. package/plugins/lisa-typescript/commands/git/submit-pr.md +0 -7
  309. package/plugins/lisa-typescript/commands/jira/fix.md +0 -7
  310. package/plugins/lisa-typescript/commands/jira/implement.md +0 -7
  311. package/plugins/lisa-typescript/commands/jira/sync.md +0 -7
  312. package/plugins/lisa-typescript/commands/plan/add-test-coverage.md +0 -7
  313. package/plugins/lisa-typescript/commands/plan/create.md +0 -6
  314. package/plugins/lisa-typescript/commands/plan/execute.md +0 -7
  315. package/plugins/lisa-typescript/commands/plan/fix-linter-error.md +0 -7
  316. package/plugins/lisa-typescript/commands/plan/local-code-review.md +0 -6
  317. package/plugins/lisa-typescript/commands/plan/lower-code-complexity.md +0 -6
  318. package/plugins/lisa-typescript/commands/plan/reduce-max-lines-per-function.md +0 -7
  319. package/plugins/lisa-typescript/commands/plan/reduce-max-lines.md +0 -7
  320. package/plugins/lisa-typescript/commands/pull-request/review.md +0 -7
  321. package/plugins/lisa-typescript/commands/review/implementation.md +0 -7
  322. package/plugins/lisa-typescript/commands/security/zap-scan.md +0 -6
  323. package/plugins/lisa-typescript/commands/sonarqube/check.md +0 -6
  324. package/plugins/lisa-typescript/commands/sonarqube/fix.md +0 -6
  325. package/plugins/lisa-typescript/commands/tasks/load.md +0 -7
  326. package/plugins/lisa-typescript/commands/tasks/sync.md +0 -7
  327. package/plugins/lisa-typescript/hooks/debug-hook.sh +0 -47
  328. package/plugins/lisa-typescript/hooks/enforce-plan-rules.sh +0 -15
  329. package/plugins/lisa-typescript/hooks/install-pkgs.sh +0 -64
  330. package/plugins/lisa-typescript/hooks/notify-ntfy.sh +0 -183
  331. package/plugins/lisa-typescript/hooks/setup-jira-cli.sh +0 -52
  332. package/plugins/lisa-typescript/hooks/sync-tasks.sh +0 -107
  333. package/plugins/lisa-typescript/hooks/ticket-sync-reminder.sh +0 -23
  334. package/plugins/lisa-typescript/hooks/track-plan-sessions.sh +0 -164
  335. package/plugins/lisa-typescript/hooks/verify-completion.sh +0 -77
  336. package/plugins/lisa-typescript/rules/README.md +0 -240
  337. package/plugins/lisa-typescript/rules/coding-philosophy.md +0 -428
  338. package/plugins/lisa-typescript/rules/verfication.md +0 -596
  339. package/plugins/lisa-typescript/skills/agent-design-best-practices/SKILL.md +0 -219
  340. package/plugins/lisa-typescript/skills/git-commit/SKILL.md +0 -48
  341. package/plugins/lisa-typescript/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  342. package/plugins/lisa-typescript/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  343. package/plugins/lisa-typescript/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  344. package/plugins/lisa-typescript/skills/git-prune/SKILL.md +0 -35
  345. package/plugins/lisa-typescript/skills/git-submit-pr/SKILL.md +0 -44
  346. package/plugins/lisa-typescript/skills/jira-add-journey/SKILL.md +0 -120
  347. package/plugins/lisa-typescript/skills/jira-create/SKILL.md +0 -95
  348. package/plugins/lisa-typescript/skills/jira-evidence/SKILL.md +0 -73
  349. package/plugins/lisa-typescript/skills/jira-evidence/scripts/post-evidence.sh +0 -163
  350. package/plugins/lisa-typescript/skills/jira-fix/SKILL.md +0 -16
  351. package/plugins/lisa-typescript/skills/jira-implement/SKILL.md +0 -18
  352. package/plugins/lisa-typescript/skills/jira-journey/SKILL.md +0 -125
  353. package/plugins/lisa-typescript/skills/jira-journey/scripts/generate-templates.py +0 -233
  354. package/plugins/lisa-typescript/skills/jira-journey/scripts/parse-plan.py +0 -368
  355. package/plugins/lisa-typescript/skills/jira-sync/SKILL.md +0 -63
  356. package/plugins/lisa-typescript/skills/jira-verify/SKILL.md +0 -48
  357. package/plugins/lisa-typescript/skills/jsdoc-best-practices/SKILL.md +0 -432
  358. package/plugins/lisa-typescript/skills/lisa-review-implementation/SKILL.md +0 -209
  359. package/plugins/lisa-typescript/skills/plan-add-test-coverage/SKILL.md +0 -44
  360. package/plugins/lisa-typescript/skills/plan-execute/SKILL.md +0 -89
  361. package/plugins/lisa-typescript/skills/plan-fix-linter-error/SKILL.md +0 -45
  362. package/plugins/lisa-typescript/skills/plan-local-code-review/SKILL.md +0 -88
  363. package/plugins/lisa-typescript/skills/plan-lower-code-complexity/SKILL.md +0 -44
  364. package/plugins/lisa-typescript/skills/plan-reduce-max-lines/SKILL.md +0 -45
  365. package/plugins/lisa-typescript/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  366. package/plugins/lisa-typescript/skills/pull-request-review/SKILL.md +0 -68
  367. package/plugins/lisa-typescript/skills/security-zap-scan/SKILL.md +0 -33
  368. package/plugins/lisa-typescript/skills/sonarqube-check/SKILL.md +0 -11
  369. package/plugins/lisa-typescript/skills/sonarqube-fix/SKILL.md +0 -8
  370. package/plugins/lisa-typescript/skills/tasks-load/SKILL.md +0 -88
  371. package/plugins/lisa-typescript/skills/tasks-sync/SKILL.md +0 -108
  372. package/plugins/src/base/hooks/format-on-edit.sh +0 -76
  373. package/plugins/src/base/hooks/lint-on-edit.sh +0 -81
  374. package/plugins/src/base/hooks/sg-scan-on-edit.sh +0 -68
  375. package/plugins/src/base/rules/lisa.md +0 -37
  376. /package/plugins/{lisa-cdk → lisa}/agents/agent-architect.md +0 -0
  377. /package/plugins/{lisa-cdk → lisa}/agents/architecture-specialist.md +0 -0
  378. /package/plugins/{lisa-cdk → lisa}/agents/debug-specialist.md +0 -0
  379. /package/plugins/{lisa-cdk → lisa}/agents/git-history-analyzer.md +0 -0
  380. /package/plugins/{lisa-cdk → lisa}/agents/hooks-expert.md +0 -0
  381. /package/plugins/{lisa-cdk → lisa}/agents/implementer.md +0 -0
  382. /package/plugins/{lisa-cdk → lisa}/agents/learner.md +0 -0
  383. /package/plugins/{lisa-cdk → lisa}/agents/performance-specialist.md +0 -0
  384. /package/plugins/{lisa-cdk → lisa}/agents/product-specialist.md +0 -0
  385. /package/plugins/{lisa-cdk → lisa}/agents/quality-specialist.md +0 -0
  386. /package/plugins/{lisa-cdk → lisa}/agents/security-specialist.md +0 -0
  387. /package/plugins/{lisa-cdk → lisa}/agents/skill-evaluator.md +0 -0
  388. /package/plugins/{lisa-cdk → lisa}/agents/slash-command-architect.md +0 -0
  389. /package/plugins/{lisa-cdk → lisa}/agents/test-specialist.md +0 -0
  390. /package/plugins/{lisa-cdk → lisa}/agents/verification-specialist.md +0 -0
  391. /package/plugins/{lisa-cdk → lisa}/agents/web-search-researcher.md +0 -0
  392. /package/plugins/{lisa-cdk → lisa}/commands/git/commit-and-submit-pr.md +0 -0
  393. /package/plugins/{lisa-cdk → lisa}/commands/git/commit-submit-pr-and-verify.md +0 -0
  394. /package/plugins/{lisa-cdk → lisa}/commands/git/commit-submit-pr-deploy-and-verify.md +0 -0
  395. /package/plugins/{lisa-cdk → lisa}/commands/git/commit.md +0 -0
  396. /package/plugins/{lisa-cdk → lisa}/commands/git/prune.md +0 -0
  397. /package/plugins/{lisa-cdk → lisa}/commands/git/submit-pr.md +0 -0
  398. /package/plugins/{lisa-cdk → lisa}/commands/jira/add-journey.md +0 -0
  399. /package/plugins/{lisa-cdk → lisa}/commands/jira/create.md +0 -0
  400. /package/plugins/{lisa-cdk → lisa}/commands/jira/evidence.md +0 -0
  401. /package/plugins/{lisa-cdk → lisa}/commands/jira/fix.md +0 -0
  402. /package/plugins/{lisa-cdk → lisa}/commands/jira/implement.md +0 -0
  403. /package/plugins/{lisa-cdk → lisa}/commands/jira/journey.md +0 -0
  404. /package/plugins/{lisa-cdk → lisa}/commands/jira/sync.md +0 -0
  405. /package/plugins/{lisa-cdk → lisa}/commands/jira/verify.md +0 -0
  406. /package/plugins/{lisa-cdk → lisa}/commands/plan/add-test-coverage.md +0 -0
  407. /package/plugins/{lisa-cdk → lisa}/commands/plan/create.md +0 -0
  408. /package/plugins/{lisa-cdk → lisa}/commands/plan/execute.md +0 -0
  409. /package/plugins/{lisa-cdk → lisa}/commands/plan/fix-linter-error.md +0 -0
  410. /package/plugins/{lisa-cdk → lisa}/commands/plan/local-code-review.md +0 -0
  411. /package/plugins/{lisa-cdk → lisa}/commands/plan/lower-code-complexity.md +0 -0
  412. /package/plugins/{lisa-cdk → lisa}/commands/plan/reduce-max-lines-per-function.md +0 -0
  413. /package/plugins/{lisa-cdk → lisa}/commands/plan/reduce-max-lines.md +0 -0
  414. /package/plugins/{lisa-cdk → lisa}/commands/pull-request/review.md +0 -0
  415. /package/plugins/{lisa-cdk → lisa}/commands/review/implementation.md +0 -0
  416. /package/plugins/{lisa-cdk → lisa}/commands/security/zap-scan.md +0 -0
  417. /package/plugins/{lisa-cdk → lisa}/commands/sonarqube/check.md +0 -0
  418. /package/plugins/{lisa-cdk → lisa}/commands/sonarqube/fix.md +0 -0
  419. /package/plugins/{lisa-cdk → lisa}/commands/tasks/load.md +0 -0
  420. /package/plugins/{lisa-cdk → lisa}/commands/tasks/sync.md +0 -0
  421. /package/plugins/{lisa-cdk → lisa}/hooks/debug-hook.sh +0 -0
  422. /package/plugins/{lisa-cdk → lisa}/hooks/enforce-plan-rules.sh +0 -0
  423. /package/plugins/{lisa-cdk → lisa}/hooks/install-pkgs.sh +0 -0
  424. /package/plugins/{lisa-cdk → lisa}/hooks/notify-ntfy.sh +0 -0
  425. /package/plugins/{lisa-cdk → lisa}/hooks/setup-jira-cli.sh +0 -0
  426. /package/plugins/{lisa-cdk → lisa}/hooks/sync-tasks.sh +0 -0
  427. /package/plugins/{lisa-cdk → lisa}/hooks/ticket-sync-reminder.sh +0 -0
  428. /package/plugins/{lisa-cdk → lisa}/hooks/track-plan-sessions.sh +0 -0
  429. /package/plugins/{lisa-cdk → lisa}/hooks/verify-completion.sh +0 -0
  430. /package/plugins/{lisa-cdk → lisa}/rules/README.md +0 -0
  431. /package/plugins/{lisa-cdk → lisa}/rules/coding-philosophy.md +0 -0
  432. /package/plugins/{lisa-cdk → lisa}/rules/verfication.md +0 -0
  433. /package/plugins/{lisa-cdk → lisa}/skills/agent-design-best-practices/SKILL.md +0 -0
  434. /package/plugins/{lisa-cdk → lisa}/skills/git-commit/SKILL.md +0 -0
  435. /package/plugins/{lisa-cdk → lisa}/skills/git-commit-and-submit-pr/SKILL.md +0 -0
  436. /package/plugins/{lisa-cdk → lisa}/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -0
  437. /package/plugins/{lisa-cdk → lisa}/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -0
  438. /package/plugins/{lisa-cdk → lisa}/skills/git-prune/SKILL.md +0 -0
  439. /package/plugins/{lisa-cdk → lisa}/skills/git-submit-pr/SKILL.md +0 -0
  440. /package/plugins/{lisa-cdk → lisa}/skills/jira-add-journey/SKILL.md +0 -0
  441. /package/plugins/{lisa-cdk → lisa}/skills/jira-create/SKILL.md +0 -0
  442. /package/plugins/{lisa-cdk → lisa}/skills/jira-evidence/SKILL.md +0 -0
  443. /package/plugins/{lisa-cdk → lisa}/skills/jira-evidence/scripts/post-evidence.sh +0 -0
  444. /package/plugins/{lisa-cdk → lisa}/skills/jira-fix/SKILL.md +0 -0
  445. /package/plugins/{lisa-cdk → lisa}/skills/jira-implement/SKILL.md +0 -0
  446. /package/plugins/{lisa-cdk → lisa}/skills/jira-journey/SKILL.md +0 -0
  447. /package/plugins/{lisa-cdk → lisa}/skills/jira-journey/scripts/generate-templates.py +0 -0
  448. /package/plugins/{lisa-cdk → lisa}/skills/jira-journey/scripts/parse-plan.py +0 -0
  449. /package/plugins/{lisa-cdk → lisa}/skills/jira-sync/SKILL.md +0 -0
  450. /package/plugins/{lisa-cdk → lisa}/skills/jira-verify/SKILL.md +0 -0
  451. /package/plugins/{lisa-cdk → lisa}/skills/jsdoc-best-practices/SKILL.md +0 -0
  452. /package/plugins/{lisa-cdk → lisa}/skills/lisa-review-implementation/SKILL.md +0 -0
  453. /package/plugins/{lisa-cdk → lisa}/skills/plan-add-test-coverage/SKILL.md +0 -0
  454. /package/plugins/{lisa-cdk → lisa}/skills/plan-execute/SKILL.md +0 -0
  455. /package/plugins/{lisa-cdk → lisa}/skills/plan-fix-linter-error/SKILL.md +0 -0
  456. /package/plugins/{lisa-cdk → lisa}/skills/plan-local-code-review/SKILL.md +0 -0
  457. /package/plugins/{lisa-cdk → lisa}/skills/plan-lower-code-complexity/SKILL.md +0 -0
  458. /package/plugins/{lisa-cdk → lisa}/skills/plan-reduce-max-lines/SKILL.md +0 -0
  459. /package/plugins/{lisa-cdk → lisa}/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -0
  460. /package/plugins/{lisa-cdk → lisa}/skills/pull-request-review/SKILL.md +0 -0
  461. /package/plugins/{lisa-cdk → lisa}/skills/security-zap-scan/SKILL.md +0 -0
  462. /package/plugins/{lisa-cdk → lisa}/skills/sonarqube-check/SKILL.md +0 -0
  463. /package/plugins/{lisa-cdk → lisa}/skills/sonarqube-fix/SKILL.md +0 -0
  464. /package/plugins/{lisa-cdk → lisa}/skills/tasks-load/SKILL.md +0 -0
  465. /package/plugins/{lisa-cdk → lisa}/skills/tasks-sync/SKILL.md +0 -0
  466. /package/plugins/{lisa-cdk → src/typescript}/hooks/format-on-edit.sh +0 -0
  467. /package/plugins/{lisa-cdk → src/typescript}/hooks/lint-on-edit.sh +0 -0
  468. /package/plugins/{lisa-cdk → src/typescript}/hooks/sg-scan-on-edit.sh +0 -0
  469. /package/plugins/{lisa-cdk → src/typescript}/rules/lisa.md +0 -0
@@ -1,432 +0,0 @@
1
- ---
2
- name: jsdoc-best-practices
3
- description: Enforces JSDoc documentation standards for this TypeScript project. This skill should be used when writing or reviewing TypeScript code to ensure proper documentation with file preambles, function docs, interface docs, and the critical distinction between documenting "what" vs "why". Use this skill to understand the project's JSDoc ESLint rules and established patterns.
4
- ---
5
-
6
- # JSDoc Best Practices
7
-
8
- ## Overview
9
-
10
- This skill defines the JSDoc documentation standards for this project. The core principle is that **documentation should explain "why", not just "what"**. Code already shows what it does—good documentation explains the reasoning, context, and non-obvious details that help developers understand and maintain the code.
11
-
12
- ## Core Philosophy: Why Over What
13
-
14
- ### The Problem with "What" Documentation
15
-
16
- ```typescript
17
- // Bad: Just restates the code
18
- /**
19
- * Gets the user by ID
20
- * @param id - The ID
21
- * @returns The user
22
- */
23
- function getUserById(id: string): User { ... }
24
- ```
25
-
26
- This documentation adds no value—the function name already tells us it gets a user by ID.
27
-
28
- ### The Solution: Document "Why"
29
-
30
- ```typescript
31
- // Good: Explains context, constraints, and non-obvious behavior
32
- /**
33
- * Retrieves a user by their unique identifier
34
- * @param id - The user's UUID (not the legacy numeric ID)
35
- * @returns The user if found, null if not found or soft-deleted
36
- * @remarks Used by DataLoader for batching - maintains input order
37
- */
38
- function getUserById(id: string): User | null { ... }
39
- ```
40
-
41
- This documentation adds value by explaining:
42
- - What kind of ID (UUID vs legacy)
43
- - What happens when not found
44
- - Why this specific implementation exists (DataLoader batching)
45
-
46
- ## ESLint Enforcement
47
-
48
- The project enforces JSDoc through `eslint-plugin-jsdoc` with these rules:
49
-
50
- ### Required Documentation
51
-
52
- | Rule | Setting | What It Enforces |
53
- |------|---------|------------------|
54
- | `jsdoc/require-jsdoc` | error | JSDoc on function declarations, interfaces, type aliases, and PascalCase arrow functions |
55
- | `jsdoc/require-param-description` | error | All `@param` tags must have descriptions |
56
- | `jsdoc/require-returns-description` | error | All `@returns` tags must have descriptions |
57
- | `jsdoc/require-property-description` | error | All `@property` tags must have descriptions |
58
-
59
- ### Allowed Tags
60
-
61
- | Rule | Setting | Effect |
62
- |------|---------|--------|
63
- | `jsdoc/check-tag-names` | `definedTags: ["remarks"]` | Allows `@remarks` for "why" documentation |
64
- | `jsdoc/no-types` | off | TypeScript types in JSDoc are optional |
65
- | `jsdoc/require-param-type` | off | Types come from TypeScript, not JSDoc |
66
- | `jsdoc/require-returns-type` | off | Types come from TypeScript, not JSDoc |
67
-
68
- ### What Requires Documentation
69
-
70
- Per `jsdoc/require-jsdoc` configuration:
71
-
72
- ```javascript
73
- {
74
- require: {
75
- FunctionDeclaration: true, // function foo() {}
76
- MethodDefinition: false, // class methods (optional)
77
- ClassDeclaration: false, // classes (optional but recommended)
78
- ArrowFunctionExpression: false, // const foo = () => {} (optional)
79
- FunctionExpression: false, // const foo = function() {} (optional)
80
- },
81
- contexts: [
82
- "TSInterfaceDeclaration", // interface Foo {}
83
- "TSTypeAliasDeclaration", // type Foo = ...
84
- // PascalCase arrow functions (React components, factories):
85
- "VariableDeclaration[declarations.0.init.type='ArrowFunctionExpression']:has([id.name=/^[A-Z]/])"
86
- ]
87
- }
88
- ```
89
-
90
- ## Documentation Patterns
91
-
92
- ### File Preambles
93
-
94
- Every file should have a preamble comment at the top:
95
-
96
- ```typescript
97
- /**
98
- * @file complexity.plugin.ts
99
- * @description Apollo Server plugin for query complexity analysis and limiting
100
- * @module graphql
101
- */
102
- ```
103
-
104
- | Tag | Purpose |
105
- |-----|---------|
106
- | `@file` | The filename (for navigation and search) |
107
- | `@description` | What this file provides |
108
- | `@module` | The feature module this belongs to |
109
-
110
- ### Service Documentation
111
-
112
- ```typescript
113
- /**
114
- * Service for managing user accounts
115
- * @description Provides CRUD operations for user entities
116
- * @remarks
117
- * - All methods are idempotent
118
- * - Throws NotFoundException for missing resources
119
- * - Uses DataLoader batching for bulk operations
120
- */
121
- @Injectable()
122
- export class UserService { ... }
123
- ```
124
-
125
- ### Method Documentation
126
-
127
- ```typescript
128
- /**
129
- * Batch loads entities by IDs (for DataLoader)
130
- * @param ids - Array of entity IDs to load
131
- * @returns Promise resolving to array of entities in same order as input
132
- * @remarks Used by DataLoader for batching - maintains input order
133
- */
134
- async findByIds(ids: readonly string[]): Promise<Entity[]> { ... }
135
- ```
136
-
137
- ### Interface Documentation
138
-
139
- ```typescript
140
- /**
141
- * Interface for authentication services
142
- * @description Defines the contract for both Cognito and Local auth implementations.
143
- * This interface ensures both AuthService (production) and LocalAuthService
144
- * (local development) provide the same public API for authentication operations.
145
- */
146
- export interface IAuthService {
147
- /**
148
- * Initiates the sign-in flow by sending an OTP to the user
149
- * @param input - The sign-in input containing the user identifier (phone/email)
150
- * @returns A promise resolving to the sign-in result with session and challenge info
151
- */
152
- signIn(input: SignInInput): Promise<SignInResult>;
153
- }
154
- ```
155
-
156
- ### Type/Constant Documentation
157
-
158
- ```typescript
159
- /**
160
- * Default complexity configuration
161
- * @description Tune these values based on your server capacity
162
- */
163
- const COMPLEXITY_CONFIG = {
164
- /** Maximum allowed query complexity */
165
- maxComplexity: 100,
166
- /** Default complexity for fields without explicit complexity */
167
- defaultComplexity: 1,
168
- } as const;
169
- ```
170
-
171
- ## The @remarks Tag
172
-
173
- Use `@remarks` to document the "why" and important context:
174
-
175
- ### When to Use @remarks
176
-
177
- | Use Case | Example |
178
- |----------|---------|
179
- | Design decisions | `@remarks Uses closure pattern to cache between Lambda invocations` |
180
- | Usage constraints | `@remarks Call getLoaders() once per GraphQL request in context factory` |
181
- | Non-obvious behavior | `@remarks Maintains input order for DataLoader compatibility` |
182
- | Important caveats | `@remarks All methods are idempotent - safe to retry` |
183
- | Integration details | `@remarks Connects on module initialization, disconnects on destruction` |
184
-
185
- ### @remarks Format
186
-
187
- Use bullet points for multiple remarks:
188
-
189
- ```typescript
190
- /**
191
- * Apollo Server plugin that calculates and limits query complexity
192
- * @description Prevents expensive queries from overwhelming the server
193
- * @remarks
194
- * - Uses field extensions estimator for custom complexity values
195
- * - Falls back to simple estimator with default complexity of 1
196
- * - Rejects queries that exceed the configured maximum complexity
197
- */
198
- ```
199
-
200
- Use inline for single remarks:
201
-
202
- ```typescript
203
- /**
204
- * Creates all DataLoader instances for a single request
205
- * @returns Object containing all typed DataLoaders
206
- * @remarks Called in GraphQL context factory - creates fresh instances per request
207
- */
208
- ```
209
-
210
- ## Parameter Descriptions
211
-
212
- ### Bad: Restating the Name
213
-
214
- ```typescript
215
- /**
216
- * @param id - The id
217
- * @param name - The name
218
- * @param options - The options
219
- */
220
- ```
221
-
222
- ### Good: Adding Value
223
-
224
- ```typescript
225
- /**
226
- * @param id - The user's UUID (not the legacy numeric ID from v1 API)
227
- * @param name - Display name, max 50 characters, sanitized for XSS
228
- * @param options - Configuration for the query, see QueryOptions type
229
- */
230
- ```
231
-
232
- ### Parameter Description Guidelines
233
-
234
- | Include | Avoid |
235
- |---------|-------|
236
- | Valid value ranges | Restating the parameter name |
237
- | Format requirements | Restating the type |
238
- | Default behavior | Obvious information |
239
- | Edge cases | Implementation details |
240
- | Units (ms, bytes, etc.) | Internal variable names |
241
-
242
- ## Return Value Descriptions
243
-
244
- ### Bad: Restating the Type
245
-
246
- ```typescript
247
- /**
248
- * @returns The user
249
- * @returns A promise
250
- * @returns The result
251
- */
252
- ```
253
-
254
- ### Good: Explaining Behavior
255
-
256
- ```typescript
257
- /**
258
- * @returns The user if found, null if not found or soft-deleted
259
- * @returns Promise resolving to array of entities in same order as input
260
- * @returns Authentication tokens on success, error message on failure
261
- */
262
- ```
263
-
264
- ## Anti-Patterns to Avoid
265
-
266
- ### Don't Document the Obvious
267
-
268
- ```typescript
269
- // Wrong: Adds no value
270
- /**
271
- * Constructor
272
- */
273
- constructor() {}
274
-
275
- /**
276
- * Gets the name
277
- * @returns The name
278
- */
279
- getName(): string { return this.name; }
280
- ```
281
-
282
- ### Don't Duplicate TypeScript Types
283
-
284
- ```typescript
285
- // Wrong: Type is already in signature
286
- /**
287
- * @param id - {string} The user ID
288
- * @returns {Promise<User>} The user
289
- */
290
- async getUser(id: string): Promise<User> { ... }
291
-
292
- // Correct: Description only, type from TypeScript
293
- /**
294
- * @param id - The user's UUID identifier
295
- * @returns The user entity with populated relations
296
- */
297
- async getUser(id: string): Promise<User> { ... }
298
- ```
299
-
300
- ### Don't Write Implementation Comments
301
-
302
- ```typescript
303
- // Wrong: Documents how, not why
304
- /**
305
- * Loops through users and filters by active status
306
- */
307
- const activeUsers = users.filter(u => u.active);
308
-
309
- // Correct: Self-documenting code needs no comment
310
- // If explanation is needed, explain WHY:
311
- // Active users are filtered first to avoid unnecessary permission checks
312
- const activeUsers = users.filter(u => u.active);
313
- ```
314
-
315
- ## Escaping @ Symbols in JSDoc
316
-
317
- When documenting code that contains TypeScript/NestJS decorators (like `@Injectable()`, `@Processor('queue-name')`), JSDoc will interpret the `@` as a tag marker. This causes lint errors because JSDoc sees `@Processor('qpr-v2')` as a single unknown tag name (including the parentheses and arguments).
318
-
319
- **The problem:** Adding decorator names to `definedTags` doesn't help because JSDoc parses the entire string `@Processor('qpr-v2')` as the tag name, not just `@Processor`.
320
-
321
- ### Solution 1: Backticks in Prose
322
-
323
- When mentioning decorators in description text, wrap them in backticks:
324
-
325
- ```typescript
326
- /**
327
- * Queue processor for QPR calculations
328
- * @description Handles jobs from the `@Processor('qpr-v2')` queue
329
- * @remarks Uses `@Injectable()` scope for request isolation
330
- */
331
- ```
332
-
333
- ### Solution 2: Escape in @example Blocks
334
-
335
- In `@example` blocks, use fenced code blocks and escape `@` as `\@`:
336
-
337
- ```typescript
338
- /**
339
- * Creates a queue processor
340
- * @example
341
- * ```typescript
342
- * \@Processor('my-queue')
343
- * export class MyProcessor {
344
- * \@Process()
345
- * async handle(job: Job) { ... }
346
- * }
347
- * ```
348
- */
349
- ```
350
-
351
- ### Quick Reference for Escaping
352
-
353
- | Context | Approach | Example |
354
- |---------|----------|---------|
355
- | Prose/description | Wrap in backticks | `` `@Injectable()` `` |
356
- | @example block | Escape with backslash | `\@Processor('name')` |
357
- | Code comments | No escaping needed | `// Uses @Injectable` |
358
-
359
- ## Quick Reference
360
-
361
- ### Required Structure for Services
362
-
363
- ```typescript
364
- /**
365
- * @file feature.service.ts
366
- * @description Service providing feature functionality
367
- * @module feature
368
- */
369
-
370
- /**
371
- * Service for feature operations
372
- * @description Brief description of what this service handles
373
- * @remarks
374
- * - Important architectural decisions
375
- * - Usage patterns or constraints
376
- */
377
- @Injectable()
378
- export class FeatureService {
379
- /**
380
- * Brief description of what this method does
381
- * @param paramName - What this parameter represents and any constraints
382
- * @returns What is returned and under what conditions
383
- * @remarks Any non-obvious behavior or usage notes
384
- */
385
- methodName(paramName: Type): ReturnType { ... }
386
- }
387
- ```
388
-
389
- ### Required Structure for Interfaces
390
-
391
- ```typescript
392
- /**
393
- * Interface for feature operations
394
- * @description Explains the contract this interface defines
395
- */
396
- export interface IFeature {
397
- /**
398
- * Method description
399
- * @param param - Parameter description with constraints
400
- * @returns Return description with conditions
401
- */
402
- method(param: Type): ReturnType;
403
- }
404
- ```
405
-
406
- ### Required Structure for Types
407
-
408
- ```typescript
409
- /**
410
- * Represents a feature configuration
411
- * @description Used to configure feature behavior at initialization
412
- */
413
- export type FeatureConfig = {
414
- /** Maximum retry attempts before failing */
415
- maxRetries: number;
416
- /** Timeout in milliseconds */
417
- timeoutMs: number;
418
- };
419
- ```
420
-
421
- ## Verification Checklist
422
-
423
- Before committing code, verify:
424
-
425
- 1. **File preamble exists**: `@file`, `@description`, `@module`
426
- 2. **Function declarations have JSDoc**: Required by ESLint
427
- 3. **Interfaces have JSDoc**: Required by ESLint
428
- 4. **Type aliases have JSDoc**: Required by ESLint
429
- 5. **Parameters have meaningful descriptions**: Not just restating the name
430
- 6. **Returns have meaningful descriptions**: Explain conditions and edge cases
431
- 7. **@remarks used for "why"**: Design decisions, constraints, non-obvious behavior
432
- 8. **No TypeScript types in JSDoc**: Types come from the signature
@@ -1,209 +0,0 @@
1
- ---
2
- name: lisa-review-implementation
3
- description: This skill should be used when comparing a project's Lisa-managed files against Lisa's source templates to identify drift. It reads the project manifest, locates source templates, generates diffs for drifted files, and offers to upstream improvements back to Lisa.
4
- ---
5
-
6
- # Lisa Implementation Review
7
-
8
- This skill compares the current project's Lisa-managed files against Lisa's source templates to identify drift and offer to upstream improvements back to Lisa.
9
-
10
- ## Prerequisites
11
-
12
- This skill requires access to the Lisa installation directory. Either:
13
- 1. Start Claude Code with `--add-dir ~/lisa` (or your Lisa path)
14
- 2. Pass the Lisa directory as an argument: `/lisa-review-implementation ~/lisa`
15
-
16
- ## Instructions
17
-
18
- ### Step 1: Locate Lisa Directory
19
-
20
- First, determine the Lisa installation directory:
21
-
22
- 1. If an argument was provided, use that path
23
- 2. Otherwise, check if any `--add-dir` paths contain a `src/core/lisa.ts` file (Lisa's signature file)
24
- 3. Common locations to check: `~/lisa`, `~/workspace/lisa`, `../lisa`
25
-
26
- If Lisa directory cannot be found, inform the user:
27
- ```
28
- Unable to locate Lisa installation directory.
29
-
30
- Please either:
31
- 1. Start Claude Code with: claude --add-dir /path/to/lisa
32
- 2. Run this command with the path: /lisa-review-implementation /path/to/lisa
33
- ```
34
-
35
- ### Step 2: Read the Manifest
36
-
37
- Read the project's `.lisa-manifest` file to get the list of managed files.
38
-
39
- Parse each line to extract:
40
- - `strategy`: The copy strategy used (copy-overwrite, copy-contents, merge, create-only)
41
- - `relativePath`: The file path relative to project root
42
-
43
- Skip:
44
- - Lines starting with `#` (comments)
45
- - Empty lines
46
- - Files with `create-only` strategy (these are meant to be customized)
47
- - Files with `merge` strategy (these are intentionally combined)
48
-
49
- ### Step 3: Find Source Templates
50
-
51
- For each managed file, locate its source in Lisa by checking these directories in order:
52
- 1. `npm-package/copy-overwrite/` and `npm-package/copy-contents/`
53
- 2. `cdk/copy-overwrite/` and `cdk/copy-contents/`
54
- 3. `nestjs/copy-overwrite/` and `nestjs/copy-contents/`
55
- 4. `expo/copy-overwrite/` and `expo/copy-contents/`
56
- 5. `typescript/copy-overwrite/` and `typescript/copy-contents/`
57
- 6. `all/copy-overwrite/` and `all/copy-contents/`
58
-
59
- The FIRST match wins (most specific type takes precedence).
60
-
61
- Detect which project types apply by checking the project for:
62
- - `npm-package`: package.json without `"private": true` AND has `main`, `bin`, `exports`, or `files`
63
- - `cdk`: presence of `cdk.json` or `aws-cdk` in dependencies
64
- - `nestjs`: presence of `nest-cli.json` or `@nestjs` in dependencies
65
- - `expo`: presence of `app.json`, `eas.json`, or `expo` in dependencies
66
- - `typescript`: presence of `tsconfig.json` or `typescript` in dependencies
67
-
68
- Only check type directories that match the project.
69
-
70
- ### Step 4: Compare Files
71
-
72
- For each file, compare the project version against the Lisa source:
73
-
74
- 1. Read both files
75
- 2. If identical, mark as "in sync"
76
- 3. If different, generate a diff summary
77
-
78
- Use the Bash tool with `diff` to generate readable diffs:
79
- ```bash
80
- diff -u "/path/to/lisa/source" "/path/to/project/file" || true
81
- ```
82
-
83
- ### Step 5: Generate Report
84
-
85
- Create a markdown report with these sections:
86
-
87
- ```markdown
88
- # Lisa Implementation Review
89
-
90
- **Project:** [project name from package.json]
91
- **Lisa Source:** [lisa directory path]
92
- **Generated:** [current date/time]
93
-
94
- ## Summary
95
-
96
- - **Total managed files:** X
97
- - **In sync:** X
98
- - **Drifted:** X
99
- - **Source not found:** X
100
-
101
- ## Drifted Files
102
-
103
- ### [relative/path/to/file]
104
-
105
- **Source:** [lisa-type]/copy-overwrite/[path]
106
- **Strategy:** copy-overwrite
107
-
108
- <details>
109
- <summary>View diff</summary>
110
-
111
- ```diff
112
- [diff output]
113
- ```
114
-
115
- </details>
116
-
117
- **Recommendation:** [Brief analysis of whether this change should be upstreamed]
118
-
119
- ---
120
-
121
- [Repeat for each drifted file]
122
-
123
- ## Files Not Found in Lisa
124
-
125
- These files are in the manifest but their source templates couldn't be located:
126
-
127
- - [list of files]
128
-
129
- ## In Sync Files
130
-
131
- <details>
132
- <summary>X files are in sync with Lisa</summary>
133
-
134
- - [list of files]
135
-
136
- </details>
137
- ```
138
-
139
- ### Step 6: Offer to Upstream Changes
140
-
141
- After presenting the report, ask the user which drifted files they want to copy back to Lisa.
142
-
143
- For each file the user wants to upstream:
144
-
145
- 1. Confirm the target path in Lisa (e.g., `typescript/copy-overwrite/.github/workflows/ci.yml`)
146
- 2. Use the Write tool to copy the project's version to Lisa
147
- 3. Report success
148
-
149
- Example prompt:
150
- ```
151
- I found X files that have drifted from Lisa's templates.
152
-
153
- Which files would you like to copy back to Lisa?
154
- 1. .github/workflows/ci.yml - [brief description of changes]
155
- 2. .claude/settings.json - [brief description of changes]
156
- 3. All of the above
157
- 4. None - just show me the report
158
-
159
- Select an option (or list specific numbers):
160
- ```
161
-
162
- ### Important Notes
163
-
164
- - **Never auto-upstream without confirmation** - always ask the user first
165
- - **Preserve the most specific type directory** - if a file exists in both `typescript/` and `all/`, upstream to where it currently exists
166
- - **Handle binary files gracefully** - skip comparison for non-text files
167
- - **Respect .gitignore patterns** - some generated files shouldn't be compared
168
- - For `copy-contents` files like `.gitignore`, the comparison is trickier since the project may have additional lines - highlight only if Lisa's required lines are missing
169
-
170
- ## Example Usage
171
-
172
- ```
173
- User: /lisa-review-implementation
174
-
175
- Claude: I'll review your project's Lisa-managed files against the Lisa source templates.
176
-
177
- [Locates Lisa directory]
178
- [Reads manifest]
179
- [Compares files]
180
- [Generates report]
181
-
182
- # Lisa Implementation Review
183
-
184
- **Project:** my-awesome-app
185
- **Lisa Source:** /Users/dev/lisa
186
- **Generated:** 2026-01-18 10:30:00
187
-
188
- ## Summary
189
-
190
- - **Total managed files:** 45
191
- - **In sync:** 42
192
- - **Drifted:** 3
193
- - **Source not found:** 0
194
-
195
- ## Drifted Files
196
-
197
- ### .github/workflows/ci.yml
198
-
199
- **Source:** typescript/copy-overwrite/.github/workflows/ci.yml
200
- **Strategy:** copy-overwrite
201
-
202
- [diff details]
203
-
204
- **Recommendation:** This adds a new caching step that improves CI performance. Good candidate for upstreaming.
205
-
206
- ---
207
-
208
- I found 3 files that have drifted. Would you like to upstream any of these changes back to Lisa?
209
- ```