@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,240 +0,0 @@
1
- # Claude Code Configuration
2
-
3
- This directory contains Claude Code configuration files that customize AI-assisted development workflows.
4
-
5
- ## Directory Structure
6
-
7
- ```
8
- .claude/
9
- ├── settings.json # Main Claude Code settings
10
- ├── settings.local.json # Local overrides (gitignored)
11
- ├── settings.local.json.example # Template for local settings
12
- ├── agents/ # Custom agent definitions
13
- ├── hooks/ # Automation hooks
14
- ├── rules/ # Always-on governance rules
15
- └── skills/ # Skill definitions (colon-namespaced)
16
- ```
17
-
18
- ## Settings
19
-
20
- ### Environment Variables
21
-
22
- | Variable | Default | Description |
23
- |----------|---------|-------------|
24
- | `BASH_DEFAULT_TIMEOUT_MS` | 1800000 (30 min) | Default timeout for bash commands |
25
- | `BASH_MAX_TIMEOUT_MS` | 7200000 (2 hours) | Maximum allowed timeout |
26
-
27
- ### Hooks
28
-
29
- | Event | Hook | Purpose |
30
- |-------|------|---------|
31
- | `SessionStart` | `install-pkgs.sh` | Install dependencies when session starts |
32
- | `PostToolUse` | `format-on-edit.sh` | Auto-format files after Write/Edit operations |
33
- | `Notification` | `notify-ntfy.sh` | Send notifications via ntfy.sh |
34
- | `Stop` | `notify-ntfy.sh` | Notify when session ends |
35
-
36
- ## Plugins
37
-
38
- The `enabledPlugins` section in `settings.json` references Claude Code plugins. These extend Claude Code functionality with additional capabilities.
39
-
40
- ### Plugin Sources
41
-
42
- | Source | Description | Registration |
43
- |--------|-------------|--------------|
44
- | `claude-plugins-official` | Official Anthropic plugins | Built-in, no registration needed |
45
- | `cc-marketplace` | Community marketplace | Available at [Claude Code Marketplace](https://marketplace.claude.ai) |
46
-
47
- ### Enabled Plugins
48
-
49
- | Plugin | Source | Purpose |
50
- |--------|--------|---------|
51
- | `typescript-lsp` | `claude-plugins-official` | TypeScript language server integration |
52
- | `safety-net` | `cc-marketplace` | Backup and safety features |
53
- | `code-simplifier` | `claude-plugins-official` | Code complexity reduction suggestions |
54
- | `code-review` | `claude-plugins-official` | Automated code review capabilities |
55
- | `playwright` | `claude-plugins-official` | Playwright test integration |
56
-
57
- ### Installing Plugins
58
-
59
- 1. **Official plugins** are available by default in Claude Code
60
- 2. **Marketplace plugins** can be installed via the Claude Code settings UI
61
- 3. **Third-party plugins** require following their installation instructions
62
-
63
- ### Plugin Availability
64
-
65
- Not all plugins may be available in all Claude Code installations:
66
-
67
- - Some plugins require specific Claude Code versions
68
- - Marketplace plugins require marketplace access
69
- - Enterprise installations may restrict available plugins
70
-
71
- If a plugin is not available, Claude Code will ignore it gracefully.
72
-
73
- ## Local Settings Override
74
-
75
- Create `settings.local.json` to override settings for your local environment:
76
-
77
- ```json
78
- {
79
- "env": {
80
- "CUSTOM_API_KEY": "your-key-here"
81
- },
82
- "hooks": {
83
- "PostToolUse": []
84
- },
85
- "enabledPlugins": {
86
- "playwright": false
87
- }
88
- }
89
- ```
90
-
91
- This file should be:
92
- - Added to `.gitignore`
93
- - Never committed to version control
94
- - Used for machine-specific settings
95
-
96
- ## Agents
97
-
98
- Custom agent definitions in `agents/` provide specialized AI personas for different tasks:
99
-
100
- | Agent | Purpose |
101
- |-------|---------|
102
- | `agent-architect.md` | Agent file design and optimization |
103
- | `architecture-specialist.md` | Implementation design, dependency mapping, pattern evaluation |
104
- | `git-history-analyzer.md` | Git history analysis |
105
- | `hooks-expert.md` | Claude Code hooks expertise |
106
- | `implementer.md` | Code implementation with TDD enforcement |
107
- | `learner.md` | Post-implementation learning and skill creation |
108
- | `performance-specialist.md` | N+1 queries, algorithmic complexity, memory leaks |
109
- | `product-specialist.md` | User flows, acceptance criteria, UX validation |
110
- | `quality-specialist.md` | Code correctness, coding philosophy, test coverage review |
111
- | `security-specialist.md` | Threat modeling (STRIDE), OWASP Top 10, auth/secrets review |
112
- | `skill-evaluator.md` | Skill quality assessment |
113
- | `slash-command-architect.md` | Command design |
114
- | `test-specialist.md` | Test strategy, test writing, coverage analysis |
115
- | `web-search-researcher.md` | Web research tasks |
116
-
117
- ## Skills
118
-
119
- Skills use colon-namespaced directories (e.g., `plan:create/`) and are invoked via `/skill-name` in Claude Code.
120
-
121
- ### Plan Skills
122
-
123
- | Skill | Purpose |
124
- |-------|---------|
125
- | `plan:create` | Create implementation plans from ticket URLs, file paths, or text descriptions |
126
- | `plan:implement` | Execute an existing plan with an Agent Team |
127
- | `plan:add-test-coverage` | Increase test coverage to a target threshold |
128
- | `plan:fix-linter-error` | Fix all violations of specific ESLint rules |
129
- | `plan:local-code-review` | Review local branch changes against main |
130
- | `plan:lower-code-complexity` | Reduce cognitive complexity threshold |
131
- | `plan:reduce-max-lines` | Reduce max file lines threshold |
132
- | `plan:reduce-max-lines-per-function` | Reduce max function lines threshold |
133
-
134
- ### Git Skills
135
-
136
- | Skill | Purpose |
137
- |-------|---------|
138
- | `git:commit` | Create conventional commits for current changes |
139
- | `git:commit-and-submit-pr` | Commit changes and create/update a pull request |
140
- | `git:submit-pr` | Push changes and create or update a pull request |
141
- | `git:prune` | Prune local branches deleted on remote |
142
-
143
- ### Integration Skills
144
-
145
- | Skill | Purpose |
146
- |-------|---------|
147
- | `jira:create` | Create JIRA epics, stories, and tasks |
148
- | `jira:verify` | Verify JIRA ticket meets organizational standards |
149
- | `jira:sync` | Sync plan progress to linked JIRA tickets |
150
- | `sonarqube:check` | Check SonarQube/SonarCloud quality gate failures |
151
- | `sonarqube:fix` | Fix SonarQube quality gate failures |
152
- | `pull-request:review` | Check and implement PR review comments |
153
- | `security:zap-scan` | Run OWASP ZAP baseline security scan |
154
-
155
- ### Utility Skills
156
-
157
- | Skill | Purpose |
158
- |-------|---------|
159
- | `tasks:load` | Load tasks from project directory into session |
160
- | `tasks:sync` | Export session tasks to project directory |
161
- | `skill-creator` | Guide for creating new skills |
162
- | `agent-design-best-practices` | Best practices for designing agent files |
163
- | `jsdoc-best-practices` | JSDoc documentation standards |
164
-
165
- See each skill's `SKILL.md` for detailed documentation.
166
-
167
- ## Customization
168
-
169
- ### Adding Custom Skills
170
-
171
- Skills contain implementation logic and use hyphen-separated naming:
172
-
173
- ```bash
174
- mkdir -p .claude/skills/my-namespace-my-skill
175
- cat > .claude/skills/my-namespace-my-skill/SKILL.md << 'EOF'
176
- ---
177
- name: my-namespace-my-skill
178
- description: "What this skill does"
179
- ---
180
-
181
- # My Skill
182
-
183
- Instructions for the skill...
184
- EOF
185
- ```
186
-
187
- ### Adding Custom Commands
188
-
189
- Commands are user-facing pass-throughs to skills. Directory nesting creates colon-separated names in the UI (e.g., `my-namespace/my-skill.md` becomes `/my-namespace:my-skill`):
190
-
191
- ```bash
192
- mkdir -p .claude/commands/my-namespace
193
- cat > .claude/commands/my-namespace/my-skill.md << 'EOF'
194
- ---
195
- description: "What this command does"
196
- allowed-tools: ["Skill"]
197
- argument-hint: "<arguments>"
198
- ---
199
-
200
- Use the /my-namespace-my-skill skill to do the thing. $ARGUMENTS
201
- EOF
202
- ```
203
-
204
- ### Adding Custom Agents
205
-
206
- ```bash
207
- cat > .claude/agents/my-agent.md << 'EOF'
208
- # My Agent
209
-
210
- ## Role
211
- Specialized for specific tasks...
212
-
213
- ## Capabilities
214
- - Capability 1
215
- - Capability 2
216
-
217
- ## Instructions
218
- How to behave...
219
- EOF
220
- ```
221
-
222
- ## Troubleshooting
223
-
224
- ### Hooks Not Running
225
-
226
- 1. Check file permissions: `chmod +x .claude/hooks/*.sh`
227
- 2. Verify `$CLAUDE_PROJECT_DIR` is set correctly
228
- 3. Check hook timeout settings
229
-
230
- ### Plugins Not Loading
231
-
232
- 1. Verify plugin is installed in your Claude Code installation
233
- 2. Check marketplace access if using marketplace plugins
234
- 3. Review Claude Code logs for plugin errors
235
-
236
- ### Skills Not Found
237
-
238
- 1. Ensure skill directory contains a `SKILL.md` file with correct frontmatter
239
- 2. Restart Claude Code to reload skills
240
- 3. Check for syntax errors in skill definition
@@ -1,428 +0,0 @@
1
- # Coding Philosophy
2
-
3
- This rule enforces the core coding philosophy: **immutability**, **predictable structure**, **functional transformations**, **test-driven development**, **clean deletion**, and **simplicity**.
4
-
5
- ## Guiding Principles: YAGNI + SOLID + DRY + KISS
6
-
7
- Follow these software engineering principles, **deferring to Occam's Razor/KISS whenever principles conflict**:
8
-
9
- ### KISS (Keep It Simple, Stupid) - The Tiebreaker
10
-
11
- When principles conflict, **always choose the simpler solution**.
12
-
13
- ```typescript
14
- // KISS: Simple direct approach
15
- const isAdmin = user.role === "admin";
16
-
17
- // Over-engineered: Abstraction without value
18
- const isAdmin = RoleChecker.getInstance().checkRole(user, RoleTypes.ADMIN);
19
- ```
20
-
21
- ### YAGNI (You Ain't Gonna Need It)
22
-
23
- Don't build features, abstractions, or flexibility you don't need **right now**.
24
-
25
- ```typescript
26
- // Correct: Solve today's problem
27
- const formatDate = (date: Date) => date.toISOString().split("T")[0];
28
-
29
- // Wrong: Building for hypothetical future needs
30
- const formatDate = (date: Date, format?: string, locale?: string, timezone?: string) => {
31
- // 50 lines handling cases that may never be used
32
- };
33
- ```
34
-
35
- ### DRY (Don't Repeat Yourself) - With KISS Constraint
36
-
37
- Extract duplication only when:
38
- 1. The same logic appears **3+ times**
39
- 2. The abstraction is **simpler** than the duplication
40
- 3. The extracted code has a **clear single purpose**
41
-
42
- ### SOLID Principles - Applied Pragmatically
43
-
44
- | Principle | Apply When | Skip When |
45
- | ------------------------- | --------------------------------------------- | --------------------------------------- |
46
- | **S**ingle Responsibility | Function does 2+ unrelated things | Splitting adds complexity |
47
- | **O**pen/Closed | Extension points have clear use cases | No foreseeable extensions |
48
- | **L**iskov Substitution | Using inheritance hierarchies | Using composition (preferred) |
49
- | **I**nterface Segregation | Consumers need different subsets | Interface is already small |
50
- | **D**ependency Inversion | Testing requires mocking external services | Direct dependency is simpler |
51
-
52
- ### Decision Framework
53
-
54
- When unsure, ask in order:
55
- 1. **Do I need this now?** (YAGNI) - If no, don't build it
56
- 2. **Is there a simpler way?** (KISS) - Choose the simpler option
57
- 3. **Am I repeating myself 3+ times?** (DRY) - Extract if the abstraction is simpler
58
- 4. **Does this function do one thing?** (SOLID-SRP) - Split only if clearer
59
-
60
- ---
61
-
62
- ## Core Principles
63
-
64
- ### 1. Immutability First
65
-
66
- Never mutate data. Always create new references.
67
-
68
- ```typescript
69
- // Correct - spread creates new object
70
- const updated = { ...user, name: "New Name" };
71
-
72
- // Incorrect - mutation
73
- user.name = "New Name";
74
- ```
75
-
76
- ### 2. Function Structure Ordering
77
-
78
- All functions, hooks, and components follow a strict ordering:
79
-
80
- ```text
81
- 1. Variable definitions and derived state (const, useState, useMemo, useCallback)
82
- 2. Side effects (useEffect, function calls with no return value)
83
- 3. Return statement
84
- ```
85
-
86
- ### 3. Functional Transformations
87
-
88
- Use `map`, `filter`, `reduce` instead of imperative loops and mutations.
89
-
90
- ```typescript
91
- // Correct - functional transformation
92
- const names = users.map(u => u.name);
93
-
94
- // Incorrect - imperative mutation
95
- const names = [];
96
- users.forEach(u => names.push(u.name));
97
- ```
98
-
99
- ### 4. Test-Driven Development (TDD)
100
-
101
- **Always write failing tests before implementation code.** This is mandatory, not optional.
102
-
103
- ```text
104
- TDD Cycle:
105
- 1. RED: Write a failing test that defines expected behavior
106
- 2. GREEN: Write the minimum code to make the test pass
107
- 3. REFACTOR: Clean up while keeping tests green
108
- ```
109
-
110
- ### 5. Clean Deletion
111
-
112
- **Delete old code completely.** No deprecation warnings, migration shims, or backward-compatibility layers unless explicitly requested.
113
-
114
- ```typescript
115
- // Correct: Remove the old code entirely
116
- const calculateScore = (player: Player): number => player.stats.overall;
117
-
118
- // Wrong: Keeping deprecated versions around
119
- /** @deprecated Use calculateScore instead */
120
- const getPlayerScore = (player: Player): number => calculateScore(player);
121
- ```
122
-
123
- **Clean deletion rules:**
124
- - When replacing code, delete the old version completely
125
- - Never create `V2`, `New`, or `Old` suffixed functions/variables
126
- - Never add `@deprecated` comments - just remove the code
127
- - Never write migration code unless explicitly asked
128
- - Trust git history for recovery if needed
129
-
130
- ---
131
-
132
- ## Quick Reference
133
-
134
- ### Variable Declaration
135
-
136
- | Pattern | Status | Example |
137
- | ------- | --------- | ----------------------------- |
138
- | `const` | Required | `const value = calculate();` |
139
- | `let` | Forbidden | Use ternary or reduce instead |
140
- | `var` | Forbidden | Never use |
141
-
142
- ### Array Operations
143
-
144
- | Instead of | Use |
145
- | ----------------------- | -------------------------------------------- |
146
- | `arr.push(item)` | `[...arr, item]` |
147
- | `arr.pop()` | `arr.slice(0, -1)` |
148
- | `arr.splice(i, 1)` | `arr.filter((_, idx) => idx !== i)` |
149
- | `arr.sort()` | `[...arr].sort()` |
150
- | `arr[i] = value` | `arr.map((v, idx) => idx === i ? value : v)` |
151
- | `forEach` with mutation | `reduce` or `map` |
152
-
153
- ### Object Operations
154
-
155
- | Instead of | Use |
156
- | ------------------------- | ----------------------------- |
157
- | `obj.key = value` | `{ ...obj, key: value }` |
158
- | `delete obj.key` | `({ key: _, ...rest } = obj)` |
159
- | `Object.assign(obj, ...)` | `{ ...obj, ...other }` |
160
-
161
- ### Building Lookup Objects
162
-
163
- ```typescript
164
- // Correct - reduce with spread
165
- const lookup = items.reduce(
166
- (acc, item) => ({ ...acc, [item.id]: item }),
167
- {} as Record<string, Item>
168
- );
169
-
170
- // Incorrect - forEach with Map.set
171
- const lookup = new Map();
172
- items.forEach(item => lookup.set(item.id, item));
173
- ```
174
-
175
- ### Conditional Values
176
-
177
- ```typescript
178
- // Correct - ternary expression
179
- const status = isComplete ? "done" : "pending";
180
-
181
- // Incorrect - let with reassignment
182
- let status = "pending";
183
- if (isComplete) {
184
- status = "done";
185
- }
186
- ```
187
-
188
- ---
189
-
190
- ## Hook Structure Example
191
-
192
- ```typescript
193
- export const usePlayerData = (playerId: string) => {
194
- // 1. VARIABLES & STATE (first)
195
- const [isLoading, setIsLoading] = useState(true);
196
- const { data } = useQuery(GetPlayerDocument, { variables: { playerId } });
197
-
198
- const playerName = useMemo(() => data?.player?.name ?? "Unknown", [data]);
199
-
200
- const handleRefresh = useCallback(() => {
201
- refetch();
202
- }, [refetch]);
203
-
204
- // 2. SIDE EFFECTS (second)
205
- useEffect(() => {
206
- console.log("Player loaded:", playerName);
207
- }, [playerName]);
208
-
209
- // 3. RETURN (last)
210
- return { playerName, isLoading, handleRefresh };
211
- };
212
- ```
213
-
214
- ## Container Component Example
215
-
216
- ```typescript
217
- const PlayerCardContainer: React.FC<Props> = ({ playerId }) => {
218
- // 1. VARIABLES & STATE
219
- const { data, loading } = useQuery(GetPlayerDocument, { variables: { playerId } });
220
- const { colors } = useTheme();
221
-
222
- const formattedStats = useMemo(
223
- () => data?.stats?.map(s => ({ ...s, display: formatStat(s) })) ?? [],
224
- [data?.stats]
225
- );
226
-
227
- const handlePress = useCallback(() => {
228
- router.push(`/players/${playerId}`);
229
- }, [playerId]);
230
-
231
- // 2. SIDE EFFECTS (none in this example)
232
-
233
- // 3. RETURN
234
- return (
235
- <PlayerCardView
236
- stats={formattedStats}
237
- colors={colors}
238
- loading={loading}
239
- onPress={handlePress}
240
- />
241
- );
242
- };
243
- ```
244
-
245
- ## Utility Function Example
246
-
247
- ```typescript
248
- export const calculateTeamRankings = (
249
- players: readonly Player[]
250
- ): readonly TeamRanking[] => {
251
- // 1. VARIABLES & DERIVED VALUES
252
- const validPlayers = players.filter(p => p.team && p.score != null);
253
-
254
- const teamScores = validPlayers.reduce(
255
- (acc, player) => ({
256
- ...acc,
257
- [player.team.id]: {
258
- teamId: player.team.id,
259
- totalScore: (acc[player.team.id]?.totalScore ?? 0) + player.score,
260
- count: (acc[player.team.id]?.count ?? 0) + 1,
261
- },
262
- }),
263
- {} as Record<string, { teamId: string; totalScore: number; count: number }>
264
- );
265
-
266
- const rankings = Object.values(teamScores).map(t => ({
267
- teamId: t.teamId,
268
- avgScore: t.totalScore / t.count,
269
- }));
270
-
271
- const sorted = [...rankings].sort((a, b) => b.avgScore - a.avgScore);
272
-
273
- // 2. NO SIDE EFFECTS IN PURE FUNCTIONS
274
-
275
- // 3. RETURN
276
- return sorted;
277
- };
278
- ```
279
-
280
- ---
281
-
282
- ## Anti-Patterns to Avoid
283
-
284
- ### Never use `let` for conditional assignment
285
-
286
- ```typescript
287
- // Wrong
288
- let result;
289
- if (condition) {
290
- result = valueA;
291
- } else {
292
- result = valueB;
293
- }
294
-
295
- // Correct
296
- const result = condition ? valueA : valueB;
297
- ```
298
-
299
- ### Never mutate arrays
300
-
301
- ```typescript
302
- // Wrong
303
- const items = [];
304
- data.forEach(d => items.push(transform(d)));
305
-
306
- // Correct
307
- const items = data.map(d => transform(d));
308
- ```
309
-
310
- ### Never use Map when Record suffices
311
-
312
- ```typescript
313
- // Wrong
314
- const lookup = new Map<string, User>();
315
- users.forEach(u => lookup.set(u.id, u));
316
- const user = lookup.get(userId);
317
-
318
- // Correct
319
- const lookup = users.reduce(
320
- (acc, u) => ({ ...acc, [u.id]: u }),
321
- {} as Record<string, User>
322
- );
323
- const user = lookup[userId];
324
- ```
325
-
326
- ### Never sort in place
327
-
328
- ```typescript
329
- // Wrong - mutates original
330
- const sorted = items.sort((a, b) => a.value - b.value);
331
-
332
- // Correct - creates new array
333
- const sorted = [...items].sort((a, b) => a.value - b.value);
334
- ```
335
-
336
- ### Never place useEffect before variable definitions
337
-
338
- ```typescript
339
- // Wrong
340
- useEffect(() => {
341
- /* ... */
342
- }, [value]);
343
- const value = useMemo(() => calculate(), [dep]);
344
-
345
- // Correct
346
- const value = useMemo(() => calculate(), [dep]);
347
- useEffect(() => {
348
- /* ... */
349
- }, [value]);
350
- ```
351
-
352
- ---
353
-
354
- ## Immutable Patterns Reference
355
-
356
- ### Building Lookup Objects with Reduce
357
-
358
- ```typescript
359
- const colorMap =
360
- edges?.reduce(
361
- (acc, edge) => (edge.color ? { ...acc, [edge.tagId]: edge.color } : acc),
362
- {} as Record<string, string>
363
- ) ?? {};
364
- ```
365
-
366
- ### Accumulating Multiple Properties
367
-
368
- ```typescript
369
- const teamGprAccumulator = validPlayers.reduce(
370
- (acc, player) => {
371
- const teamId = player.team?.id;
372
- if (!teamId) return acc;
373
-
374
- const existing = acc[teamId];
375
- return {
376
- ...acc,
377
- [teamId]: {
378
- teamId,
379
- teamName: player.team.name,
380
- gprSum: (existing?.gprSum ?? 0) + player.gpr,
381
- playerCount: (existing?.playerCount ?? 0) + 1,
382
- },
383
- };
384
- },
385
- {} as Record<string, { teamId: string; teamName: string; gprSum: number; playerCount: number }>
386
- );
387
- ```
388
-
389
- ### Nested Object Updates
390
-
391
- ```typescript
392
- const updated = {
393
- ...state,
394
- user: {
395
- ...state.user,
396
- profile: {
397
- ...state.user.profile,
398
- avatar: newAvatar,
399
- },
400
- },
401
- };
402
- ```
403
-
404
- ### Conditional Property Addition
405
-
406
- ```typescript
407
- const result = {
408
- ...baseObj,
409
- ...(condition && { optionalProp: value }),
410
- };
411
- ```
412
-
413
- ### Ternary Chain for Multiple Conditions
414
-
415
- ```typescript
416
- const priority = score > 90 ? "high" : score > 70 ? "medium" : "low";
417
- ```
418
-
419
- ### Readonly Types for Function Parameters
420
-
421
- ```typescript
422
- export const calculateTeamGprRank = (
423
- leaguePlayers: readonly (PlayerWithScores | null | undefined)[],
424
- myTeamId: string | null | undefined
425
- ): number | null => {
426
- // ...
427
- };
428
- ```
@@ -1,37 +0,0 @@
1
- # Lisa-Managed Files
2
-
3
- The following files are managed by Lisa and will be overwritten on every `lisa` run. Never edit them directly. Where a local override exists, edit that instead.
4
-
5
- ## Files with local overrides (edit the override, not the managed file)
6
-
7
- | Managed File (do not edit) | Local Override (edit this instead) |
8
- |---|---|
9
- | `eslint.config.ts` | `eslint.config.local.ts` |
10
- | `jest.config.ts` | `jest.config.local.ts` |
11
- | `tsconfig.json` | `tsconfig.local.json` |
12
-
13
- ## Create-only files (edit freely, Lisa won't overwrite)
14
-
15
- - `.claude/rules/PROJECT_RULES.md`
16
- - `eslint.thresholds.json`
17
- - `jest.thresholds.json`
18
-
19
- ## Deep-merged by Lisa (Lisa wins conflicts, but project can add its own keys)
20
-
21
- - `.claude/settings.json`
22
-
23
- ## Plugin-managed content (agents, skills, hooks, commands, rules)
24
-
25
- These resources are distributed via the stack Claude Code plugin (e.g., `typescript@lisa`). Rules — including this file — are injected into each prompt automatically. Do not add these files to your project directory.
26
-
27
- ## Copy-overwrite files (do not edit — full list)
28
-
29
- - `.prettierrc.json`, `.prettierignore`, `.lintstagedrc.json`, `.versionrc`, `.nvmrc`
30
- - `.yamllint`, `.gitleaksignore`, `.coderabbit.yml`, `commitlint.config.cjs`, `sgconfig.yml`, `knip.json`
31
- - `.safety-net.json`, `audit.ignore.config.json`
32
- - `eslint.base.ts`, `eslint.typescript.ts` (+ `expo`/`nestjs`/`cdk` variants), `eslint.slow.config.ts`
33
- - `jest.base.ts`, `jest.typescript.ts` (+ variants)
34
- - `tsconfig.base.json`, `tsconfig.typescript.json` (+ variants), `tsconfig.eslint.json`, `tsconfig.build.json`, `tsconfig.spec.json`
35
- - `.github/workflows/quality.yml`, `release.yml`, `claude.yml`, and all other Claude/CI workflows
36
- - `.github/dependabot.yml`, `.github/GITHUB_ACTIONS.md`
37
- - `ast-grep/rules/`, `ast-grep/utils/`, `ast-grep/rule-tests/`