Open source. Independent by design.
Your software.
Your distribution.
Your terms.
Turn the code you build into a product you own.
Distribute packages, sell access, and decide who gets
what—on infrastructure you control.
Meets developers
where they already work
Composer
NPM
PyPI
One registry.
Familiar install commands.
01 / The ownership shift
You built the product.
Own the way
it reaches people.
That internal toolkit. The package clients keep asking for. The software you’re ready to sell.
Give it a home on your infrastructure, with your access rules and your update policy. Package Pipeline connects distribution and paid access, so you can turn reusable code into something people can install—and buy.
01Your infrastructure
Keep package archives on your own disk or S3 storage.
02Your customer access
Choose the packages each plan, person, or team can install.
03Your update policy
Sell ongoing access or a purchase with an updates window.
02 / Distribution, connected
One release.
Every right destination.
Connect your source. Publish your package.
Let your customers install with the tools they know.
ILLUSTRATIVE RELEASE FLOW
studio/component-kitComposer package · v2.4.0Published
01Bring your code
Sync Composer packages from GitHub or GitLab. Publish npm and Python builds from CI.
02Set the boundaries
Give clients, customers, and teams access to the packages they need.
03Make the next install easy
Serve version metadata and archives from your registry.
# Once their registry and token are configured
$ composer require studio/component-kit
Loading package information
Resolving dependencies
✓ Installing studio/component-kit (2.4.0)
✓ Generating autoload files
Your work. In their next build.
Example package and output. Actual installs use your package names.
GitHub & GitLab sourcesMonorepo supportScoped access tokensLocal or S3 storage
03 / From package to product
The business model
is your decision.
A package. A collection. Your whole toolkit.
Build plans around what you sell, then decide
what customers keep when their plan ends.
EXAMPLE PLAN / STUDIO TOOLKIT
A subscription.
A clear set of rules.
PaymentRecurring
IncludesYour selected packages
While activeAccess to new releases
When it endsYour chosen lapse policy
Choose whether access ends, freezes at an eligible version, or continues. Configure the policy for each plan.
A conceptual view of supported plan settings.
EXAMPLE PLAN / STUDIO TOOLKIT
Their purchase.
Your updates window.
PaymentOne-time purchase
IncludesYour selected packages
While activeUpdates within the window
When it endsEligible versions stay available
With freeze-at-version configured, customers keep access to eligible releases after the updates window closes. Newer releases require renewed access.
A conceptual view of supported plan settings.
EXAMPLE PLAN / STUDIO TOOLKIT
A direct agreement.
The same distribution.
PaymentManaged outside checkout
IncludesClient or partner packages
While activeAccess under your agreement
When it endsYour chosen end date and policy
Create manual subscriptions for comps, purchase orders, or payments arranged elsewhere. Set an end date or leave access open-ended.
A conceptual view of supported plan settings.
Stripe checkout for online purchases. Manual subscriptions for comps, purchase orders, and offline payments.
04 / Open all the way down
Control you can
read the source of.
Self-hosted. MIT licensed. Built with Laravel.
Run the registry yourself. Inspect how access works. Extend it for the way your business sells software.
Start with private distribution. Turn on billing when you’re ready to sell. Package Pipeline is free to use; you cover your hosting and any payment processing costs.
Built from our own need
“We wanted complete control over our package distribution network and licensing.”
The reason we built Package Pipeline.Always Curious
05 / Make it yours
Your next product
starts here.
Install your registry. Connect a source.
Get your first package into someone’s hands.
PHP 8.4+ · Node 22+ at build time · A database
Production also needs a queue worker and scheduler.
git clone https://github.com/AlwaysCuriousCo/package-pipeline.git
cd package-pipeline
composer run setup
php artisan admin:create [email protected]
composer run dev
Use your email for the admin account. Then open localhost:8000.
Connect GitHub or GitLab to sync your first Composer package.
A few good questions
Before you
make the move.
A product by Always Curious ↗
