chore(deps): update devdependency @shelve/cli to v5#160
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #160 +/- ##
==========================================
- Coverage 68.74% 68.70% -0.04%
==========================================
Files 128 128
Lines 2700 2700
Branches 580 580
==========================================
- Hits 1856 1855 -1
- Misses 438 439 +1
Partials 406 406
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
renovate
Bot
force-pushed
the
renovate/shelve-cli-5.x
branch
13 times, most recently
from
May 4, 2026 18:48
9686537 to
f8608b8
Compare
renovate
Bot
force-pushed
the
renovate/shelve-cli-5.x
branch
8 times, most recently
from
May 12, 2026 16:53
ad4819c to
8b71cd4
Compare
renovate
Bot
force-pushed
the
renovate/shelve-cli-5.x
branch
5 times, most recently
from
May 24, 2026 11:36
49cd070 to
ad5fa31
Compare
renovate
Bot
force-pushed
the
renovate/shelve-cli-5.x
branch
3 times, most recently
from
May 26, 2026 16:40
0399830 to
17d98bc
Compare
renovate
Bot
force-pushed
the
renovate/shelve-cli-5.x
branch
from
May 27, 2026 11:22
17d98bc to
4b2b1c9
Compare
RedStar071
approved these changes
Jun 25, 2026
# Conflicts: # package.json # pnpm-lock.yaml Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
Merged
blacksmith-sh Bot
pushed a commit
that referenced
this pull request
Jun 28, 2026
Resolve the pnpm-lock.yaml conflict from merging origin/main, which bumped @shelve/cli to 5.0.1 (#160). Regenerated the lockfile from the merged package.json; the vite-plus suite stays aligned on 0.1.19 so Benchmarks and Lint remain green.
RedStar071
added a commit
that referenced
this pull request
Jun 30, 2026
This PR will deploy the following changes to production (`wolfstar.rocks`). **Next version: `v0.8.0`** (current: `v0.7.4`) ### Features - feat(ui): add WolfStar logo mark to header with accessibility tests (#252) (`581a22bd`) - feat: bootstrap Storybook and Chromatic integration (#209) (`bd3107ea`) - feat(ui): add WolfStar logo mark to header (#251) (`df3d7a88`) - feat(auth): make session cookie name configurable per deployment (#250) (`3b408d0e`) - feat: add session refresh on app mount and document visibility (#248) (`fadf006b`) - feat(feedback): prefill dashboard feedback from OAuth email (#241) (`b4c9d067`) - feat(sentry): add Sentry user feedback with custom site design (#239) (`9478a08d`) - feat(discord): enhance manageable guild filtering and loading state handling (#236) (`13113c53`) - feat(dashboard): dashboard audit log system with slideover UI (#144) (`2e3b629d`) ### Fixes - fix(sentry): delete client source maps after upload to prevent public exposure (#243) (`1a6125e6`) - fix(ui): align feedback and scroll-to-top floating buttons (#240) (`8a06d1d0`) ### Other Changes - docs: restructure contributing guide and add zizmor dev tasks (#258) (`608a9a5d`) - test(a11y): consolidate app component accessibility audits into a11y.spec (#257) (`c13329b0`) - chore(deps): update Prisma to v7.8.0 and TypeScript to v6.0.3 (#256) (`cc62791e`) - chore(deps): update all non-major dependencies (#205) (`19cfb004`) - chore(deps): update devdependency @shelve/cli to v5 (#160) (`ead2b558`) - chore(deps): update devdependency @e18e/eslint-plugin to v0.5.0 (#207) (`6295e7e3`) - ci: block compromised npm packages with Socket Firewall Free (#254) (`342694dc`) - ci: migrate workflows to Blacksmith runners (#253) (`69264375`) - refactor: replace intersection observer with scroll-driven animations (#247) (`b015ab4e`) - chore: update skills skilld (#249) (`a69d33c9`) - chore(deps): update dependency vite-plus to v0.1.22 (#174) (`2662f244`) - chore(deps): update nuxt core (#196) (`182f3dec`) - chore(deps): update devdependency jsdom to v29 (#208) (`93e426bb`) - chore(docs): consolidate agent instructions and add design lint (#246) (`856192bf`) - chore(docs): update AGENTS.md to reflect recent changes (#245) (`b8d5a73f`) - chore(docs): update AGENTS.md to reflect recent changes (#242) (`03083f6e`) --- > Merging this PR will: > - Deploy to `wolfstar.rocks` via Netlify > - Create a `v0.8.0` tag and GitHub Release
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.2.0→5.0.1Release Notes
HugoRCD/shelve (@shelve/cli)
v5.0.1Compare Source
Patch Changes
d63f766Thanks @HugoRCD! - Add test coverage for the v5 additions — encrypted offline cache (roundtrip / TTL / token rotation / tampering), OS-keychain credentials with XDG file fallback and legacy~/.shelvemigration, agent-ignore files,shelve://secret references, andparseDuration. Along the way,CredentialsServicenow creates$XDG_CONFIG_HOMEon demand so writes no longer fail on freshly provisioned machines.v5.0.0Major Changes
#731
af6266eThanks @HugoRCD! - Makeshelve runthe default secret-injection path with offline support, secret references, watch mode, and AI-agent guards. Move CLI credentials to the OS keychain.OS keychain storage
@napi-rs/keyring(macOS Keychain, libsecret, Windows Credential Manager). The fallback file is XDG-compliant (~/.config/.shelve, mode0600) and the legacy~/.shelveis migrated automatically on first read.rc9.readUser/rc9.writeUserare deprecated; we now usereadUserConfig/writeUserConfig.shelve logoutclears both the keychain entry and the rc file.Encrypted offline cache
shelve runwrites an AES-256-GCM cache at~/.shelve/cache/<sha256(team:project:env)>.json.enc, with the key derived from the API token via HKDF. Revoking the token makes the cache unreadable.--offline(force cache, fail if absent),--no-cache(never read or write),--cache-ttl 24h(override freshness).shelve runtransparently falls back to a fresh-enough cache and prints a warning instead of crashing.Secret references
shelve run --template .env.templateresolvesshelve://<team>/<project>/<env>/<KEY>references against the live or cached secrets, leaving literal values untouched. The template file can be safely committed to Git.Watch mode
shelve run --watchpolls Shelve for variable changes and forwardsSIGHUPto the child on update (let Vite/Nuxt/Next handle the reload). Use--restart-on-changeto instead kill and respawn.AI-agent guards
shelve initwrites.cursorignore,.aiderignore,.codeiumignore,.continueignore, and a# shelve-managed-blockin.gitignoreto keep.envout of model contexts.shelve pullnow detects AI-agent environments viastd-env(cursor,claude,devin,replit,gemini,codex,auggie,opencode,kiro,goose,pi) and prompts before writing plaintext secrets to disk (skip with--yes). SetAI_AGENT=<name>to force-detect.#732
5e8bf14Thanks @HugoRCD! - Harden API token storage, switch CLI auth toAuthorization: Bearer, and add scoped tokens.Breaking — token format and storage
crypto.randomBytes(32)+ Crockford base32 (no moreMath.random) and stored assha256(token)alongside a non-secret prefix. Plaintext is returned only at creation and never readable again. Existing tokens are invalidated by the migration — re-issue them after upgrading.GET /api/tokensno longer returns plaintext token values; onlyprefix,name,scopes,expiresAt,lastUsedAt,lastUsedIpare exposed.timingSafeEqualinstead of decrypting every token in a loop.Breaking — CLI authentication
Authorization: Bearer <token>instead ofCookie: authToken=…. The cookie path still works for one release window withDeprecationandSunsetresponse headers.New — scoped tokens
teamIds,projectIds,environmentIds, andpermissions: ('read' | 'write')[]. Scopes are enforced server-side viarequireTokenScope.expiresAtand a CIDRallowedCidrsallowlist.lastUsedAtandlastUsedIpare written on each authenticated request.The token UI (
/user/tokensand the create dialog) shows the prefix instead of the full token, displays scopes/expiry/last-used columns, and reveals the secret value only once at creation.Patch Changes
#730
59d2bf3Thanks @HugoRCD! - Fixshelve runsubprocess handling and add missing dependencies.tinyexec+tree-killtonode:child_process.spawnwith proper process-group signal forwarding (process.kill(-pid, signal)on POSIX). Resolves the long-standingchildPidbug where signals were never propagated and child trees were left as zombies.npxfallback (~200 ms cold start, broken signals) and use the localnode_modules/.bin/nrdirectly when shorthand commands likepnpm devare passed.tinyexecandconsolaas direct dependencies of@shelve/cli. They were transitive-only before, so installs under npm/yarn/bun broke as soon as pnpm hoisting wasn't there to save the day.#732
4c3fa8dThanks @HugoRCD! - Fixshe_…undefined…tokens: the Crockford base32 alphabet was missing twosymbols (only 30 chars instead of 32), so two random bits per token mapped to
undefinedand ended up baked into the literal token string. Switched to thestandard 32-char Crockford alphabet (
0-9+A-ZminusI/L/O/U).Tokens generated before this fix (with
undefinedbaked in) keep working —the hash is deterministic against whatever string was issued — but you should
rotate them: they're shorter than advertised in entropy and noticeably ugly.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.