@codyswann/lisa 2.124.1 → 2.124.3

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 (78) hide show
  1. package/dist/agy/mcp-installer.d.ts +22 -5
  2. package/dist/agy/mcp-installer.d.ts.map +1 -1
  3. package/dist/agy/mcp-installer.js +52 -12
  4. package/dist/agy/mcp-installer.js.map +1 -1
  5. package/dist/codex/hooks-installer.d.ts.map +1 -1
  6. package/dist/codex/hooks-installer.js +12 -11
  7. package/dist/codex/hooks-installer.js.map +1 -1
  8. package/dist/core/lisa.d.ts +19 -11
  9. package/dist/core/lisa.d.ts.map +1 -1
  10. package/dist/core/lisa.js +44 -12
  11. package/dist/core/lisa.js.map +1 -1
  12. package/package.json +1 -1
  13. package/plugins/lisa/.claude-plugin/plugin.json +1 -10
  14. package/plugins/lisa/{hooks → .codex-plugin}/hooks.json +0 -11
  15. package/plugins/lisa/.codex-plugin/plugin.json +2 -2
  16. package/plugins/lisa/hooks/block-no-verify.agy.sh +45 -0
  17. package/plugins/lisa-agy/hooks/block-no-verify.agy.sh +45 -0
  18. package/plugins/lisa-agy/hooks.json +15 -0
  19. package/plugins/lisa-agy/plugin.json +1 -1
  20. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  21. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  22. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  23. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  24. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  25. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -12
  26. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -12
  27. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  28. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  29. package/plugins/lisa-expo-agy/plugin.json +1 -1
  30. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  31. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +2 -2
  34. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  35. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +2 -2
  39. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  40. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  44. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  45. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-rails/.codex-plugin/plugin.json +2 -2
  49. package/plugins/lisa-rails-agy/plugin.json +1 -1
  50. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  51. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-typescript/.codex-plugin/plugin.json +2 -2
  54. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  55. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  59. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  60. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  62. package/plugins/src/base/.claude-plugin/plugin.json +0 -1
  63. package/plugins/src/base/hooks/block-no-verify.agy.sh +45 -0
  64. package/scripts/generate-agy-plugin-artifacts.mjs +158 -19
  65. package/scripts/generate-codex-plugin-artifacts.mjs +45 -25
  66. package/scripts/generate-copilot-plugin-artifacts.mjs +6 -5
  67. package/scripts/generate-cursor-plugin-artifacts.mjs +5 -3
  68. package/scripts/lib/per-agent-hook-filter.mjs +29 -18
  69. package/dist/codex/scripts/notify-ntfy.sh +0 -18
  70. package/plugins/lisa/hooks/notify-ntfy.sh +0 -183
  71. package/plugins/lisa-copilot/hooks/notify-ntfy.sh +0 -183
  72. package/plugins/lisa-cursor/hooks/notify-ntfy.sh +0 -183
  73. package/plugins/lisa-expo-agy/.mcp.json +0 -8
  74. package/plugins/src/base/hooks/notify-ntfy.sh +0 -183
  75. /package/plugins/lisa-harper-fabric/{hooks → .codex-plugin}/hooks.json +0 -0
  76. /package/plugins/lisa-nestjs/{hooks → .codex-plugin}/hooks.json +0 -0
  77. /package/plugins/lisa-rails/{hooks → .codex-plugin}/hooks.json +0 -0
  78. /package/plugins/lisa-typescript/{hooks → .codex-plugin}/hooks.json +0 -0
@@ -11,17 +11,6 @@
11
11
  ]
12
12
  }
13
13
  ],
14
- "Stop": [
15
- {
16
- "matcher": "",
17
- "hooks": [
18
- {
19
- "type": "command",
20
- "command": "${PLUGIN_ROOT}/hooks/notify-ntfy.sh"
21
- }
22
- ]
23
- }
24
- ],
25
14
  "SessionStart": [
26
15
  {
27
16
  "matcher": "startup",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Universal governance: agents, skills, commands, hooks, and rules for all projects.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -12,7 +12,7 @@
12
12
  "workflow"
13
13
  ],
14
14
  "skills": "./skills/",
15
- "hooks": "./hooks/hooks.json",
15
+ "hooks": "./.codex-plugin/hooks.json",
16
16
  "interface": {
17
17
  "displayName": "Lisa",
18
18
  "shortDescription": "Universal project governance workflows",
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env bash
2
+ # Antigravity (agy) PreToolUse hook: blocks shell commands that bypass Lisa's
3
+ # git quality gates via `--no-verify` (exact parity with the Claude
4
+ # block-no-verify.sh — only the long flag, to avoid `-n` false positives).
5
+ #
6
+ # agy protocol (distinct from the Claude block-no-verify.sh exit-code protocol):
7
+ # - stdin = JSON: { "toolCall": { "name": "run_command",
8
+ # "args": { "CommandLine": "<shell command>" } }, ... }
9
+ # - stdout = JSON decision: {"decision":"deny","reason":"..."} | {"decision":"allow"}
10
+ #
11
+ # Shipped as a GLOBAL agy plugin hook (hooks.json at the plugin root, installed
12
+ # to ~/.gemini/config/plugins/<variant>/). Matches agy's shell tool `run_command`
13
+ # on PreToolUse. jq parses the JSON envelope (per project rule: never grep/sed
14
+ # JSON); the command string itself is matched with grep (it is a plain string,
15
+ # not JSON). Malformed/empty stdin → allow (fail open, never crash the tool).
16
+ set -uo pipefail
17
+
18
+ allow() {
19
+ printf '%s\n' '{"decision":"allow"}'
20
+ exit 0
21
+ }
22
+
23
+ deny() {
24
+ printf '%s\n' '{"decision":"deny","reason":"--no-verify bypasses Lisa pre-commit/pre-push quality gates. Fix the underlying issue (lint, tests, formatting) or ask the user before bypassing."}'
25
+ exit 0
26
+ }
27
+
28
+ input="$(cat 2>/dev/null || true)"
29
+ [ -z "$input" ] && allow
30
+
31
+ command_str="$(printf '%s' "$input" | jq -r '.toolCall.args.CommandLine // empty' 2>/dev/null || true)"
32
+ [ -z "$command_str" ] && allow
33
+
34
+ # Bounded --no-verify (catches `git commit`/`git push --no-verify` in any
35
+ # position, incl. subshells) while excluding longer flags like --no-verify-ssl.
36
+ # Exact parity with the Claude block-no-verify.sh: only --no-verify is matched.
37
+ # The short `-n` form is intentionally NOT matched — `-n` appears in commit
38
+ # message prose (`git commit -m "fix -n flag"`) and unrelated piped commands
39
+ # (`sort -n x; git commit`), so guarding it false-positives on valid work.
40
+ if printf '%s' "$command_str" |
41
+ grep -Eq '(^|[^[:alnum:]_-])--no-verify($|[^[:alnum:]_-])'; then
42
+ deny
43
+ fi
44
+
45
+ allow
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env bash
2
+ # Antigravity (agy) PreToolUse hook: blocks shell commands that bypass Lisa's
3
+ # git quality gates via `--no-verify` (exact parity with the Claude
4
+ # block-no-verify.sh — only the long flag, to avoid `-n` false positives).
5
+ #
6
+ # agy protocol (distinct from the Claude block-no-verify.sh exit-code protocol):
7
+ # - stdin = JSON: { "toolCall": { "name": "run_command",
8
+ # "args": { "CommandLine": "<shell command>" } }, ... }
9
+ # - stdout = JSON decision: {"decision":"deny","reason":"..."} | {"decision":"allow"}
10
+ #
11
+ # Shipped as a GLOBAL agy plugin hook (hooks.json at the plugin root, installed
12
+ # to ~/.gemini/config/plugins/<variant>/). Matches agy's shell tool `run_command`
13
+ # on PreToolUse. jq parses the JSON envelope (per project rule: never grep/sed
14
+ # JSON); the command string itself is matched with grep (it is a plain string,
15
+ # not JSON). Malformed/empty stdin → allow (fail open, never crash the tool).
16
+ set -uo pipefail
17
+
18
+ allow() {
19
+ printf '%s\n' '{"decision":"allow"}'
20
+ exit 0
21
+ }
22
+
23
+ deny() {
24
+ printf '%s\n' '{"decision":"deny","reason":"--no-verify bypasses Lisa pre-commit/pre-push quality gates. Fix the underlying issue (lint, tests, formatting) or ask the user before bypassing."}'
25
+ exit 0
26
+ }
27
+
28
+ input="$(cat 2>/dev/null || true)"
29
+ [ -z "$input" ] && allow
30
+
31
+ command_str="$(printf '%s' "$input" | jq -r '.toolCall.args.CommandLine // empty' 2>/dev/null || true)"
32
+ [ -z "$command_str" ] && allow
33
+
34
+ # Bounded --no-verify (catches `git commit`/`git push --no-verify` in any
35
+ # position, incl. subshells) while excluding longer flags like --no-verify-ssl.
36
+ # Exact parity with the Claude block-no-verify.sh: only --no-verify is matched.
37
+ # The short `-n` form is intentionally NOT matched — `-n` appears in commit
38
+ # message prose (`git commit -m "fix -n flag"`) and unrelated piped commands
39
+ # (`sort -n x; git commit`), so guarding it false-positives on valid work.
40
+ if printf '%s' "$command_str" |
41
+ grep -Eq '(^|[^[:alnum:]_-])--no-verify($|[^[:alnum:]_-])'; then
42
+ deny
43
+ fi
44
+
45
+ allow
@@ -0,0 +1,15 @@
1
+ {
2
+ "lisa-block-no-verify": {
3
+ "PreToolUse": [
4
+ {
5
+ "matcher": "run_command",
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "bash \"$HOME/.gemini/config/plugins/lisa/hooks/block-no-verify.agy.sh\""
10
+ }
11
+ ]
12
+ }
13
+ ]
14
+ }
15
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "AWS CDK-specific Lisa plugin.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -17,17 +17,6 @@
17
17
  ]
18
18
  }
19
19
  ],
20
- "agentStop": [
21
- {
22
- "matcher": "",
23
- "hooks": [
24
- {
25
- "type": "command",
26
- "command": "${CLAUDE_PLUGIN_ROOT}/hooks/notify-ntfy.sh"
27
- }
28
- ]
29
- }
30
- ],
31
20
  "sessionStart": [
32
21
  {
33
22
  "matcher": "startup",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -17,17 +17,6 @@
17
17
  ]
18
18
  }
19
19
  ],
20
- "Stop": [
21
- {
22
- "matcher": "",
23
- "hooks": [
24
- {
25
- "type": "command",
26
- "command": "${CLAUDE_PLUGIN_ROOT}/hooks/notify-ntfy.sh"
27
- }
28
- ]
29
- }
30
- ],
31
20
  "SessionStart": [
32
21
  {
33
22
  "matcher": "startup",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Expo and React Native-specific skills, agents, rules, and MCP servers.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Harper/Fabric-specific Lisa rules for TypeScript component apps.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -15,7 +15,7 @@
15
15
  "lisa-typescript"
16
16
  ],
17
17
  "skills": "./skills/",
18
- "hooks": "./hooks/hooks.json",
18
+ "hooks": "./.codex-plugin/hooks.json",
19
19
  "interface": {
20
20
  "displayName": "Lisa Harper/Fabric",
21
21
  "shortDescription": "Harper/Fabric workflow guidance",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "NestJS-specific skills and migration write-protection hooks.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -15,7 +15,7 @@
15
15
  "lisa-typescript"
16
16
  ],
17
17
  "skills": "./skills/",
18
- "hooks": "./hooks/hooks.json",
18
+ "hooks": "./.codex-plugin/hooks.json",
19
19
  "interface": {
20
20
  "displayName": "Lisa NestJS",
21
21
  "shortDescription": "NestJS workflow guidance",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Ruby on Rails-specific skills and hooks for RuboCop and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -15,7 +15,7 @@
15
15
  "lisa"
16
16
  ],
17
17
  "skills": "./skills/",
18
- "hooks": "./hooks/hooks.json",
18
+ "hooks": "./.codex-plugin/hooks.json",
19
19
  "interface": {
20
20
  "displayName": "Lisa Rails",
21
21
  "shortDescription": "Ruby on Rails workflows",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "TypeScript-specific hooks for formatting, linting, and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -14,7 +14,7 @@
14
14
  "dependencies": [
15
15
  "lisa"
16
16
  ],
17
- "hooks": "./hooks/hooks.json",
17
+ "hooks": "./.codex-plugin/hooks.json",
18
18
  "interface": {
19
19
  "displayName": "Lisa TypeScript",
20
20
  "shortDescription": "TypeScript lifecycle checks",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "Distributable LLM Wiki kernel — ingest, query, lint, and maintain a git-native markdown knowledge base across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.124.1",
3
+ "version": "2.124.3",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -62,7 +62,6 @@
62
62
  }
63
63
  ],
64
64
  "Stop": [
65
- { "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/notify-ntfy.sh" }] },
66
65
  { "matcher": "", "hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code stop || true" }] }
67
66
  ],
68
67
  "SessionStart": [