shapeshift

hdwallet-verdaccio-local-publish-pipeline

@shapeshift/hdwallet-verdaccio-local-publish-pipeline
shapeshift
200
198 forks
Updated 1/18/2026
View on GitHub

Publishes hdwallet packages locally to verdaccio and updates them in the web repo. Use when you need to publish hdwallet locally, publish to verdaccio, run the verdaccio publish pipeline, or test hdwallet changes locally.

Installation

$skills install @shapeshift/hdwallet-verdaccio-local-publish-pipeline
Claude Code
Cursor
Copilot
Codex
Antigravity

Details

Repositoryshapeshift/web
Path.claude/skills/hdwallet-verdaccio-local-publish-pipeline/SKILL.md
Branchdevelop
Scoped Name@shapeshift/hdwallet-verdaccio-local-publish-pipeline

Usage

After installing, this skill will be available to your AI coding assistant.

Verify installation:

skills list

Skill Instructions


name: hdwallet-verdaccio-local-publish-pipeline description: Publishes hdwallet packages locally to verdaccio and updates them in the web repo. Use when you need to publish hdwallet locally, publish to verdaccio, run the verdaccio publish pipeline, or test hdwallet changes locally. allowed-tools: Bash, Read, TodoWrite, AskUserQuestion

hdwallet-verdaccio-local-publish-pipeline

This skill automates the complete hdwallet local publish pipeline.

Pipeline Steps

This skill runs the complete hdwallet publish pipeline:

0. Configure registry for Verdaccio (REQUIRED - FIRST PUBLISH IN SESSION)

IMPORTANT: This must be done at the START of every new Claude session before any publish. The registry config does NOT persist between Claude sessions.

Run in BOTH repos (hdwallet AND web):

yarn config set npmRegistryServer http://127.0.0.1:4873 && npm set registry http://127.0.0.1:4873

Verify with: npm config get registry (should show http://127.0.0.1:4873)

Once configured for this session, follow-up publishes don't need to run this again.

1. Build hdwallet

In the hdwallet repo (../shapeshiftHdWallet, or whichever is the path for hdwallet):

  • yarn && yarn build

2. Version and publish to verdaccio

  • Ask user for semver feature name (FIRST TIME ONLY)
    • Must be either a single word OR use hyphens as delimiters (e.g., sol-sig-fix, not sol_sig_fix)
    • Underscores are NOT allowed in npm package versions
  • Determine the alpha version:
    • Current version (e.g., 1.62.5) → next is 1.62.6-<feature-name>.0
    • If already on an alpha (e.g., 1.62.6-<feature-name>.0) → increment to .1, .2, etc.
  • Version packages: npx lerna version prerelease --preid <feature-name> --no-git-tag-version --no-push --yes
  • Commit version changes: git add -A && git commit -m "chore: version packages to <version>"
  • Publish: npx lerna publish from-package --no-git-tag-version --no-push --yes

3. Update web repo dependencies

In the ShapeShift web repo (Current repo clause is being ran from):

  • yarn up '@shapeshiftoss/hdwallet-*@<version>'

4. Verify all hdwallet references were updated

After running yarn up, verify that ALL package.json files with hdwallet dependencies were updated:

  • Root package.json
  • packages/chain-adapters/package.json
  • packages/swapper/package.json

Verification commands:

grep "@shapeshiftoss/hdwallet-" package.json | head -20
grep "@shapeshiftoss/hdwallet-" packages/chain-adapters/package.json
grep "@shapeshiftoss/hdwallet-" packages/swapper/package.json

If any packages were NOT updated: Simply edit the files directly and replace the old version with the new version:

  • Edit packages/chain-adapters/package.json
  • Edit packages/swapper/package.json
  • Find/replace old hdwallet version with new version

Important Notes

  • Assumes user ran Claude from web repo with --add-dir ../shapeshiftHdWallet (or their hdwallet dir)
  • Verdaccio must be running on http://127.0.0.1:4873
  • Feature name must use hyphens, not underscores (npm version requirement)
  • If lerna publish fails due to uncommitted changes, commit them first
  • The publish process rebuilds all packages automatically (prepublishOnly hooks)

Example

# First alpha for a new feature
1.62.5 → 1.62.6-sol-sig-fix.0

# Subsequent alphas
1.62.6-sol-sig-fix.0 → 1.62.6-sol-sig-fix.1
1.62.6-sol-sig-fix.1 → 1.62.6-sol-sig-fix.2