Loading...
Loading...
Everything you need to use and publish on SOURCE
SOURCE is a premium registry for software packages. We act as a layer between package managers (npm, pip, cargo) and developers, providing monetization and access control.
When you run npm install @source/package-name, our registry validates your access token and streams the package if authorized.
npm config set @source:registry https://registry.source.softwarenpm config set //registry.source.software/:_authToken YOUR_TOKENnpm install @source/secure-authTip: Use our CLI to configure npm automatically! Run source configure-npm after logging in.
The SOURCE CLI makes it easy to manage your packages and configure npm automatically.
npm install -g @source/clisource loginAuthenticate with SOURCE. Opens your browser to get a CLI token.
source configure-npmAutomatically configure your .npmrc with the SOURCE registry and your auth token.
--global - Configure ~/.npmrc instead of project-local--dry-run - Preview changes without writing--scope <name> - Use a custom scope (default: source)source publishPublish a package to SOURCE. Run in your package directory.
--version <v> - Override package.json version--changelog <text> - Add release notes--dry-run - Validate without uploadingsource whoamiDisplay the currently logged in user and token info.
source logoutRemove stored credentials from your machine.
# Login and configure npm
source login
source configure-npm --global
# Publish a package
cd my-package
source publish --changelog "Initial release"After purchasing a package subscription, you'll receive an auth token. This token is unique to your account and grants access to all packages you've purchased.
Token format: source_abc123...
Your token can be found in your Dashboard after purchasing a package.
Configure npm to use SOURCE for @source and @expert scoped packages.
# Set registry for @source scope
npm config set @source:registry https://registry.source.software
# Set registry for @expert scope
npm config set @expert:registry https://registry.source.software
# Add auth token
npm config set //registry.source.software/:_authToken YOUR_TOKEN@source:registry=https://registry.source.software
@expert:registry=https://registry.source.software
//registry.source.software/:_authToken=${SOURCE_TOKEN}Python package support is coming soon. Configure pip.conf:
# pip.conf
[global]
extra-index-url = https://YOUR_TOKEN@pip.source.software/simple/Rust/Cargo support is coming soon. Add to .cargo/config.toml:
[registries.source]
index = "sparse+https://cargo.source.software/"
token = "source_YOUR_TOKEN"After creating a package, upload your code as a tarball (.tgz):
# In your package directory
npm pack
# This creates package-name-1.0.0.tgzMonthly recurring payment. Access expires after 30 days if not renewed. Best for actively maintained packages with regular updates.
One-time payment for a specific version. Access never expires for that version. Best for stable releases or version snapshots.
Special license for companies training AI models on your code. Includes broader usage rights and typically higher pricing.
The registry follows the npm registry protocol. For complete API documentation including all endpoints, authentication, and code examples, see our full API reference.
curl -H "Authorization: Bearer source_YOUR_TOKEN" \
https://registry.source.software/@source/package-nameWebhook support for package events (new versions, purchases) is planned for a future release.
| Endpoint | Limit |
|---|---|
| Package downloads | 1000/hour |
| API requests | 100/minute |
| Package uploads | 10/hour |
Need help? Contact support or join our Discord community