Once you’ve created a package, you can publish it to Atmosphere to share it with the Meteor community.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/meteor/meteor/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before publishing, ensure:- You have a Meteor Developer Account
- Your package name follows the format
username:package-name - You’ve tested your package thoroughly
- Your package has a version number in
package.js - You have a good README.md
Publishing for the First Time
Publishing Updates
Update the version number
In
package.js, increment the version following semantic versioning:Semantic Versioning:
- Patch (1.0.1): Bug fixes only
- Minor (1.1.0): New features, backward compatible
- Major (2.0.0): Breaking changes
Updating Metadata Only
If you only need to update the package description or README without code changes:- Package.describe() content
- README.md
- Other metadata
Publishing for Different Architectures
Some packages contain binary code specific to an architecture (e.g., packages with npm dependencies that have native modules).Understanding Architecture Builds
When you runmeteor publish, it uploads a build for your current architecture only.
Supported architectures:
- os.osx.x86_64: macOS (Intel)
- os.linux.x86_64: 64-bit Linux
- os.linux.x86_32: 32-bit Linux
- os.windows.x86_64: 64-bit Windows
Galaxy servers run 64-bit Linux, so if your package has binary dependencies, you must publish a Linux build.
Publishing Additional Architectures
Example: Publishing for Linux
Package Versioning Guidelines
FromCONTRIBUTING.md, when updating core packages:
Patch Version (2.4.5 → 2.4.6)
Patch Version (2.4.5 → 2.4.6)
Bump the patch version if:
- Bug fixes only
- No breaking changes
- Can be released without a new Meteor version
Minor Version (2.4.5 → 2.5.0)
Minor Version (2.4.5 → 2.5.0)
Bump the minor version if:
- New features added
- Changes affect multiple parts
- Depends on meteor-tool changes
- Requires a new Meteor release
Major Version (2.4.5 → 3.0.0)
Major Version (2.4.5 → 3.0.0)
Bump the major version if:
- Breaking changes
- Major rewrite
- API changes that break existing code
Pre-Publish Checklist
Verify package.js
Check that:
- Version number is correct
- Summary is clear and concise
- Git URL is correct
- All dependencies are listed
Update README.md
Ensure your README includes:
- Installation instructions
- Usage examples
- API documentation
- Changelog
Package Maintenance
Deprecating a Package
If you’re ending development or have a replacement:Transferring Ownership
Contact Meteor support to transfer package ownership to another developer.Version History
Keep a CHANGELOG.md:Understanding the Package Cache
Published packages are stored in Meteor’s package cache:- macOS/Linux:
~/.meteor/packages - Windows:
%LOCALAPPDATA%\.meteor\packages
Cache Format
The on-disk format is different from source:- Optimized for loading, not editing
- Includes pre-built code for all architectures
- Contains metadata and dependency information
Package Discovery
Once published, your package appears:- Atmosphere website: https://atmospherejs.com/username/package-name
- Meteor search:
meteor search package-name - Package stats: Daily download statistics
Package Metadata API
Meteor provides a DDP interface atpackages.meteor.com to query:
- Package information
- Version details
- Download statistics
- Dependencies
Publishing Releases (Core Team)
For Meteor core team members publishing releases:- JSON configuration file
- Release track name
- Package versions mapping
- Meteor tool version
Troubleshooting
Error: Package name must include namespace
Error: Package name must include namespace
Your package name must be
username:package-name, not just package-name.Fix in package.js:Error: Version already exists
Error: Version already exists
You must bump the version number before publishing:
Package not working on Linux/Windows
Package not working on Linux/Windows
Publish architecture-specific builds:
Error: Not authorized
Error: Not authorized
Best Practices
- Test before publishing: Always run tests and verify functionality
- Follow semantic versioning: Make version numbers meaningful
- Document breaking changes: Clearly note API changes
- Keep README updated: Documentation is critical for adoption
- Respond to issues: Maintain your package actively
- Support multiple Meteor versions: Use
api.versionsFrom(['1.12.1', '2.8.1'])
Contributing to Core Packages
To contribute to Meteor core packages:- Fork the Meteor repository
- Make changes to packages in
packages/directory - Test thoroughly:
meteor test-packages ./packages/package-name - Submit a pull request
- Follow the contributing guidelines
Core packages don’t have
.versions files—they’re released from a checkout of Meteor.Next Steps
Atmosphere
Explore the package ecosystem
Package.js API
Complete API reference
Package Server API
Query package metadata