name: updating-cjson
description: Updates cJSON submodule to latest stable version, bumps binject and node-smol caches. Use when cJSON has security patches, JSON parsing bugs, or as part of binject updates.
user-invocable: true
allowed-tools: Bash(pnpm:), Bash(npm:), Bash(git:), Bash(node:), Bash(rg:), Bash(grep:), Bash(find:), Bash(ls:), Bash(cat:), Bash(head:), Bash(tail:), Bash(wc:), Bash(diff:*), Read, Edit, Glob, Grep---
updating-cjson
Update the cJSON library submodule (packages/binject/upstream/cJSON) to latest stable release.
- Submodule:
packages/binject/upstream/cJSON (DaveGamble/cJSON)
- Tag format:
vX.Y.Z
- Cache bumps:
binject, node-smol
Process
- Validate: Clean working directory, detect CI mode
- Fetch latest:
git fetch origin --tags in submodule, find latest stable vX.Y.Z tag (exclude rc/alpha/beta)
- Check: If already at latest, report and exit
- Update submodule:
git checkout $TAG
- Update .gitmodules: Edit version comment to
# cJSON-X.Y.Z (strip v prefix)
- Build/test (skip in CI):
pnpm run clean && pnpm run build && pnpm test in packages/binject
- Bump caches: Increment
binject and node-smol in .github/cache-versions.json
- Commit:
git add .gitmodules packages/binject/upstream/cJSON .github/cache-versions.json
- Report: Summary with version change and cache bumps