- Remove `private: true` from gateway package.json
- Add bin entry (mosaic-gateway), files array, npmjs publishConfig
- Add shebang to main.ts for bin execution
- New scripts/publish-npmjs.sh that patches @mosaic/* → @mosaicstack/*,
resolves workspace deps to real versions, publishes to npmjs, restores
- Add publish-npmjs CI step in Woodpecker (runs on tags only)
- Update Gitea publish step comments for clarity
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>