This document describes how to create releases and publish the @currents/mcp package to npm.
The release process is split into two steps:
- Create Release - Bumps version, updates changelog, creates git tag and GitHub release
- Publish to NPM - Builds and publishes the package to npm
This separation allows for testing releases before publishing and supports multiple npm distribution channels (alpha, beta, latest).
- Push access to the repository
- For npm publishing:
NPM_TOKENsecret configured in GitHub repository settings
Releases are created via GitHub Actions or locally using release-it with conventional commits.
- Go to Actions → Create Release
- Click Run workflow
- Optionally enable Dry run to preview changes without creating an actual release
- Click Run workflow
The workflow will:
- Run the test suite
- Analyze commits since the last tag to determine the version bump:
feat:commits → minor version bump (e.g., 2.1.0 → 2.2.0)fix:commits → patch version bump (e.g., 2.1.0 → 2.1.1)BREAKING CHANGE:in commit body → major version bump (e.g., 2.1.0 → 3.0.0)
- Update
CHANGELOG.mdwith new entries - Bump version in
package.json - Create a git commit:
chore: release v<version> - Create a git tag:
v<version> - Create a GitHub release with auto-generated notes
- Must be run from the
mainbranch - Working directory must be clean (no uncommitted changes)
After creating a release, publish to npm via GitHub Actions.
- Go to Actions → Publish NPM Package
- Click Run workflow
- Select the NPM tag (distribution channel):
alpha- Early development versionsbeta- Pre-release versions for testinglatest- Stable production releasesoldversion- For publishing older/patched versions
- Click Run workflow
The workflow will:
- Build the TypeScript project
- Copy
README.mdfrom the repository root tomcp-server/ - Clean
devDependenciesfrompackage.jsonfor a lighter package - Run
npm pack --dry-runto preview the package contents - Publish to npm with the selected tag
For a typical release:
- Create Release → creates version 2.3.0
- Publish to NPM with tag
beta→ users can install withnpm install @currents/mcp@beta - Test the beta release
- Promote beta to latest (or publish again with
latesttag)
To promote a beta release to the latest tag without re-publishing:
- Go to Actions → NPM - Promote beta to latest
- Click Run workflow
- Enter the version to promote (e.g.,
2.3.0) - Click Run workflow
The workflow will:
- Add the
latestdist-tag to the specified version - Remove the
betadist-tag from that version
This is useful when you've tested a beta release and want to make it the default install without rebuilding.
cd mcp-server
npm run release:dryIf you need to publish manually:
cd mcp-server
npm run publish:mcp -- -- --tag betaNote: This requires NPM_TOKEN to be set in your environment and will modify local files.
Commit or stash your changes before running the release workflow.
The release workflow must be triggered from the main branch. Merge your changes first.
Verify the NPM_TOKEN secret is correctly configured in the repository settings.
The publish script copies README.md from the repository root. Ensure the root README exists and is not empty.
Follow Conventional Commits for automatic version bumping:
feat: add new tool for fetching test artifacts
fix: handle missing API key gracefully
docs: update setup instructions
chore: update dependencies
refactor: simplify request handling
feat!: redesign API response format
BREAKING CHANGE: response structure has changed
| Prefix | Version Bump | Example |
|---|---|---|
feat: |
Minor | 2.1.0 → 2.2.0 |
fix: |
Patch | 2.1.0 → 2.1.1 |
feat!: or BREAKING CHANGE: |
Major | 2.1.0 → 3.0.0 |
docs:, chore:, refactor: |
No bump | - |