@codyswann/lisa 1.54.14 → 1.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/.claude-plugin/marketplace.json +5 -11
  2. package/cdk/merge/.claude/settings.json +1 -1
  3. package/expo/merge/.claude/settings.json +1 -1
  4. package/nestjs/merge/.claude/settings.json +1 -1
  5. package/package.json +2 -2
  6. package/plugins/lisa-cdk/.claude-plugin/plugin.json +96 -17
  7. package/plugins/lisa-expo/.claude-plugin/plugin.json +96 -17
  8. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +96 -17
  9. package/plugins/lisa-rails/.claude-plugin/plugin.json +75 -13
  10. package/plugins/lisa-typescript/.claude-plugin/plugin.json +96 -17
  11. package/plugins/src/cdk/.claude-plugin/plugin.json +1 -1
  12. package/plugins/src/expo/.claude-plugin/plugin.json +1 -1
  13. package/plugins/src/nestjs/.claude-plugin/plugin.json +1 -1
  14. package/plugins/src/rails/.claude-plugin/plugin.json +1 -1
  15. package/plugins/src/typescript/.claude-plugin/plugin.json +1 -1
  16. package/rails/merge/.claude/settings.json +1 -1
  17. package/scripts/build-plugins.sh +16 -2
  18. package/scripts/install-claude-plugins.sh +7 -6
  19. package/typescript/merge/.claude/settings.json +1 -1
  20. /package/plugins/lisa-cdk/commands/{git-commit-and-submit-pr.md → git/commit-and-submit-pr.md} +0 -0
  21. /package/plugins/lisa-cdk/commands/{git-commit-submit-pr-and-verify.md → git/commit-submit-pr-and-verify.md} +0 -0
  22. /package/plugins/lisa-cdk/commands/{git-commit-submit-pr-deploy-and-verify.md → git/commit-submit-pr-deploy-and-verify.md} +0 -0
  23. /package/plugins/lisa-cdk/commands/{git-commit.md → git/commit.md} +0 -0
  24. /package/plugins/lisa-cdk/commands/{git-prune.md → git/prune.md} +0 -0
  25. /package/plugins/lisa-cdk/commands/{git-submit-pr.md → git/submit-pr.md} +0 -0
  26. /package/plugins/lisa-cdk/commands/{jira-add-journey.md → jira/add-journey.md} +0 -0
  27. /package/plugins/lisa-cdk/commands/{jira-create.md → jira/create.md} +0 -0
  28. /package/plugins/lisa-cdk/commands/{jira-evidence.md → jira/evidence.md} +0 -0
  29. /package/plugins/lisa-cdk/commands/{jira-fix.md → jira/fix.md} +0 -0
  30. /package/plugins/lisa-cdk/commands/{jira-implement.md → jira/implement.md} +0 -0
  31. /package/plugins/lisa-cdk/commands/{jira-journey.md → jira/journey.md} +0 -0
  32. /package/plugins/lisa-cdk/commands/{jira-sync.md → jira/sync.md} +0 -0
  33. /package/plugins/lisa-cdk/commands/{jira-verify.md → jira/verify.md} +0 -0
  34. /package/plugins/lisa-cdk/commands/{plan-add-test-coverage.md → plan/add-test-coverage.md} +0 -0
  35. /package/plugins/lisa-cdk/commands/{plan-create.md → plan/create.md} +0 -0
  36. /package/plugins/lisa-cdk/commands/{plan-execute.md → plan/execute.md} +0 -0
  37. /package/plugins/lisa-cdk/commands/{plan-fix-linter-error.md → plan/fix-linter-error.md} +0 -0
  38. /package/plugins/lisa-cdk/commands/{plan-local-code-review.md → plan/local-code-review.md} +0 -0
  39. /package/plugins/lisa-cdk/commands/{plan-lower-code-complexity.md → plan/lower-code-complexity.md} +0 -0
  40. /package/plugins/lisa-cdk/commands/{plan-reduce-max-lines-per-function.md → plan/reduce-max-lines-per-function.md} +0 -0
  41. /package/plugins/lisa-cdk/commands/{plan-reduce-max-lines.md → plan/reduce-max-lines.md} +0 -0
  42. /package/plugins/lisa-cdk/commands/{pull-request-review.md → pull-request/review.md} +0 -0
  43. /package/plugins/lisa-cdk/commands/{lisa-review-implementation.md → review/implementation.md} +0 -0
  44. /package/plugins/lisa-cdk/commands/{security-zap-scan.md → security/zap-scan.md} +0 -0
  45. /package/plugins/lisa-cdk/commands/{sonarqube-check.md → sonarqube/check.md} +0 -0
  46. /package/plugins/lisa-cdk/commands/{sonarqube-fix.md → sonarqube/fix.md} +0 -0
  47. /package/plugins/lisa-cdk/commands/{tasks-load.md → tasks/load.md} +0 -0
  48. /package/plugins/lisa-cdk/commands/{tasks-sync.md → tasks/sync.md} +0 -0
  49. /package/plugins/lisa-expo/commands/{git-commit-and-submit-pr.md → git/commit-and-submit-pr.md} +0 -0
  50. /package/plugins/lisa-expo/commands/{git-commit-submit-pr-and-verify.md → git/commit-submit-pr-and-verify.md} +0 -0
  51. /package/plugins/lisa-expo/commands/{git-commit-submit-pr-deploy-and-verify.md → git/commit-submit-pr-deploy-and-verify.md} +0 -0
  52. /package/plugins/lisa-expo/commands/{git-commit.md → git/commit.md} +0 -0
  53. /package/plugins/lisa-expo/commands/{git-prune.md → git/prune.md} +0 -0
  54. /package/plugins/lisa-expo/commands/{git-submit-pr.md → git/submit-pr.md} +0 -0
  55. /package/plugins/lisa-expo/commands/{jira-add-journey.md → jira/add-journey.md} +0 -0
  56. /package/plugins/lisa-expo/commands/{jira-create.md → jira/create.md} +0 -0
  57. /package/plugins/lisa-expo/commands/{jira-evidence.md → jira/evidence.md} +0 -0
  58. /package/plugins/lisa-expo/commands/{jira-fix.md → jira/fix.md} +0 -0
  59. /package/plugins/lisa-expo/commands/{jira-implement.md → jira/implement.md} +0 -0
  60. /package/plugins/lisa-expo/commands/{jira-journey.md → jira/journey.md} +0 -0
  61. /package/plugins/lisa-expo/commands/{jira-sync.md → jira/sync.md} +0 -0
  62. /package/plugins/lisa-expo/commands/{jira-verify.md → jira/verify.md} +0 -0
  63. /package/plugins/lisa-expo/commands/{plan-add-test-coverage.md → plan/add-test-coverage.md} +0 -0
  64. /package/plugins/lisa-expo/commands/{plan-create.md → plan/create.md} +0 -0
  65. /package/plugins/lisa-expo/commands/{plan-execute.md → plan/execute.md} +0 -0
  66. /package/plugins/lisa-expo/commands/{plan-fix-linter-error.md → plan/fix-linter-error.md} +0 -0
  67. /package/plugins/lisa-expo/commands/{plan-local-code-review.md → plan/local-code-review.md} +0 -0
  68. /package/plugins/lisa-expo/commands/{plan-lower-code-complexity.md → plan/lower-code-complexity.md} +0 -0
  69. /package/plugins/lisa-expo/commands/{plan-reduce-max-lines-per-function.md → plan/reduce-max-lines-per-function.md} +0 -0
  70. /package/plugins/lisa-expo/commands/{plan-reduce-max-lines.md → plan/reduce-max-lines.md} +0 -0
  71. /package/plugins/lisa-expo/commands/{pull-request-review.md → pull-request/review.md} +0 -0
  72. /package/plugins/lisa-expo/commands/{lisa-review-implementation.md → review/implementation.md} +0 -0
  73. /package/plugins/lisa-expo/commands/{security-zap-scan.md → security/zap-scan.md} +0 -0
  74. /package/plugins/lisa-expo/commands/{sonarqube-check.md → sonarqube/check.md} +0 -0
  75. /package/plugins/lisa-expo/commands/{sonarqube-fix.md → sonarqube/fix.md} +0 -0
  76. /package/plugins/lisa-expo/commands/{tasks-load.md → tasks/load.md} +0 -0
  77. /package/plugins/lisa-expo/commands/{tasks-sync.md → tasks/sync.md} +0 -0
  78. /package/plugins/lisa-nestjs/commands/{git-commit-and-submit-pr.md → git/commit-and-submit-pr.md} +0 -0
  79. /package/plugins/lisa-nestjs/commands/{git-commit-submit-pr-and-verify.md → git/commit-submit-pr-and-verify.md} +0 -0
  80. /package/plugins/lisa-nestjs/commands/{git-commit-submit-pr-deploy-and-verify.md → git/commit-submit-pr-deploy-and-verify.md} +0 -0
  81. /package/plugins/lisa-nestjs/commands/{git-commit.md → git/commit.md} +0 -0
  82. /package/plugins/lisa-nestjs/commands/{git-prune.md → git/prune.md} +0 -0
  83. /package/plugins/lisa-nestjs/commands/{git-submit-pr.md → git/submit-pr.md} +0 -0
  84. /package/plugins/lisa-nestjs/commands/{jira-add-journey.md → jira/add-journey.md} +0 -0
  85. /package/plugins/lisa-nestjs/commands/{jira-create.md → jira/create.md} +0 -0
  86. /package/plugins/lisa-nestjs/commands/{jira-evidence.md → jira/evidence.md} +0 -0
  87. /package/plugins/lisa-nestjs/commands/{jira-fix.md → jira/fix.md} +0 -0
  88. /package/plugins/lisa-nestjs/commands/{jira-implement.md → jira/implement.md} +0 -0
  89. /package/plugins/lisa-nestjs/commands/{jira-journey.md → jira/journey.md} +0 -0
  90. /package/plugins/lisa-nestjs/commands/{jira-sync.md → jira/sync.md} +0 -0
  91. /package/plugins/lisa-nestjs/commands/{jira-verify.md → jira/verify.md} +0 -0
  92. /package/plugins/lisa-nestjs/commands/{plan-add-test-coverage.md → plan/add-test-coverage.md} +0 -0
  93. /package/plugins/lisa-nestjs/commands/{plan-create.md → plan/create.md} +0 -0
  94. /package/plugins/lisa-nestjs/commands/{plan-execute.md → plan/execute.md} +0 -0
  95. /package/plugins/lisa-nestjs/commands/{plan-fix-linter-error.md → plan/fix-linter-error.md} +0 -0
  96. /package/plugins/lisa-nestjs/commands/{plan-local-code-review.md → plan/local-code-review.md} +0 -0
  97. /package/plugins/lisa-nestjs/commands/{plan-lower-code-complexity.md → plan/lower-code-complexity.md} +0 -0
  98. /package/plugins/lisa-nestjs/commands/{plan-reduce-max-lines-per-function.md → plan/reduce-max-lines-per-function.md} +0 -0
  99. /package/plugins/lisa-nestjs/commands/{plan-reduce-max-lines.md → plan/reduce-max-lines.md} +0 -0
  100. /package/plugins/lisa-nestjs/commands/{pull-request-review.md → pull-request/review.md} +0 -0
  101. /package/plugins/lisa-nestjs/commands/{lisa-review-implementation.md → review/implementation.md} +0 -0
  102. /package/plugins/lisa-nestjs/commands/{security-zap-scan.md → security/zap-scan.md} +0 -0
  103. /package/plugins/lisa-nestjs/commands/{sonarqube-check.md → sonarqube/check.md} +0 -0
  104. /package/plugins/lisa-nestjs/commands/{sonarqube-fix.md → sonarqube/fix.md} +0 -0
  105. /package/plugins/lisa-nestjs/commands/{tasks-load.md → tasks/load.md} +0 -0
  106. /package/plugins/lisa-nestjs/commands/{tasks-sync.md → tasks/sync.md} +0 -0
  107. /package/plugins/lisa-rails/commands/{git-commit-and-submit-pr.md → git/commit-and-submit-pr.md} +0 -0
  108. /package/plugins/lisa-rails/commands/{git-commit-submit-pr-and-verify.md → git/commit-submit-pr-and-verify.md} +0 -0
  109. /package/plugins/lisa-rails/commands/{git-commit-submit-pr-deploy-and-verify.md → git/commit-submit-pr-deploy-and-verify.md} +0 -0
  110. /package/plugins/lisa-rails/commands/{git-commit.md → git/commit.md} +0 -0
  111. /package/plugins/lisa-rails/commands/{git-prune.md → git/prune.md} +0 -0
  112. /package/plugins/lisa-rails/commands/{git-submit-pr.md → git/submit-pr.md} +0 -0
  113. /package/plugins/lisa-rails/commands/{jira-add-journey.md → jira/add-journey.md} +0 -0
  114. /package/plugins/lisa-rails/commands/{jira-create.md → jira/create.md} +0 -0
  115. /package/plugins/lisa-rails/commands/{jira-evidence.md → jira/evidence.md} +0 -0
  116. /package/plugins/lisa-rails/commands/{jira-fix.md → jira/fix.md} +0 -0
  117. /package/plugins/lisa-rails/commands/{jira-implement.md → jira/implement.md} +0 -0
  118. /package/plugins/lisa-rails/commands/{jira-journey.md → jira/journey.md} +0 -0
  119. /package/plugins/lisa-rails/commands/{jira-sync.md → jira/sync.md} +0 -0
  120. /package/plugins/lisa-rails/commands/{jira-verify.md → jira/verify.md} +0 -0
  121. /package/plugins/lisa-rails/commands/{plan-add-test-coverage.md → plan/add-test-coverage.md} +0 -0
  122. /package/plugins/lisa-rails/commands/{plan-create.md → plan/create.md} +0 -0
  123. /package/plugins/lisa-rails/commands/{plan-execute.md → plan/execute.md} +0 -0
  124. /package/plugins/lisa-rails/commands/{plan-fix-linter-error.md → plan/fix-linter-error.md} +0 -0
  125. /package/plugins/lisa-rails/commands/{plan-local-code-review.md → plan/local-code-review.md} +0 -0
  126. /package/plugins/lisa-rails/commands/{plan-lower-code-complexity.md → plan/lower-code-complexity.md} +0 -0
  127. /package/plugins/lisa-rails/commands/{plan-reduce-max-lines-per-function.md → plan/reduce-max-lines-per-function.md} +0 -0
  128. /package/plugins/lisa-rails/commands/{plan-reduce-max-lines.md → plan/reduce-max-lines.md} +0 -0
  129. /package/plugins/lisa-rails/commands/{pull-request-review.md → pull-request/review.md} +0 -0
  130. /package/plugins/lisa-rails/commands/{lisa-review-implementation.md → review/implementation.md} +0 -0
  131. /package/plugins/lisa-rails/commands/{security-zap-scan.md → security/zap-scan.md} +0 -0
  132. /package/plugins/lisa-rails/commands/{sonarqube-check.md → sonarqube/check.md} +0 -0
  133. /package/plugins/lisa-rails/commands/{sonarqube-fix.md → sonarqube/fix.md} +0 -0
  134. /package/plugins/lisa-rails/commands/{tasks-load.md → tasks/load.md} +0 -0
  135. /package/plugins/lisa-rails/commands/{tasks-sync.md → tasks/sync.md} +0 -0
  136. /package/plugins/lisa-typescript/commands/{git-commit-and-submit-pr.md → git/commit-and-submit-pr.md} +0 -0
  137. /package/plugins/lisa-typescript/commands/{git-commit-submit-pr-and-verify.md → git/commit-submit-pr-and-verify.md} +0 -0
  138. /package/plugins/lisa-typescript/commands/{git-commit-submit-pr-deploy-and-verify.md → git/commit-submit-pr-deploy-and-verify.md} +0 -0
  139. /package/plugins/lisa-typescript/commands/{git-commit.md → git/commit.md} +0 -0
  140. /package/plugins/lisa-typescript/commands/{git-prune.md → git/prune.md} +0 -0
  141. /package/plugins/lisa-typescript/commands/{git-submit-pr.md → git/submit-pr.md} +0 -0
  142. /package/plugins/lisa-typescript/commands/{jira-add-journey.md → jira/add-journey.md} +0 -0
  143. /package/plugins/lisa-typescript/commands/{jira-create.md → jira/create.md} +0 -0
  144. /package/plugins/lisa-typescript/commands/{jira-evidence.md → jira/evidence.md} +0 -0
  145. /package/plugins/lisa-typescript/commands/{jira-fix.md → jira/fix.md} +0 -0
  146. /package/plugins/lisa-typescript/commands/{jira-implement.md → jira/implement.md} +0 -0
  147. /package/plugins/lisa-typescript/commands/{jira-journey.md → jira/journey.md} +0 -0
  148. /package/plugins/lisa-typescript/commands/{jira-sync.md → jira/sync.md} +0 -0
  149. /package/plugins/lisa-typescript/commands/{jira-verify.md → jira/verify.md} +0 -0
  150. /package/plugins/lisa-typescript/commands/{plan-add-test-coverage.md → plan/add-test-coverage.md} +0 -0
  151. /package/plugins/lisa-typescript/commands/{plan-create.md → plan/create.md} +0 -0
  152. /package/plugins/lisa-typescript/commands/{plan-execute.md → plan/execute.md} +0 -0
  153. /package/plugins/lisa-typescript/commands/{plan-fix-linter-error.md → plan/fix-linter-error.md} +0 -0
  154. /package/plugins/lisa-typescript/commands/{plan-local-code-review.md → plan/local-code-review.md} +0 -0
  155. /package/plugins/lisa-typescript/commands/{plan-lower-code-complexity.md → plan/lower-code-complexity.md} +0 -0
  156. /package/plugins/lisa-typescript/commands/{plan-reduce-max-lines-per-function.md → plan/reduce-max-lines-per-function.md} +0 -0
  157. /package/plugins/lisa-typescript/commands/{plan-reduce-max-lines.md → plan/reduce-max-lines.md} +0 -0
  158. /package/plugins/lisa-typescript/commands/{pull-request-review.md → pull-request/review.md} +0 -0
  159. /package/plugins/lisa-typescript/commands/{lisa-review-implementation.md → review/implementation.md} +0 -0
  160. /package/plugins/lisa-typescript/commands/{security-zap-scan.md → security/zap-scan.md} +0 -0
  161. /package/plugins/lisa-typescript/commands/{sonarqube-check.md → sonarqube/check.md} +0 -0
  162. /package/plugins/lisa-typescript/commands/{sonarqube-fix.md → sonarqube/fix.md} +0 -0
  163. /package/plugins/lisa-typescript/commands/{tasks-load.md → tasks/load.md} +0 -0
  164. /package/plugins/lisa-typescript/commands/{tasks-sync.md → tasks/sync.md} +0 -0
  165. /package/plugins/src/base/commands/{git-commit-and-submit-pr.md → git/commit-and-submit-pr.md} +0 -0
  166. /package/plugins/src/base/commands/{git-commit-submit-pr-and-verify.md → git/commit-submit-pr-and-verify.md} +0 -0
  167. /package/plugins/src/base/commands/{git-commit-submit-pr-deploy-and-verify.md → git/commit-submit-pr-deploy-and-verify.md} +0 -0
  168. /package/plugins/src/base/commands/{git-commit.md → git/commit.md} +0 -0
  169. /package/plugins/src/base/commands/{git-prune.md → git/prune.md} +0 -0
  170. /package/plugins/src/base/commands/{git-submit-pr.md → git/submit-pr.md} +0 -0
  171. /package/plugins/src/base/commands/{jira-add-journey.md → jira/add-journey.md} +0 -0
  172. /package/plugins/src/base/commands/{jira-create.md → jira/create.md} +0 -0
  173. /package/plugins/src/base/commands/{jira-evidence.md → jira/evidence.md} +0 -0
  174. /package/plugins/src/base/commands/{jira-fix.md → jira/fix.md} +0 -0
  175. /package/plugins/src/base/commands/{jira-implement.md → jira/implement.md} +0 -0
  176. /package/plugins/src/base/commands/{jira-journey.md → jira/journey.md} +0 -0
  177. /package/plugins/src/base/commands/{jira-sync.md → jira/sync.md} +0 -0
  178. /package/plugins/src/base/commands/{jira-verify.md → jira/verify.md} +0 -0
  179. /package/plugins/src/base/commands/{plan-add-test-coverage.md → plan/add-test-coverage.md} +0 -0
  180. /package/plugins/src/base/commands/{plan-create.md → plan/create.md} +0 -0
  181. /package/plugins/src/base/commands/{plan-execute.md → plan/execute.md} +0 -0
  182. /package/plugins/src/base/commands/{plan-fix-linter-error.md → plan/fix-linter-error.md} +0 -0
  183. /package/plugins/src/base/commands/{plan-local-code-review.md → plan/local-code-review.md} +0 -0
  184. /package/plugins/src/base/commands/{plan-lower-code-complexity.md → plan/lower-code-complexity.md} +0 -0
  185. /package/plugins/src/base/commands/{plan-reduce-max-lines-per-function.md → plan/reduce-max-lines-per-function.md} +0 -0
  186. /package/plugins/src/base/commands/{plan-reduce-max-lines.md → plan/reduce-max-lines.md} +0 -0
  187. /package/plugins/src/base/commands/{pull-request-review.md → pull-request/review.md} +0 -0
  188. /package/plugins/src/base/commands/{lisa-review-implementation.md → review/implementation.md} +0 -0
  189. /package/plugins/src/base/commands/{security-zap-scan.md → security/zap-scan.md} +0 -0
  190. /package/plugins/src/base/commands/{sonarqube-check.md → sonarqube/check.md} +0 -0
  191. /package/plugins/src/base/commands/{sonarqube-fix.md → sonarqube/fix.md} +0 -0
  192. /package/plugins/src/base/commands/{tasks-load.md → tasks/load.md} +0 -0
  193. /package/plugins/src/base/commands/{tasks-sync.md → tasks/sync.md} +0 -0
@@ -1,8 +1,10 @@
1
1
  {
2
- "name": "rails",
3
- "version": "1.0.0",
2
+ "name": "lisa-rails",
3
+ "version": "1.55.0",
4
4
  "description": "Claude Code governance plugin for Ruby on Rails projects — includes all universal skills, agents, hooks, and rules from Lisa plus Rails-specific tooling (ActionController, ActionView, ActiveRecord)",
5
- "author": { "name": "Cody Swann" },
5
+ "author": {
6
+ "name": "Cody Swann"
7
+ },
6
8
  "hooks": {
7
9
  "UserPromptSubmit": [
8
10
  {
@@ -37,19 +39,28 @@
37
39
  {
38
40
  "matcher": "TaskCreate|TaskUpdate",
39
41
  "hooks": [
40
- { "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/sync-tasks.sh" }
42
+ {
43
+ "type": "command",
44
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/sync-tasks.sh"
45
+ }
41
46
  ]
42
47
  },
43
48
  {
44
49
  "matcher": "Task",
45
50
  "hooks": [
46
- { "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-task || true" }
51
+ {
52
+ "type": "command",
53
+ "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-task || true"
54
+ }
47
55
  ]
48
56
  },
49
57
  {
50
58
  "matcher": "TodoWrite",
51
59
  "hooks": [
52
- { "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-todo || true" }
60
+ {
61
+ "type": "command",
62
+ "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-todo || true"
63
+ }
53
64
  ]
54
65
  }
55
66
  ],
@@ -57,21 +68,72 @@
57
68
  {
58
69
  "matcher": "Task",
59
70
  "hooks": [
60
- { "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code pre-task || true" }
71
+ {
72
+ "type": "command",
73
+ "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code pre-task || true"
74
+ }
61
75
  ]
62
76
  }
63
77
  ],
64
78
  "Stop": [
65
- { "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/verify-completion.sh" }] },
66
- { "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/notify-ntfy.sh" }] },
67
- { "matcher": "", "hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code stop || true" }] }
79
+ {
80
+ "matcher": "",
81
+ "hooks": [
82
+ {
83
+ "type": "command",
84
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/verify-completion.sh"
85
+ }
86
+ ]
87
+ },
88
+ {
89
+ "matcher": "",
90
+ "hooks": [
91
+ {
92
+ "type": "command",
93
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/notify-ntfy.sh"
94
+ }
95
+ ]
96
+ },
97
+ {
98
+ "matcher": "",
99
+ "hooks": [
100
+ {
101
+ "type": "command",
102
+ "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code stop || true"
103
+ }
104
+ ]
105
+ }
68
106
  ],
69
107
  "SessionStart": [
70
- { "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/setup-jira-cli.sh" }] },
71
- { "matcher": "", "hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-start || true" }] }
108
+ {
109
+ "matcher": "",
110
+ "hooks": [
111
+ {
112
+ "type": "command",
113
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/setup-jira-cli.sh"
114
+ }
115
+ ]
116
+ },
117
+ {
118
+ "matcher": "",
119
+ "hooks": [
120
+ {
121
+ "type": "command",
122
+ "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-start || true"
123
+ }
124
+ ]
125
+ }
72
126
  ],
73
127
  "SessionEnd": [
74
- { "matcher": "", "hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-end || true" }] }
128
+ {
129
+ "matcher": "",
130
+ "hooks": [
131
+ {
132
+ "type": "command",
133
+ "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-end || true"
134
+ }
135
+ ]
136
+ }
75
137
  ]
76
138
  }
77
139
  }
@@ -1,8 +1,10 @@
1
1
  {
2
- "name": "typescript",
3
- "version": "1.0.0",
2
+ "name": "lisa-typescript",
3
+ "version": "1.55.0",
4
4
  "description": "Claude Code governance plugin for TypeScript projects — includes all universal skills, agents, hooks, and rules from Lisa plus TypeScript-specific tooling",
5
- "author": { "name": "Cody Swann" },
5
+ "author": {
6
+ "name": "Cody Swann"
7
+ },
6
8
  "hooks": {
7
9
  "UserPromptSubmit": [
8
10
  {
@@ -37,27 +39,45 @@
37
39
  {
38
40
  "matcher": "Write|Edit",
39
41
  "hooks": [
40
- { "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/format-on-edit.sh" },
41
- { "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/sg-scan-on-edit.sh" },
42
- { "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/lint-on-edit.sh" }
42
+ {
43
+ "type": "command",
44
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/format-on-edit.sh"
45
+ },
46
+ {
47
+ "type": "command",
48
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/sg-scan-on-edit.sh"
49
+ },
50
+ {
51
+ "type": "command",
52
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/lint-on-edit.sh"
53
+ }
43
54
  ]
44
55
  },
45
56
  {
46
57
  "matcher": "TaskCreate|TaskUpdate",
47
58
  "hooks": [
48
- { "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/sync-tasks.sh" }
59
+ {
60
+ "type": "command",
61
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/sync-tasks.sh"
62
+ }
49
63
  ]
50
64
  },
51
65
  {
52
66
  "matcher": "Task",
53
67
  "hooks": [
54
- { "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-task || true" }
68
+ {
69
+ "type": "command",
70
+ "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-task || true"
71
+ }
55
72
  ]
56
73
  },
57
74
  {
58
75
  "matcher": "TodoWrite",
59
76
  "hooks": [
60
- { "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-todo || true" }
77
+ {
78
+ "type": "command",
79
+ "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-todo || true"
80
+ }
61
81
  ]
62
82
  }
63
83
  ],
@@ -65,22 +85,81 @@
65
85
  {
66
86
  "matcher": "Task",
67
87
  "hooks": [
68
- { "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code pre-task || true" }
88
+ {
89
+ "type": "command",
90
+ "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code pre-task || true"
91
+ }
69
92
  ]
70
93
  }
71
94
  ],
72
95
  "Stop": [
73
- { "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/verify-completion.sh" }] },
74
- { "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/notify-ntfy.sh" }] },
75
- { "matcher": "", "hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code stop || true" }] }
96
+ {
97
+ "matcher": "",
98
+ "hooks": [
99
+ {
100
+ "type": "command",
101
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/verify-completion.sh"
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ "matcher": "",
107
+ "hooks": [
108
+ {
109
+ "type": "command",
110
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/notify-ntfy.sh"
111
+ }
112
+ ]
113
+ },
114
+ {
115
+ "matcher": "",
116
+ "hooks": [
117
+ {
118
+ "type": "command",
119
+ "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code stop || true"
120
+ }
121
+ ]
122
+ }
76
123
  ],
77
124
  "SessionStart": [
78
- { "matcher": "startup", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/install-pkgs.sh" }] },
79
- { "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/setup-jira-cli.sh" }] },
80
- { "matcher": "", "hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-start || true" }] }
125
+ {
126
+ "matcher": "startup",
127
+ "hooks": [
128
+ {
129
+ "type": "command",
130
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/install-pkgs.sh"
131
+ }
132
+ ]
133
+ },
134
+ {
135
+ "matcher": "",
136
+ "hooks": [
137
+ {
138
+ "type": "command",
139
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/setup-jira-cli.sh"
140
+ }
141
+ ]
142
+ },
143
+ {
144
+ "matcher": "",
145
+ "hooks": [
146
+ {
147
+ "type": "command",
148
+ "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-start || true"
149
+ }
150
+ ]
151
+ }
81
152
  ],
82
153
  "SessionEnd": [
83
- { "matcher": "", "hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-end || true" }] }
154
+ {
155
+ "matcher": "",
156
+ "hooks": [
157
+ {
158
+ "type": "command",
159
+ "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-end || true"
160
+ }
161
+ ]
162
+ }
84
163
  ]
85
164
  }
86
165
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "cdk",
2
+ "name": "lisa-cdk",
3
3
  "version": "1.0.0",
4
4
  "description": "Claude Code governance plugin for AWS CDK projects — includes all universal skills, agents, hooks, and rules from Lisa plus TypeScript tooling",
5
5
  "author": { "name": "Cody Swann" },
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "expo",
2
+ "name": "lisa-expo",
3
3
  "version": "1.0.0",
4
4
  "description": "Claude Code governance plugin for Expo/React Native projects — includes all universal skills, agents, hooks, and rules from Lisa plus Expo-specific tooling",
5
5
  "author": { "name": "Cody Swann" },
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "nestjs",
2
+ "name": "lisa-nestjs",
3
3
  "version": "1.0.0",
4
4
  "description": "Claude Code governance plugin for NestJS/GraphQL projects — includes all universal skills, agents, hooks, and rules from Lisa plus NestJS-specific tooling (GraphQL, TypeORM, security scanning)",
5
5
  "author": { "name": "Cody Swann" },
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "rails",
2
+ "name": "lisa-rails",
3
3
  "version": "1.0.0",
4
4
  "description": "Claude Code governance plugin for Ruby on Rails projects — includes all universal skills, agents, hooks, and rules from Lisa plus Rails-specific tooling (ActionController, ActionView, ActiveRecord)",
5
5
  "author": { "name": "Cody Swann" },
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "typescript",
2
+ "name": "lisa-typescript",
3
3
  "version": "1.0.0",
4
4
  "description": "Claude Code governance plugin for TypeScript projects — includes all universal skills, agents, hooks, and rules from Lisa plus TypeScript-specific tooling",
5
5
  "author": { "name": "Cody Swann" },
@@ -10,7 +10,7 @@
10
10
  "code-review@claude-plugins-official": true,
11
11
  "coderabbit@claude-plugins-official": true,
12
12
  "sentry@claude-plugins-official": true,
13
- "rails@lisa": true
13
+ "lisa-rails@lisa": true
14
14
  },
15
15
  "extraKnownMarketplaces": {
16
16
  "CodySwannGT/lisa": {
@@ -4,11 +4,15 @@
4
4
  set -euo pipefail
5
5
 
6
6
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
7
- PLUGINS_DIR="$SCRIPT_DIR/../plugins"
7
+ ROOT_DIR="$SCRIPT_DIR/.."
8
+ PLUGINS_DIR="$ROOT_DIR/plugins"
8
9
  SRC_DIR="$PLUGINS_DIR/src"
9
10
  BASE_DIR="$SRC_DIR/base"
10
11
  STACKS=(typescript expo nestjs cdk rails)
11
12
 
13
+ # Read version from package.json so plugins stay in sync with Lisa releases
14
+ VERSION=$(node -e "console.log(require('$ROOT_DIR/package.json').version)")
15
+
12
16
  for stack in "${STACKS[@]}"; do
13
17
  OUT="$PLUGINS_DIR/lisa-$stack"
14
18
  rm -rf "$OUT"
@@ -18,5 +22,15 @@ for stack in "${STACKS[@]}"; do
18
22
  if [ -d "$STACK_SRC" ]; then
19
23
  cp -r "$STACK_SRC/." "$OUT/"
20
24
  fi
21
- echo "Built plugins/lisa-$stack"
25
+ # Inject Lisa version into the built plugin manifest
26
+ MANIFEST="$OUT/.claude-plugin/plugin.json"
27
+ if [ -f "$MANIFEST" ]; then
28
+ node -e "
29
+ const fs = require('fs');
30
+ const m = JSON.parse(fs.readFileSync('$MANIFEST', 'utf8'));
31
+ m.version = '$VERSION';
32
+ fs.writeFileSync('$MANIFEST', JSON.stringify(m, null, 2) + '\n');
33
+ "
34
+ fi
35
+ echo "Built plugins/lisa-$stack (v$VERSION)"
22
36
  done
@@ -43,19 +43,20 @@ PYEOF
43
43
  fi
44
44
  fi
45
45
 
46
- # Register the Lisa marketplace and install plugins only when claude CLI is available
46
+ # Install plugins only when claude CLI is available
47
47
  if ! command -v claude &>/dev/null; then exit 0; fi
48
48
 
49
- # Register the Lisa marketplace pointing to this npm package
50
- claude plugin marketplace add "$LISA_DIR" --scope project </dev/null 2>&1 || true
49
+ # The Lisa marketplace is registered via extraKnownMarketplaces in .claude/settings.json
50
+ # pointing to the GitHub repo (CodySwannGT/lisa). Built plugins are committed to the repo
51
+ # so relative paths in marketplace.json resolve correctly.
51
52
 
52
53
  # Detect which stack plugin to install from .claude/settings.json
53
54
  SETTINGS_FILE="$PROJECT_ROOT/.claude/settings.json"
54
55
  LISA_PLUGIN=""
55
56
  if [ -f "$SETTINGS_FILE" ]; then
56
57
  for stack in typescript expo nestjs cdk rails; do
57
- if grep -q "\"${stack}@lisa\"" "$SETTINGS_FILE" 2>/dev/null; then
58
- LISA_PLUGIN="${stack}@lisa"
58
+ if grep -q "\"lisa-${stack}@lisa\"" "$SETTINGS_FILE" 2>/dev/null; then
59
+ LISA_PLUGIN="lisa-${stack}@lisa"
59
60
  break
60
61
  fi
61
62
  done
@@ -79,7 +80,7 @@ for plugin in \
79
80
  done
80
81
 
81
82
  # Install stack-specific third-party plugins
82
- if [ "$LISA_PLUGIN" = "expo@lisa" ]; then
83
+ if [ "$LISA_PLUGIN" = "lisa-expo@lisa" ]; then
83
84
  for plugin in \
84
85
  "playwright@claude-plugins-official" \
85
86
  "posthog@claude-plugins-official"; do
@@ -10,7 +10,7 @@
10
10
  "code-review@claude-plugins-official": true,
11
11
  "coderabbit@claude-plugins-official": true,
12
12
  "sentry@claude-plugins-official": true,
13
- "typescript@lisa": true
13
+ "lisa-typescript@lisa": true
14
14
  },
15
15
  "extraKnownMarketplaces": {
16
16
  "CodySwannGT/lisa": {