Skip to main content
Glama
PUBLISHING_CHECKLIST.md5.52 kB
# PyPI Publishing Checklist - mcp-skillset v0.1.0 ## Pre-Publication Status ✅ All tasks completed and ready for PyPI publication! ### Files Updated/Created - [x] **pyproject.toml** - Updated with real GitHub URLs (bobmatnyc/mcp-skillset) - [x] **CHANGELOG.md** - Created comprehensive v0.1.0 release notes - [x] **docs/publishing.md** - Complete PyPI publishing guide - [x] **README.md** - Added PyPI badges and updated status to "Production Ready" - [x] **MANIFEST.in** - Created to manage distribution file inclusion - [x] **setup.py** - Removed (not needed with pyproject.toml) ### Package Verification ```bash ✅ Package builds successfully ✅ Source distribution: dist/mcp_skills-0.1.0.tar.gz (52K) ✅ Wheel distribution: dist/mcp_skills-0.1.0-py3-none-any.whl (55K) ✅ Twine check: PASSED for both distributions ✅ All necessary files included in distribution ``` ## Next Steps for Publishing ### 1. Pre-Flight Checks Run these commands to ensure everything is ready: ```bash # Clean and rebuild make clean python3 -m build # Verify package quality python3 -m twine check dist/* # Run all tests make quality ``` ### 2. Test with TestPyPI (RECOMMENDED) Before publishing to production PyPI, test with TestPyPI: ```bash # Upload to TestPyPI twine upload --repository testpypi dist/* # Test installation in clean environment python3 -m venv test-env source test-env/bin/activate pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ mcp-skillset # Verify functionality mcp-skillset --version mcp-skillset health # Clean up deactivate rm -rf test-env ``` ### 3. Publish to PyPI Once TestPyPI installation works: ```bash # Upload to production PyPI twine upload dist/* ``` **Note**: This action cannot be undone. You cannot re-upload the same version. ### 4. Post-Publication Tasks ```bash # Create git tag git tag -a v0.1.0 -m "Release version 0.1.0" git push origin v0.1.0 # Create GitHub Release # Go to: https://github.com/bobmatnyc/mcp-skillset/releases/new # - Tag: v0.1.0 # - Title: v0.1.0 - Initial Release # - Description: Copy from CHANGELOG.md # - Attach: dist/mcp_skills-0.1.0.tar.gz and dist/mcp_skills-0.1.0-py3-none-any.whl ``` ### 5. Update Development Version ```bash # Update pyproject.toml version to next dev version # Change: version = "0.1.0" -> version = "0.2.0-dev" git add pyproject.toml git commit -m "chore: bump version to 0.2.0-dev" git push origin main ``` ## Package Contents Verification ### Source Distribution Contents ``` ✅ CHANGELOG.md ✅ LICENSE ✅ MANIFEST.in ✅ PKG-INFO ✅ README.md ✅ pyproject.toml ✅ src/mcp_skills/ (all Python files) ✅ src/mcp_skills/VERSION ✅ src/mcp_skills/py.typed ``` ### Metadata Verification - **Name**: mcp-skillset (package name on PyPI) - **CLI Command**: mcp-skillset (command line interface) - **Version**: 0.1.0 - **Homepage**: https://github.com/bobmatnyc/mcp-skillset - **Repository**: https://github.com/bobmatnyc/mcp-skillset.git - **Issues**: https://github.com/bobmatnyc/mcp-skillset/issues - **License**: MIT - **Python Versions**: >=3.11 - **Author**: MCP Skills Contributors ### Entry Point Verification ```bash # CLI entry point configured: mcp-skillset = "mcp_skills.cli.main:cli" ``` ## Quality Metrics - **Test Coverage**: 85-96% - **Total Tests**: 48 (37 unit + 11 integration) - **Integration Test Time**: <10 seconds - **Code Quality**: All linting and type checks passing ## Documentation Links - **Publishing Guide**: [docs/publishing.md](docs/publishing.md) - **Changelog**: [CHANGELOG.md](CHANGELOG.md) - **README**: [README.md](README.md) - **Architecture**: [docs/architecture/README.md](docs/architecture/README.md) ## Important Notes ### API Token Setup Required Before publishing, you must configure PyPI API tokens: 1. Create accounts on PyPI and TestPyPI 2. Generate API tokens 3. Configure `~/.pypirc` (see docs/publishing.md) ### One-Time Actions These have been completed and don't need to be repeated: - ✅ GitHub URLs updated from placeholders - ✅ Package structure verified - ✅ Documentation created - ✅ MANIFEST.in configured - ✅ Unnecessary setup.py removed ### Can Be Repeated These actions are safe to run multiple times: - Building the package (`python3 -m build`) - Running tests (`make quality`) - Checking with twine (`twine check dist/*`) - Testing with TestPyPI ### Cannot Be Undone These actions are permanent: - Publishing to production PyPI - Creating git tags (can be deleted but not recommended) - GitHub releases (can be deleted but not recommended) ## Troubleshooting If issues occur during publishing, see the comprehensive troubleshooting section in [docs/publishing.md](docs/publishing.md). Common issues covered: - File already exists error - README not rendering - Missing dependencies - Import errors - Authentication failures ## Success Criteria - [x] Package builds without errors - [x] Twine check passes - [x] All necessary files included - [x] Documentation complete - [x] Version set correctly (0.1.0) - [x] GitHub URLs correct - [x] Badges added to README - [ ] TestPyPI installation successful (pending user action) - [ ] Production PyPI publication (pending user action) - [ ] GitHub release created (pending user action) --- **Status**: Ready for Publication ✅ **Last Updated**: 2025-11-23 **Package Version**: 0.1.0 **Next Action**: Follow steps in [docs/publishing.md](docs/publishing.md) to publish to TestPyPI first, then production PyPI.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bobmatnyc/mcp-skills'

If you have feedback or need assistance with the MCP directory API, please join our Discord server