v1.4.1 — Bugfix patch on top of v1.4.0 (no new features)
🩹 Bugfix patch — no new features
All v1.4.0 features remain intact and available. This release closes
20 defects across 7 review passes (internal audit + Codex CLI gpt-5.5
- four follow-up sweeps + a real-world cross-project sync scenario), so
a freshgit clone … && bash setup.sh,--codexsetup, and SessionStart
auto-update all actually deliver what the README promised.
Install method: the npm registry publish is deferred. For now use:
git clone https://github.com/RaNDoM6913/claude-code-superkit cd claude-code-superkit bash setup.sh
npx claude-code-superkitwill work once the package is published to npm.
v1.4.0 features (still here, just verified to actually ship):
- 🧠 3 cross-CLI specialist roles —
minimal-change-engineer,reality-checker,codebase-onboarding-engineer - 🎯 GAN harness package (
packages/gan/) — three-agent adversarial verification loop - 🤖 Intake classifier hook — scoring + optional gpt-5.5-nano LLM fallback
- 🛡️ GateGuard hooks — require Grep/Read before edits
- 🔍 silent-failure-hunter expanded with 6-category taxonomy
- 🎨 behavioral-nudge-engine agent for retention/habit loops
- 📚 TGApp / production skills bundle (Telegram, Supabase, Drizzle, ru-text, Postgres, Redis)
- 🔒 Codex
default.rulesDSL — approval policy for Codex CLI - 🐹 Go references +5 — di-frameworks, gqlgen, module-management, stay-updated, standard-stdlib-now
🩹 Bugfixes in v1.4.1
Install / packaging (BLOCKER level for fresh installs)
- 📦
package.jsonfiles[] now includespackages/gan/—npm packpreviously shipped 0 GAN files - 🐍
lib/installer.jscopies.pyhooks —intake-classifier.pywas silently dropped,settings.jsonthen referenced a missing file on everyUserPromptSubmit - 📜
lib/codex.jscopiesdefault.rulesto.codex/rules/— README claimed it, install didn't deliver it - ✅
superkit-counts-verify.shno longer under-counts (missed.py+packages/gan/+extras/*/agent.md); GitHub About description updated to match actual counts - 🛠️
bin/superkit-counts-verify.shconvenience wrapper — contributors and AI reviewers reach forbin/first (wherebin/cli.js,bin/inject-tokens.js,bin/measure-tokens.jslive). Thin wrapper forwards stdin and exit code to the canonical hook inpackages/core/hooks/. Synthesises an empty git-commit payload when invoked interactively so manual runs actually exercise the check. - 🔧 Install docs use
bash setup.sh— everynpx claude-code-superkitinvocation in README, INSTALL guides, chapter docs, andbin/cli.js --helprewritten togit clone … && bash setup.sh(npm publish is deferred)
Auto-update hook (caught by real-world cross-project scenario)
- 🔄 Install drift detection —
superkit-update.shcompared onlygit rev-parse HEADvs@{u}in the source clone. If a user manually pulled the clone (or another project synced first),LOCAL == REMOTEreturned true → exit 0. Install stayed at 1.3.10 even though source was 1.4.1. Fix: cheap version-string compare (install.superkit-metavs sourceVERSION) runs FIRST, independent of git ref check. - 🐍
.pyhooks now sync on update too — update path used.sh-only glob.intake-classifier.pywould never reach existing installs via auto-update. Mirrored the installer fix. - 📂 Skill auxiliary files (scripts/, references/) now sync — update copied only
SKILL.md. Skills with supporting files would be missing them after update even though fresh install copied them. - 🔧
chmod +xon.pyhooks in update path.
Codex approval rules (MAJOR — was safety theater)
- 🛡️ Force-push bypass closed —
pattern=["git","push","--force"]was bypassed bygit push origin main --force(argv position 4). Nowgit pushlands atprompt. - 🔌
curl | bashhonesty — pipes aren't visible to the rule engine; misleading "forbidden" rule replaced withpromptoncurl/wget/bash -c/sh -c - 🚨 Added rules —
kubectl drain,terraform destroy,terraform applynow prompt - 📜 History-rewriting tools —
git filter-repo,git filter-branch,git rebase -i,git rebase --root,git update-ref -d,git reflog expireall set toprompt - 🔍 psql -c / mysql -e matching fixed — inline SQL arrives as a single argv token (
"DROP TABLE x"), soprefix_rule(["psql","-c","DROP"])never matched. Replaced with broader["psql","-c"]→promptso user sees the full SQL. Same forpsql --command,psql -f,psql --file,mysql -e,mysql --execute.
Documentation drift
- 📋 Codex
AGENTS.mdskills list refreshed (4 new core roles + 6 TGApp skills + 3 GAN skills) - 🔢 README hook/rule totals —
42 shipped + 2 internalhooks and19 shipped + 1 internalrules (was stale28 + 16 stackand8 + 12 stack) - ➕ README Codex arithmetic —
82 skills (...) + 3 GAN mirrors in packages/gan/skills/(no more82 + 3 = 85ambiguity) - 🏷️ GitHub About updated: hooks 28 → 42, rules 10 → 19
- 📖 CLAUDE.md Self-Audit Rule lists both canonical hook path and
bin/wrapper
Content defects
- 🟢
test/codex.test.jsred on main —silent-failure-hunter/SKILL.mdhad a banned/reviewreference. Replaced. - 🛠️
drizzle-orm-expertexample — usedconst users = await db.query.users.findMany({ where: eq(users.role, 'user') })which shadowed the importeduserstable. Renamed result + switched to modern RQB callback. - 🎯
silent-failure-huntertokens — declared 1280, actual ≈2218. Updated for honesty.
GateGuard hooks reliability
- ⚛️ Atomic state writes —
echo > \$FILEcould interleave under concurrent invocation. Now writes to\${STATE_FILE}.\$\$.\$nowthenmv -f. - ⏰ Clock-skew protection — future-timestamp
last_factsno longer pretends facts are fresh forever. - 🤫 Strict mode noise reduced — read-only whitelist expanded:
sed -n,awk,nl,tree,git grep,git stash list,git reflog,node --version,stat,realpath,readlink,basename,dirname,cut,sort,uniq,locate,more,id.
📊 Verified after fixes
npm test: 28/28 pass ✅packages/core/hooks/superkit-counts-verify.sh: exit 0 ✅bash bin/superkit-counts-verify.sh: exit 0 ✅- Real file counts == documented counts ✅
npm packships: GAN package (9 files),intake-classifier.py(14.3 kB),default.rules(20.0 kB) ✅
📥 Install
```bash
git clone https://github.com/RaNDoM6913/claude-code-superkit
cd claude-code-superkit
bash setup.sh
```
Full diff: v1.4.0...v1.4.1