Shared Components Publish Workflow

SPPLT-19463 Prototype Created: 2026-10-01

Overview

Automated npm publish workflow for @solidprofessorhub/shared-components with Teams notifications. Triggers on version change in package.json, validates CHANGELOG entry exists, publishes to GitHub Packages, and notifies the team.

Workflow Flow

Developer Workflow

1. Create feature branch → 2. Make changes → 3. Bump version → 4. Add CHANGELOG entry → 5. Open PR → Merge

CI Workflow (Automatic)

Step 1
Check Version
  • • Compare with previous commit
  • • Validate CHANGELOG entry
Step 2
Build & Publish
  • • Install dependencies
  • • Build package
  • • Publish to GitHub Packages
Step 3
Notify Teams
  • • Parse CHANGELOG entry
  • • Post to Teams channel
  • • Include version + links

CHANGELOG Guard

The workflow enforces that every version bump has a corresponding CHANGELOG entry. If the entry is missing, the build fails with a helpful message.

✅ Pass
## [1.26.0] - 2026-10-01

### Added
- **NewComponent** - Description
❌ Fail
Error: No CHANGELOG entry found
for version 1.26.0

Please add a changelog entry
before publishing.

Teams Notification Preview

📦 shared-components v1.26.0 published

A new version of @solidprofessorhub/shared-components has been published to GitHub Packages.

Version
1.26.0
Package
@solidprofessorhub/shared-components
What's Changed:

See CHANGELOG.md for details

Required Secrets

Secret Description Setup
GITHUB_TOKEN Auto-provided by GitHub Actions Automatic
FONTAWESOME_NPM_TOKEN For FontAwesome Pro icons Already configured
TEAMS_WEBHOOK_URL Teams incoming webhook URL DevOps

Edge Cases Handled

Scenario Behavior
No version change Workflow skips entirely
Version changed but no CHANGELOG entry ❌ Fails with helpful message
Version already published ⚠️ Skips publish, logs warning
Multiple PRs with same version First wins, second skips publish
Teams webhook not configured Notification step skipped silently
Other dev merged without publishing ⚠️ Their changes included in your publish — use /release notes first to see all changes

Developer Tooling: /release Skill

A Claude Code skill is available to help with the release process:

ℹ️
Automatic change detection

/release prep automatically shows ALL changes since the last version before bumping. This includes changes from other developers who may have merged without publishing. You'll be prompted to confirm before proceeding.

🔍
Smart version bump suggestion

/release prep analyzes commit messages to suggest the right bump type:

  • • major: BREAKING CHANGE or feat!:
  • • minor: feat: commits or new components
  • • patch: fix:, chore:, etc.

You can always override the suggestion or use /release prep patch directly.

# Recommended workflow:
# 1. Pull latest main
git checkout main && git pull
# 2. Prep release (auto-detects bump type from commits)
/release prep
# 3. Fill in the CHANGELOG (choose one):
# Option A: Auto-generate from commits
/release changelog
# Option B: Write manually in CHANGELOG.md
# 4. Validate before committing
/release check
All available commands
/release — Check if ready to release (default)
/release check — Validate release readiness
/release changelog — Generate changelog entry from recent changes
/release prep — Auto-detect bump type + scaffold CHANGELOG
/release prep [patch|minor|major] — Explicit bump type + scaffold CHANGELOG
/release notes — Show changes since last version

Location: .claude/skills/release/SKILL.md

Future Enhancements

Phase 2: Smart Notifications

  • ☐ Breaking change detection (parse for "BREAKING")
  • ☐ @mention triggers for breaking changes
  • ☐ PR-level validation for version conflicts

Phase 3: Automated Versioning

  • ☐ Changesets integration
  • ☐ Remove need for manual version bumps
  • ☐ Auto-generated CHANGELOG entries

Files