Skip to content

chore: dependabot npm/uv patch updates and tooling sync#320

Open
WhatIfWeDigDeeper wants to merge 8 commits into
mainfrom
chore/dependabot-npm-uv-and-tooling
Open

chore: dependabot npm/uv patch updates and tooling sync#320
WhatIfWeDigDeeper wants to merge 8 commits into
mainfrom
chore/dependabot-npm-uv-and-tooling

Conversation

@WhatIfWeDigDeeper
Copy link
Copy Markdown
Owner

@WhatIfWeDigDeeper WhatIfWeDigDeeper commented May 15, 2026

Summary

  • Configure Dependabot for npm (root workspace), uv (/fastapi), and gomod (/go-api) with weekly patch-only updates and a 2-day semver-patch-days cooldown.
  • Add .worktreeinclude so .env files are copied into worktree workspaces.
  • Ignore .claude/worktrees/ (ephemeral worktree workspaces).
  • Pin subagents to Sonnet via CLAUDE_CODE_SUBAGENT_MODEL=sonnet in .claude/settings.json.
  • Sync upstream agent skills and update skills-lock.json hashes; add cooldown and gomod to the cspell dictionary.
  • Record three CLAUDE.md learnings: .claude/settings.json git stash/checkout interaction, zsh status being readonly (use rc=$?), and running /pr-comments after every push to an open PR.

Security fixes (unblocking CI)

The first CI run on this branch hit a fresh advisory: fast-uri GHSA-q3j6-qgpj-74h6 and GHSA-v39h-62p7-jpjc. Removing that block also surfaced a cascade of pre-existing high advisories that audit:ci:all had been masking by halting at the first failure.

  • fast-uri3.1.2 override in api, yoga-api, nest-api, angular-ui, angular-spring-ui, lambda-api/cdk.
  • aws-cdk-lib 2.248.02.254.0 in lambda-api/cdk to fix bundled fast-uri (overrides can't reach bundleDependencies).
  • npm audit fix --package-lock-only across lambda-api, nest-api, nest-history-api, nuxt-api, svelte-ui, ui, angular-ui, angular-spring-ui for protobufjs / @babel / esbuild / hono advisories (no --force, so non-breaking only). The nuxt-api lockfile diff is large because the patched chain pulled in nitropack + esbuild@0.28.

All 19 npm packages pass npx -y audit-ci --high locally.

Test Plan

  • CI green on verify-pr (build → lint → test → audit across all stacks).
  • Spot-check nuxt-api dev/build still works after the nitropack bump.
  • Verify Dependabot picks up the new npm / uv / gomod configs on its next scheduled run.

Shipped with /ship-it.

<!-- pr-human-guide -->

Review Guide

Areas identified by automated analysis as needing human judgment.
This is not a complete review checklist — it highlights where your attention matters most.

Security

  • .worktreeinclude — New file explicitly copies .env and **/.env into worktree workspaces (../<name>-timestamp/); confirm the trust model matches how worktrees are used and that they don't outlive the host workspace's secret-handling boundary

Config / Infrastructure

  • .github/dependabot.yml — Adds three new ecosystems (npm root, uv at /fastapi, gomod at /go-api) with weekly patch-only updates + 2-day semver-patch-days cooldown; sets the steady-state Dependabot policy for all future bumps
  • lambda-api/cdk/lib/lambda-api-stack.ts (L40-54)NodejsFunction now sets explicit projectRoot and depsLockFilePath pointing one level above cdk/ so bundling can reach lambda-api/src/handler.ts; affects what gets packaged into the deployed Lambda

New Dependencies

  • lambda-api/cdk/package.jsonaws-cdk-lib 2.248.02.254.0 (six minor versions). Required to drop the bundled vulnerable fast-uri, but the newer version is what forced the projectRoot change above — sanity-check synth output against last deploy
  • nuxt-api/package-lock.jsonnpm audit fix pulled in nitropack and esbuild@0.28 as new transitives (~580-line lockfile churn). Confirm nuxt-api dev/build/test still works before relying on this branch
  • go-api/go.modgo 1.26.21.26.3 patches GO-2026-4971 in the net stdlib; CI installs the toolchain from go.mod via setup-go's go-version-file, so every contributor running locally also needs ≥1.26.3

<!-- /pr-human-guide -->

- Configure dependabot for npm and uv ecosystems with weekly patch-only updates and 2-day cooldown
- Add .worktreeinclude so .env files are available inside worktree copies
- Set CLAUDE_CODE_SUBAGENT_MODEL=sonnet for subagent runs
- Sync upstream skills (js-deps, learn, peer-review, pr-comments, pr-human-guide, ship-it, uv-deps)
- Record CLAUDE.md learnings about settings.json stash behavior, zsh status readonly, and post-push /pr-comments
- Add cooldown to cspell dictionary
Copilot AI review requested due to automatic review settings May 15, 2026 09:23
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates repository automation and agent/tooling guidance for dependency maintenance, worktree environment handling, and Claude subagent behavior.

Changes:

  • Adds patch-only weekly Dependabot entries for npm and uv with cooldowns.
  • Adds .worktreeinclude for .env propagation into worktrees.
  • Updates Claude settings/guidance, cspell words, and synced skill lock hashes.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/dependabot.yml Adds npm and uv Dependabot update configurations.
.worktreeinclude Includes root and nested .env files for worktrees.
.claude/settings.json Pins subagent model via environment setting.
CLAUDE.md Records new operational learnings and PR follow-up workflow.
cspell.config.yaml Adds cooldown to the accepted word list.
skills-lock.json Updates synced upstream skill hashes.

Comment thread .github/dependabot.yml Outdated
semver-patch-days: 2

- package-ecosystem: "uv"
directory: "/"
- Add gomod ecosystem (go-api) with the same patch-only + cooldown policy
- Repoint uv from / to /fastapi (where pyproject.toml lives)
- Ignore .claude/worktrees/ (ephemeral worktree workspaces)
- Add 'gomod' to cspell dictionary
CI surfaced GHSA-q3j6-qgpj-74h6 and GHSA-v39h-62p7-jpjc on fast-uri.

- Add 'fast-uri': '3.1.2' override in api, yoga-api, nest-api, angular-ui, angular-spring-ui, lambda-api/cdk
- Bump aws-cdk-lib 2.248.0 -> 2.254.0 in lambda-api/cdk to fix bundled fast-uri (overrides cannot reach bundleDependencies)
- Run npm audit fix --package-lock-only across packages where pre-existing high advisories surfaced once the fast-uri block was removed (lambda-api, nest-api, nest-history-api, nuxt-api, svelte-ui, ui, angular-ui, angular-spring-ui)

npx -y audit-ci --high passes for all 19 npm packages locally.
govulncheck flagged net@go1.26.2 — Panic in Dial and LookupPort when handling NUL byte on Windows. Fixed in net@go1.26.3.

setup-go reads go-version-file: go-api/go.mod, so bumping the go directive forces CI onto 1.26.3.
…n aws-cdk-lib@2.254.0

npm install --package-lock-only missed a bundled nested dependency (@aws-cdk/cloud-assembly-api/jsonschema@1.4.1). A full npm install captured it, restoring lockfile/manifest parity so npm ci passes in CI.
…b 2.254.0

aws-cdk-lib 2.254.0 enforces entryPath must be under projectRoot (defaults to package-lock.json's directory). The handler lives in ../../src/handler.ts (lambda-api/src), outside lambda-api/cdk. Set projectRoot and depsLockFilePath to lambda-api/ so bundling resolves correctly. Local 'npm test' in lambda-api/cdk passes.
Add .claude/skills/dev to gitignore (externally-sourced symlink) and update skills-lock.json hashes after upstream skill sync.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 26 changed files in this pull request and generated 1 comment.

Files not reviewed (11)
  • angular-spring-ui/package-lock.json: Language not supported
  • angular-ui/package-lock.json: Language not supported
  • api/package-lock.json: Language not supported
  • lambda-api/cdk/package-lock.json: Language not supported
  • lambda-api/package-lock.json: Language not supported
  • nest-api/package-lock.json: Language not supported
  • nest-history-api/package-lock.json: Language not supported
  • nuxt-api/package-lock.json: Language not supported
  • svelte-ui/package-lock.json: Language not supported
  • ui/package-lock.json: Language not supported
  • yoga-api/package-lock.json: Language not supported

Comment thread CLAUDE.md
…nc requirement

Add a parallel cross-cutting pattern entry describing the same post-push bot-review-feedback workflow recorded in CLAUDE.md, so the Copilot sync rule (CLAUDE.md:19) is satisfied without making the new rule Claude-only.

Co-authored-by: Copilot <Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 15 out of 27 changed files in this pull request and generated no new comments.

Files not reviewed (11)
  • angular-spring-ui/package-lock.json: Language not supported
  • angular-ui/package-lock.json: Language not supported
  • api/package-lock.json: Language not supported
  • lambda-api/cdk/package-lock.json: Language not supported
  • lambda-api/package-lock.json: Language not supported
  • nest-api/package-lock.json: Language not supported
  • nest-history-api/package-lock.json: Language not supported
  • nuxt-api/package-lock.json: Language not supported
  • svelte-ui/package-lock.json: Language not supported
  • ui/package-lock.json: Language not supported
  • yoga-api/package-lock.json: Language not supported

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants