PUBLISHING.mdā¢4.8 kB
# Publishing Guide for @relentless/mcp
This guide covers how to publish the `@relentless/mcp` package to GitHub and npm.
## š¦ Package Overview
- **Package Name**: `@relentless/mcp`
- **Current Version**: 2.0.0
- **Repository**: https://github.com/pranayaryal/relentless-mcp (to be created)
- **npm Package**: https://www.npmjs.com/package/@relentless/mcp
## š Initial Setup (One-time)
### 1. Create Public GitHub Repository
```bash
# On GitHub, create a new public repository named "relentless-mcp"
# Then push your code:
git remote add origin https://github.com/pranayaryal/relentless-mcp.git
git branch -M main
git commit -m "Initial commit: Relentless MCP Server v2.0.0"
git push -u origin main
```
### 2. Set up npm Authentication
```bash
# Login to npm (if not already logged in)
npm login
# Verify you're logged in
npm whoami
```
## š Pre-Publish Checklist
Before publishing, ensure:
- [ ] Version number updated in `package.json`
- [ ] `README.md` is up to date
- [ ] All tests pass (if you add tests)
- [ ] Code builds successfully (`pnpm build`)
- [ ] Git repository is clean (all changes committed)
- [ ] Git tag matches version number
## š Publishing Workflow
### Step 1: Update Version
Use npm's version command to update the version and create a git tag:
```bash
# For patch updates (2.0.0 -> 2.0.1)
npm version patch
# For minor updates (2.0.0 -> 2.1.0)
npm version minor
# For major updates (2.0.0 -> 3.0.0)
npm version major
```
This will:
- Update `package.json` version
- Create a git commit
- Create a git tag
### Step 2: Test the Package
Do a dry-run to see what will be published:
```bash
pnpm publish:dry-run
```
Review the output to ensure:
- Correct files are included
- No sensitive files are included
- Version is correct
### Step 3: Publish to npm
```bash
# Publish to npm (this will run 'pnpm build' automatically)
pnpm publish:npm
# Or use npm directly
npm publish --access public
```
### Step 4: Push to GitHub
```bash
# Push code and tags to GitHub
git push origin main --tags
```
### Step 5: Create GitHub Release
1. Go to https://github.com/pranayaryal/relentless-mcp/releases
2. Click "Draft a new release"
3. Select the version tag (e.g., `v2.0.1`)
4. Title: `v2.0.1`
5. Description: Copy from CHANGELOG or write release notes
6. Click "Publish release"
## š ļø Available Scripts
```bash
# Build the package
pnpm build
# Clean build directory
pnpm clean
# Clean and rebuild
pnpm rebuild
# Run in development mode
pnpm dev
# Test publish (doesn't actually publish)
pnpm publish:dry-run
# Publish to npm
pnpm publish:npm
```
## š Complete Publishing Example
```bash
# 1. Make sure you're on main branch and it's clean
git status
# 2. Update version (creates commit and tag automatically)
npm version patch
# 3. Test the build
pnpm build
# 4. Dry run to verify
pnpm publish:dry-run
# 5. Publish to npm
pnpm publish:npm
# 6. Push to GitHub
git push origin main --tags
# 7. Create GitHub release (via web UI)
```
## š Security Notes
### Files Included in Package
The following files are included (defined in `package.json` `files` field):
- `build/**/*` - Compiled JavaScript and type definitions
- `README.md` - Documentation
- `claude_desktop_config.example.json` - Example configuration
### Files Excluded (via .npmignore)
- `src/` - Source TypeScript files (not needed in published package)
- `node_modules/` - Dependencies
- `.git/` - Git files
- `*.log` - Log files
- `.env` - Environment files
## š Version Strategy
Follow [Semantic Versioning](https://semver.org/):
- **MAJOR** (x.0.0): Breaking API changes
- **MINOR** (2.x.0): New features, backwards compatible
- **PATCH** (2.0.x): Bug fixes, backwards compatible
## š Useful Links
- npm Package: https://www.npmjs.com/package/@relentless/mcp
- GitHub Repo: https://github.com/pranayaryal/relentless-mcp
- Issues: https://github.com/pranayaryal/relentless-mcp/issues
- npm Documentation: https://docs.npmjs.com/
## š Troubleshooting
### "You do not have permission to publish"
```bash
# Make sure you're logged in to the correct npm account
npm whoami
# Login if needed
npm login
```
### "Package name already exists"
The package name `@relentless/mcp` must be unique. If it's taken:
1. Check if you own it: https://www.npmjs.com/package/@relentless/mcp
2. If you own it, make sure you're logged in as the right user
3. If someone else owns it, choose a different name
### "Version already published"
You cannot republish the same version. Update the version:
```bash
npm version patch
```
### Build Fails
```bash
# Clean and rebuild
pnpm clean
pnpm install
pnpm build
```
## š Support
For questions or issues:
- File an issue: https://github.com/pranayaryal/relentless-mcp/issues
- Email: [your-email]