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.

THE PATH FROM YOUR CODE TO THEIR NEXT INSTALL
Your software, distributed on your termsGitHub, GitLab, and CI artifacts feed Package Pipeline on your infrastructure. Access rules connect packages to client projects, paying customers, and your team. ↗ GitHub↗ GitLab⌘ CI artifactsClient projectsPaying customersYour teamYOUR INFRASTRUCTUREPackage PipelineRELEASES · ACCESS · UPDATES GitHub, GitLab and CI flow through your registry to clients, customers and your teamGitHubGitLabCI artifactsYOUR INFRASTRUCTUREPackage PipelineClientsCustomersYour team
Built for agencies & independent software makersSelf-hosted / MIT licensed

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.

your-customer / terminal

# 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.

LOCAL QUICKSTART
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.

The registry serves Composer, npm, and Python packages. Composer supports repository syncing; npm and Python packages are published as built artifacts. This is software package distribution, rather than a general download store for every kind of digital file.

Package Pipeline controls access to packages and updates. It doesn’t add runtime license checks, domain activation, or DRM to the code customers download. You define your software’s license terms separately.

You configure each plan’s lapse behavior: withdraw access, withdraw access and revoke its tokens, freeze access at an eligible version, or keep access. Other grants can still provide access. See the billing guide for the complete rules.

No. Use Package Pipeline for private distribution across your projects and teams. Billing is optional and stays off until you enable it.

Tell us what you’re building and how you want to distribute it. Talk to Always Curious about a demo ↗