@codyswann/lisa 2.189.1 → 2.189.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.
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/scripts/install-claude-plugins.sh +75 -17
package/package.json
CHANGED
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"ws": ">=8.20.1"
|
|
95
95
|
},
|
|
96
96
|
"name": "@codyswann/lisa",
|
|
97
|
-
"version": "2.189.
|
|
97
|
+
"version": "2.189.2",
|
|
98
98
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
99
99
|
"main": "dist/index.js",
|
|
100
100
|
"exports": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.189.
|
|
3
|
+
"version": "2.189.2",
|
|
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.189.
|
|
3
|
+
"version": "2.189.2",
|
|
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.189.
|
|
3
|
+
"version": "2.189.2",
|
|
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.189.
|
|
3
|
+
"version": "2.189.2",
|
|
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.189.
|
|
3
|
+
"version": "2.189.2",
|
|
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"
|
|
@@ -6,16 +6,79 @@ set -euo pipefail
|
|
|
6
6
|
PROJECT_ROOT="${npm_config_local_prefix:-${INIT_CWD:-}}"
|
|
7
7
|
if [ -z "$PROJECT_ROOT" ]; then exit 0; fi
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
SETTINGS_FILE="$PROJECT_ROOT/.claude/settings.json"
|
|
10
|
+
|
|
11
|
+
harness_includes_codex() {
|
|
12
|
+
[ "${IS_LISA_SELF:-false}" = "true" ] && return 0
|
|
13
|
+
node -e '
|
|
14
|
+
const fs = require("fs");
|
|
15
|
+
const path = process.argv[1];
|
|
16
|
+
try {
|
|
17
|
+
const parsed = JSON.parse(fs.readFileSync(path, "utf8"));
|
|
18
|
+
const harness = parsed.harness === "all" ? "fleet" : parsed.harness;
|
|
19
|
+
process.exit(harness === "codex" || harness === "fleet" ? 0 : 1);
|
|
20
|
+
} catch {
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
' "$PROJECT_ROOT/.lisa.config.json" >/dev/null 2>&1
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
detect_lisa_stack() {
|
|
27
|
+
local settings_file="$1"
|
|
28
|
+
[ -f "$settings_file" ] || return 0
|
|
29
|
+
command -v jq >/dev/null 2>&1 || return 0
|
|
30
|
+
local stack
|
|
31
|
+
for stack in expo nestjs cdk harper-fabric rails; do
|
|
32
|
+
if jq -e "(.enabledPlugins // {}) | has(\"lisa-${stack}@lisa\")" "$settings_file" >/dev/null 2>&1; then
|
|
33
|
+
printf '%s\n' "$stack"
|
|
34
|
+
return 0
|
|
35
|
+
fi
|
|
36
|
+
done
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
install_codex_lisa_plugins() {
|
|
40
|
+
harness_includes_codex || return 0
|
|
41
|
+
command -v codex >/dev/null 2>&1 || return 0
|
|
42
|
+
|
|
43
|
+
# Codex reads the Lisa marketplace from the project/repo root. For the Lisa
|
|
44
|
+
# repo itself this points at the working tree, not node_modules, so postinstall
|
|
45
|
+
# never needs to run the full template/deletion engine just to expose skills.
|
|
46
|
+
(cd "$PROJECT_ROOT" && codex plugin marketplace add "$PROJECT_ROOT" </dev/null >/dev/null 2>&1) || true
|
|
47
|
+
(cd "$PROJECT_ROOT" && codex plugin add "lisa@lisa" </dev/null >/dev/null 2>&1) || true
|
|
48
|
+
|
|
49
|
+
local lisa_stack
|
|
50
|
+
lisa_stack="$(detect_lisa_stack "$SETTINGS_FILE")"
|
|
51
|
+
case "$lisa_stack" in
|
|
52
|
+
rails) ;;
|
|
53
|
+
*)
|
|
54
|
+
(cd "$PROJECT_ROOT" && codex plugin add "lisa-typescript@lisa" </dev/null >/dev/null 2>&1) || true
|
|
55
|
+
;;
|
|
56
|
+
esac
|
|
57
|
+
|
|
58
|
+
if [ -n "$lisa_stack" ]; then
|
|
59
|
+
(cd "$PROJECT_ROOT" && codex plugin add "lisa-${lisa_stack}@lisa" </dev/null >/dev/null 2>&1) || true
|
|
60
|
+
fi
|
|
61
|
+
}
|
|
11
62
|
|
|
12
63
|
# Skip running Lisa on itself — the Lisa repo IS the template source.
|
|
13
|
-
# Self-running causes chicken-and-egg issues (npm package
|
|
64
|
+
# Self-running the full apply causes chicken-and-egg issues (npm package
|
|
65
|
+
# deletes source files). The self path below only registers plugin surfaces.
|
|
14
66
|
PACKAGE_NAME=$(node -e "console.log(require('$PROJECT_ROOT/package.json').name || '')" 2>/dev/null || true)
|
|
15
|
-
|
|
67
|
+
IS_LISA_SELF=false
|
|
68
|
+
if [ "$PACKAGE_NAME" = "@codyswann/lisa" ]; then
|
|
69
|
+
IS_LISA_SELF=true
|
|
70
|
+
LISA_DIR="$PROJECT_ROOT"
|
|
71
|
+
else
|
|
72
|
+
LISA_DIR="$PROJECT_ROOT/node_modules/@codyswann/lisa"
|
|
73
|
+
if [ ! -d "$LISA_DIR" ]; then exit 0; fi
|
|
74
|
+
fi
|
|
16
75
|
|
|
17
76
|
cd "$PROJECT_ROOT"
|
|
18
77
|
|
|
78
|
+
if [ "$IS_LISA_SELF" = "true" ]; then
|
|
79
|
+
install_codex_lisa_plugins
|
|
80
|
+
fi
|
|
81
|
+
|
|
19
82
|
# Apply Lisa templates non-interactively (init when missing, update when present),
|
|
20
83
|
# EXCEPT in CI. --skip-git-check bypasses the dirty working directory check since
|
|
21
84
|
# package.json and the lockfile are always uncommitted during postinstall.
|
|
@@ -34,18 +97,21 @@ cd "$PROJECT_ROOT"
|
|
|
34
97
|
# each path is written exactly once by its most-specific stack — there is no
|
|
35
98
|
# intermediate clobbered state to be interrupted in. See src/core/lisa.ts
|
|
36
99
|
# loadCopyOverwriteOwnership.
|
|
37
|
-
if [ -z "${CI:-}" ]; then
|
|
100
|
+
if [ "$IS_LISA_SELF" != "true" ] && [ -z "${CI:-}" ]; then
|
|
38
101
|
if ! node "$LISA_DIR/dist/index.js" --yes --skip-git-check "$PROJECT_ROOT"; then
|
|
39
102
|
echo "⚠️ Warning: Lisa template application failed. Migration may be incomplete." >&2
|
|
40
103
|
fi
|
|
41
104
|
fi
|
|
42
105
|
|
|
106
|
+
if [ "$IS_LISA_SELF" != "true" ]; then
|
|
107
|
+
install_codex_lisa_plugins
|
|
108
|
+
fi
|
|
109
|
+
|
|
43
110
|
# Strip only hook entries that reference deleted .claude/hooks/*.sh scripts
|
|
44
111
|
# (hooks moved to plugin.json; file-path hooks would produce "No such file or directory" errors).
|
|
45
112
|
# Preserve inline command hooks (e.g. `command -v entire ...`, `echo ...`) and stack-template hooks
|
|
46
113
|
# from rails/merge/.claude/settings.json.
|
|
47
|
-
SETTINGS_FILE
|
|
48
|
-
if [ -f "$SETTINGS_FILE" ] && command -v python3 >/dev/null 2>&1; then
|
|
114
|
+
if [ "$IS_LISA_SELF" != "true" ] && [ -f "$SETTINGS_FILE" ] && command -v python3 >/dev/null 2>&1; then
|
|
49
115
|
python3 - "$SETTINGS_FILE" <<'PYEOF'
|
|
50
116
|
import json, sys
|
|
51
117
|
path = sys.argv[1]
|
|
@@ -132,7 +198,7 @@ fi
|
|
|
132
198
|
# here — but ONLY the Lisa-shipped file (identified by its marker rule name), so a
|
|
133
199
|
# project's own hand-authored `.safety-net.json` is never touched.
|
|
134
200
|
LEGACY_SAFETY_NET="$PROJECT_ROOT/.safety-net.json"
|
|
135
|
-
if [ -f "$LEGACY_SAFETY_NET" ] && command -v jq >/dev/null 2>&1; then
|
|
201
|
+
if [ "$IS_LISA_SELF" != "true" ] && [ -f "$LEGACY_SAFETY_NET" ] && command -v jq >/dev/null 2>&1; then
|
|
136
202
|
if jq -e '
|
|
137
203
|
(.rules | type == "array")
|
|
138
204
|
and ([.rules[]?.name] | index("block-git-commit-no-verify") != null)
|
|
@@ -255,15 +321,7 @@ fi
|
|
|
255
321
|
claude plugin install "lisa@lisa" --scope project </dev/null 2>&1 || true
|
|
256
322
|
|
|
257
323
|
# Detect which stack plugin to install from .claude/settings.json
|
|
258
|
-
LISA_STACK=""
|
|
259
|
-
if [ -f "$SETTINGS_FILE" ] && command -v jq >/dev/null 2>&1; then
|
|
260
|
-
for stack in expo nestjs cdk harper-fabric rails; do
|
|
261
|
-
if jq -e "(.enabledPlugins // {}) | has(\"lisa-${stack}@lisa\")" "$SETTINGS_FILE" >/dev/null 2>&1; then
|
|
262
|
-
LISA_STACK="$stack"
|
|
263
|
-
break
|
|
264
|
-
fi
|
|
265
|
-
done
|
|
266
|
-
fi
|
|
324
|
+
LISA_STACK="$(detect_lisa_stack "$SETTINGS_FILE")"
|
|
267
325
|
|
|
268
326
|
# Install typescript layer for all TS-based stacks (everything except rails)
|
|
269
327
|
case "$LISA_STACK" in
|