Summary
The README instructs users to install sketchbook-ui via npm install sketchbook-ui, and the repository contains a properly configured vite.config.lib.ts, .npmignore, and package.json with a files field — all the infrastructure needed for npm publishing. However, the "Releases" section on GitHub shows no releases have been published, meaning the npm package is either stale or the publish step is entirely manual with no documented process. A GitHub Actions release workflow would automate versioning, build, and publish on every tagged release.
Problem
- There is no automated npm publish workflow in
.github/workflows/.
- The current
.github/workflows/ directory appears to contain only the Storybook deploy action, not a release pipeline.
- Without an automated release workflow, the npm package can only be published by the maintainer running
npm publish manually — with no changelog, no version tag on GitHub, and no reproducible process.
- Contributors cannot tell what version is currently published on npm, whether it matches
main, or how to trigger a release.
- For a library with 287 stars and active contributions, this gap means user-facing fixes may sit merged on
main for an unknown amount of time before reaching npm consumers.
Impact
- Bug fixes and new components merged into
main do not reach npm consumers until the maintainer manually remembers to publish.
- There is no CHANGELOG connecting npm versions to specific commits or features.
- New contributors cannot understand the release process or confidently target a specific version.
Proposed Solution
Add a GitHub Actions release workflow that triggers on a version tag push (v*.*.*), builds the library, and publishes to npm using a stored NPM_TOKEN secret.
# .github/workflows/release.yml
name: Release
on:
push:
tags:
- 'v*.*.*'
jobs:
publish:
name: Build & Publish to npm
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
registry-url: 'https://registry.npmjs.org'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Type check
run: npx tsc --noEmit
- name: Build library
run: npm run build:lib
- name: Publish to npm
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
Additional notes:
- The
NPM_TOKEN secret needs to be added to the repository settings by the maintainer once — the workflow handles everything else.
generate_release_notes: true will automatically produce a changelog from PR titles and commit messages since the last tag.
- I will also add a brief
RELEASING.md document explaining how to cut a release (tag + push) so the process is documented for maintainers and future contributors.
Could you please assign this issue to me?
Labels: enhancement, ci/cd, release, GSSoC 2026
Summary
The README instructs users to install sketchbook-ui via
npm install sketchbook-ui, and the repository contains a properly configuredvite.config.lib.ts,.npmignore, andpackage.jsonwith afilesfield — all the infrastructure needed for npm publishing. However, the "Releases" section on GitHub shows no releases have been published, meaning the npm package is either stale or the publish step is entirely manual with no documented process. A GitHub Actions release workflow would automate versioning, build, and publish on every tagged release.Problem
.github/workflows/..github/workflows/directory appears to contain only the Storybook deploy action, not a release pipeline.npm publishmanually — with no changelog, no version tag on GitHub, and no reproducible process.main, or how to trigger a release.mainfor an unknown amount of time before reaching npm consumers.Impact
maindo not reach npm consumers until the maintainer manually remembers to publish.Proposed Solution
Add a GitHub Actions release workflow that triggers on a version tag push (
v*.*.*), builds the library, and publishes to npm using a storedNPM_TOKENsecret.Additional notes:
NPM_TOKENsecret needs to be added to the repository settings by the maintainer once — the workflow handles everything else.generate_release_notes: truewill automatically produce a changelog from PR titles and commit messages since the last tag.RELEASING.mddocument explaining how to cut a release (tag + push) so the process is documented for maintainers and future contributors.Could you please assign this issue to me?
Labels:
enhancement,ci/cd,release,GSSoC 2026