Llmops-demo-ts bump-dependencies
Bump or upgrade declared dependency versions in this pnpm workspace (root and packages/* package.json), with supply-chain checks before and after install. Use when the user asks to upgrade, bump, or refresh npm dependencies in manifests—not only the lockfile.
git clone https://github.com/yu-iskw/llmops-demo-ts
T=$(mktemp -d) && git clone --depth=1 https://github.com/yu-iskw/llmops-demo-ts "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/bump-dependencies" ~/.claude/skills/yu-iskw-llmops-demo-ts-bump-dependencies && rm -rf "$T"
.claude/skills/bump-dependencies/SKILL.mdBump dependencies
Apply the following scope and intent:
$ARGUMENTS
Monorepo conventions
- Use pnpm from the repository root unless you are only running
inside a package directory; then return to the root fornpm-check-updates
.pnpm install - After any change to a workspace or root
, runpackage.json
at the root sopnpm install
stays consistent.pnpm-lock.yaml
Workspace packages and manifests
| Directory | name | Manifest |
|---|---|---|
| | |
| | |
| | |
| | |
| (root) | — | |
Why pnpm up -r -L
may not change package.json
pnpm up -r -Lpackage.jsonCaret ranges (
^x.y.z) often already allow the latest compatible release. pnpm can update the lockfile without rewriting package.json. To raise declared versions in a manifest, use targeted pnpm add, npm-check-updates, or manual edits plus root pnpm install.
Commands by package
@llmops-demo/common
@llmops-demo/commonpnpm --filter @llmops-demo/common add @langchain/core@latest @google/genai@latest pnpm --filter @llmops-demo/common add -D jest@latest
cd packages/common && npx npm-check-updates -u cd ../.. && pnpm install
cd packages/common && npx npm-check-updates -u -f '/@langchain/' cd ../.. && pnpm install
@llmops-demo-ts/agents
@llmops-demo-ts/agentspnpm --filter @llmops-demo-ts/agents add @langchain/core@latest @langchain/langgraph@latest pnpm --filter @llmops-demo-ts/agents add -D typescript@latest
cd packages/agents && npx npm-check-updates -u cd ../.. && pnpm install
cd packages/agents && npx npm-check-updates -u -f '/@langchain/' cd ../.. && pnpm install
LangGraph / SDK release notes: langgraphjs releases.
@llmops-demo-ts/backend
@llmops-demo-ts/backendtsoa and @tsoa/runtime are pinned to 7.0.0-alpha.0. Treat upgrades as explicit (read release notes, run backend build).
pnpm --filter @llmops-demo-ts/backend add express@latest @langchain/core@latest pnpm --filter @llmops-demo-ts/backend add -D typescript@latest
cd packages/backend && npx npm-check-updates -u cd ../.. && pnpm install
@llmops-demo-ts/frontend
@llmops-demo-ts/frontendpnpm --filter @llmops-demo-ts/frontend add vue@latest pinia@latest pnpm --filter @llmops-demo-ts/frontend add -D vite@latest
cd packages/frontend && npx npm-check-updates -u cd ../.. && pnpm install
Root package.json
package.jsonnpx npm-check-updates -u pnpm install
Or for specific devDependencies:
pnpm add -D <package>@latest at the repo root, then pnpm install.
Manual edit: change version strings in the relevant
package.json, then pnpm install at the root. Always review the diff before committing (especially the lockfile and new package names).
Supply-chain checks (before upgrade or install)
Run these before
pnpm add, pnpm install, or bulk ncu when they will pull new registry versions. They reduce typosquatting, unexpected packages, and “install first, think later” risk; they do not guarantee absence of compromise.
- Baseline the current tree:
(andpnpm audit
if available) on the branch before changing manifests, so you know pre-existing vs new findings after the bump.pnpm run audit:osv - Validate every package name you type or approve: Compare spelling to official docs or the maintainer’s install instructions (typosquats often differ by one character or scope).
- Prefer scoped packages from known publishers (e.g.
,@langchain/*
) when that matches the ecosystem; question unsolicited substitutes with similar names.@google/* - Inspect metadata before trusting a new or unfamiliar package: e.g.
— confirm the repository URL matches the project you expect.pnpm view <name> version repository homepage - Avoid new
/ tarball / non-registry URLs unless explicitly approved for this repo; stick to the default npm registry.git: - Bulk upgrades (
, “bump all”): Treat as higher risk—scan the planned version list; skip or manually review anything that introduces a new dependency name or a suspicious major jump.ncu -u
helpers: Prefer pinned invocations (npx
) if you want less drift from a moving global tool; understandnpx npm-check-updates@<version> -u
may download a package.npx
Then run the execution commands above for the chosen scope. After
pnpm install, run the post-change gate below.
Coordination rules
: Declared in common, agents, and backend. When upgrading LangChain, bump those packages together when possible so the lockfile stays consistent.@langchain/*
: Do not replace internal workspace dependencies with registry versions.workspace:*- Backend
/tsoa
: Pinned to@tsoa/runtime
. Treat upgrades as explicit—read upstream release notes and run the backend build; do not blind bulk-bump without review.7.0.0-alpha.0
Supply-chain gate (after lockfile changes)
- Re-run
andpnpm audit
(orpnpm run audit:osv
); compare to the pre-change baseline.osv-scanner scan -r . - Review
for unexpected new package names or version jumps (typosquats, dependency confusion, surprising transitives). Usegit diff pnpm-lock.yaml
if something looks wrong.pnpm why <name> - Respect existing
when interpreting audit results; document any new override rationale if you add one.pnpm.overrides - Root scripts:
runspnpm run audit:supply-chain
;pnpm audit
runs OSV Scanner when installed. Ifpnpm run audit:osv
is missing, install it from OSV Scanner forosv-scanner
.pnpm audit:osv
Verification (after any dependency bump)
From the repo root:
pnpm install pnpm build pnpm test pnpm audit:supply-chain pnpm audit:osv
If
osv-scanner is not installed, run pnpm audit and install the scanner for pnpm audit:osv.
If frontend e2e tests fail for missing browsers (after a Playwright upgrade or fresh machine):
pnpm run install:playwright
Playwright is only installed under
. Do not run @llmops-demo-ts/frontend
pnpm exec playwright from the repo root. To open the last HTML report from the root:
pnpm run playwright:report
Automation
Ongoing version PRs:
. Enable Dependabot security updates in the GitHub repo settings where applicable. Review CI, lockfile diffs, and supply-chain checks before merging those PRs..github/dependabot.yml