leopold-driver 0.1.2 → 0.4.5

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/assets/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.3
1
+ 0.4.5
package/assets/install.sh CHANGED
@@ -93,6 +93,26 @@ else
93
93
  echo " (serena extension missing from this build; skipping)"
94
94
  fi
95
95
 
96
+ # The `leopold` CLI — so `leopold menu / watch / doctor / serena` work from anywhere,
97
+ # no repo and no `make`. Skip if it's already here (e.g. you ran `leopold install`).
98
+ echo
99
+ if command -v leopold >/dev/null 2>&1; then
100
+ echo "-> leopold CLI already installed"
101
+ elif command -v npm >/dev/null 2>&1; then
102
+ echo "-> installing the leopold CLI (npm i -g leopold-driver)"
103
+ if npm i -g leopold-driver >/dev/null 2>&1; then
104
+ if command -v leopold >/dev/null 2>&1; then
105
+ echo " ok 'leopold' command ready (leopold menu · watch · doctor)"
106
+ else
107
+ echo " installed, but 'leopold' isn't on PATH yet — open a new shell (or: hash -r)"
108
+ fi
109
+ else
110
+ echo " warn: 'npm i -g leopold-driver' failed (permissions?) — run it yourself, maybe with sudo"
111
+ fi
112
+ else
113
+ echo "-> npm not found — the 'leopold' CLI needs Node/npm. Then: npm i -g leopold-driver"
114
+ fi
115
+
96
116
  echo
97
117
  GSTACK_DIR="$SKILLS/gstack"
98
118
  gstack_present() { [ -d "$GSTACK_DIR" ] || ls "$SKILLS" 2>/dev/null | grep -q '^spec$'; }
@@ -124,12 +144,26 @@ else
124
144
  fi
125
145
  fi
126
146
 
147
+ # Verify the install: skills, hooks, and the leopold CLI should all be in place.
148
+ echo
149
+ echo "-> verifying"
150
+ v_warn=0
151
+ sc="$(ls "$SKILLS" 2>/dev/null | grep -c '^leopold-' || true)"
152
+ [ "${sc:-0}" -ge 4 ] 2>/dev/null && echo " ok $sc leopold skills installed" || { echo " warn: leopold skills not found in $SKILLS"; v_warn=$((v_warn+1)); }
153
+ if command -v jq >/dev/null 2>&1 && [ -f "$SETTINGS" ] && jq -e '(.hooks.Stop|length>0) and (.hooks.PreToolUse|length>0)' "$SETTINGS" >/dev/null 2>&1; then
154
+ echo " ok Stop + PreToolUse hooks wired in settings.json"
155
+ else echo " warn: hooks not detected in settings.json"; v_warn=$((v_warn+1)); fi
156
+ command -v leopold >/dev/null 2>&1 && echo " ok leopold CLI on PATH" || { echo " warn: 'leopold' not on PATH yet (open a new shell, or: npm i -g leopold-driver)"; v_warn=$((v_warn+1)); }
157
+ command -v serena >/dev/null 2>&1 && echo " ok serena (LSP) present" || echo " note: serena not on PATH — run: leopold serena install"
158
+ [ "$v_warn" -eq 0 ] && echo " all good." || echo " $v_warn warning(s) above — see the hints."
159
+
127
160
  echo
128
161
  echo "Done. In any project:"
129
162
  echo " /leopold-brief debate the mission, write the brief"
130
163
  echo " /leopold-run hand over the seat"
131
164
  echo " /leopold-status see where it is"
132
165
  echo " /leopold-stop take the seat back"
166
+ echo " (or from a shell: leopold menu · leopold watch · leopold doctor)"
133
167
  echo
134
168
  # Offer the toolchain manager. We read from /dev/tty (the controlling terminal),
135
169
  # not stdin, so this works even when the installer is piped: `curl ... | bash`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "leopold-driver",
3
- "version": "0.1.2",
3
+ "version": "0.4.5",
4
4
  "description": "Leopold SDK driver: a persistent conductor that orchestrates fresh Claude Code workers per task, decides from your charter, and notifies you. Uses your Claude Code auth. Git stays locked.",
5
5
  "type": "module",
6
6
  "bin": {