diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 101e40c..4edbc15 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -45,7 +45,7 @@ jobs: publish: runs-on: ubuntu-latest if: github.event_name == 'release' - environment: release + environment: Release needs: [build, test] permissions: @@ -80,6 +80,6 @@ jobs: echo "tag=" >> $GITHUB_OUTPUT fi + # Uses OIDC trusted publishing - no NPM_TOKEN needed + # Configure at: https://www.npmjs.com/package/@modelcontextprotocol/ext-apps/access - run: npm publish --provenance --access public ${{ steps.npm-tag.outputs.tag }} - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8ec033b..310bc20 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -60,16 +60,21 @@ Please review our [Security Policy](SECURITY.md) for reporting security vulnerab ### Repository Setup +This repository uses [npm trusted publishing](https://docs.npmjs.com/trusted-publishers/) with OIDC - no secrets required. + Before publishing releases, ensure the following are configured: -1. **NPM_TOKEN secret**: Add an npm automation token to the repository secrets - - Go to Settings � Secrets and variables � Actions - - Create a new secret named `NPM_TOKEN` - - Value: an npm automation token with publish permissions for `@modelcontextprotocol/ext-apps` +1. **Trusted publisher on npm**: Configure the package to trust this GitHub repository + - Go to https://www.npmjs.com/package/@modelcontextprotocol/ext-apps/access + - Under "Trusted Publishers", click "Add trusted publisher" + - Select "GitHub Actions" + - Repository: `modelcontextprotocol/ext-apps` + - Workflow filename: `npm-publish.yml` + - Environment: `Release` (optional, for additional protection) -2. **`release` environment** (optional): Create a protected environment for additional safeguards - - Go to Settings � Environments � New environment - - Name it `release` +2. **`Release` environment** (optional): Create a protected environment for additional safeguards + - Go to Settings > Environments > New environment + - Name it `Release` - Add required reviewers or other protection rules as needed ### Publishing a Release diff --git a/package-lock.json b/package-lock.json index 2a59598..81f04cf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@modelcontextprotocol/ext-apps", - "version": "0.0.1", + "version": "0.0.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@modelcontextprotocol/ext-apps", - "version": "0.0.1", + "version": "0.0.3", "license": "MIT", "workspaces": [ "examples/*" diff --git a/package.json b/package.json index 35aa206..8d851e4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "homepage": "https://github.com/modelcontextprotocol/ext-apps", "name": "@modelcontextprotocol/ext-apps", - "version": "0.0.2", + "version": "0.0.3", "license": "MIT", "description": "MCP Apps SDK — Enable MCP servers to display interactive user interfaces in conversational clients.", "type": "module",