120 lines
2.1 KiB
Markdown
120 lines
2.1 KiB
Markdown
# Publishing Goalie to npm
|
|
|
|
## 📦 Package Ready for Publishing
|
|
|
|
The Goalie package is now properly configured for npm publishing with:
|
|
|
|
- ✅ Proper package.json with all required fields
|
|
- ✅ MIT License file
|
|
- ✅ .npmignore to exclude dev files
|
|
- ✅ CLI with shebang for npx execution
|
|
- ✅ Pre-publish build scripts
|
|
- ✅ TypeScript compilation
|
|
|
|
## 🚀 Publishing Steps
|
|
|
|
### 1. Prerequisites
|
|
|
|
```bash
|
|
# Ensure you're logged into npm
|
|
npm login
|
|
|
|
# Verify your npm account
|
|
npm whoami
|
|
```
|
|
|
|
### 2. Pre-publish Check
|
|
|
|
```bash
|
|
# Clean and build
|
|
npm run clean
|
|
npm run build
|
|
|
|
# Test the package locally
|
|
npm pack
|
|
# This creates a .tgz file - inspect it to ensure only necessary files are included
|
|
|
|
# Test CLI works
|
|
node dist/cli.js --help
|
|
```
|
|
|
|
### 3. Version Management
|
|
|
|
```bash
|
|
# For patch version (1.0.0 -> 1.0.1)
|
|
npm version patch
|
|
|
|
# For minor version (1.0.0 -> 1.1.0)
|
|
npm version minor
|
|
|
|
# For major version (1.0.0 -> 2.0.0)
|
|
npm version major
|
|
```
|
|
|
|
### 4. Publish to npm
|
|
|
|
```bash
|
|
# Dry run to see what will be published
|
|
npm publish --dry-run
|
|
|
|
# Actual publish
|
|
npm publish
|
|
|
|
# For first time publishing with specific tag
|
|
npm publish --tag latest
|
|
```
|
|
|
|
## 🔍 Verification After Publishing
|
|
|
|
```bash
|
|
# Test npx command works
|
|
npx goalie --help
|
|
|
|
# Test MCP server starts
|
|
npx goalie start
|
|
|
|
# Check package on npm
|
|
npm view goalie
|
|
```
|
|
|
|
## 📋 Package Contents
|
|
|
|
The published package includes:
|
|
- `dist/` - Compiled JavaScript
|
|
- `README.md` - Documentation
|
|
- `LICENSE` - MIT license
|
|
- `package.json` - Package configuration
|
|
|
|
## 🔄 Updating the Package
|
|
|
|
For future updates:
|
|
|
|
```bash
|
|
# 1. Make your changes
|
|
# 2. Update version
|
|
npm version patch # or minor/major
|
|
|
|
# 3. Publish
|
|
npm publish
|
|
```
|
|
|
|
## 📝 Notes
|
|
|
|
- The package name "goalie" must be available on npm
|
|
- If name is taken, consider:
|
|
- `@ruv/goalie`
|
|
- `goalie-ai`
|
|
- `goalie-research`
|
|
- Remember to update GitHub repository URL in package.json if different
|
|
|
|
## 🎯 Post-Publish
|
|
|
|
After successful publishing:
|
|
|
|
1. **Update README badges** with npm version
|
|
2. **Create GitHub release** matching npm version
|
|
3. **Test installation** on clean system:
|
|
```bash
|
|
npx goalie --help
|
|
```
|
|
4. **Share** the good news! 🎉 |