A lightweight package manager built on top of pkgx to simplify package installation and management. Similar to Homebrew, but faster.
Launchpad offers a streamlined approach to package management with these key features:
- 📦 Package Management — Install and manage packages efficiently
- 🔧 Auto-updates — Configure automatic updates
- 🔌 PATH Integration — Automatically ensures installation directories are maintained in your PATH
- 🔄 Executable Shims — Create executable shims for packages automatically
- 💻 CLI & Library — Programmatically or manually manage your dependencies using the CLI or library
- 🪟 Cross-platform — Full support for macOS, Linux, and Windows systems
Traditional package managers like Homebrew have limitations:
- Slow installations — Installing or updating can take minutes
- Dependency chains — Updating one package triggers unwanted updates
- Environment conflicts — Different projects need different versions
- PATH management — Manual PATH configuration is error-prone
- Platform inconsistency — Different systems need different approaches
Launchpad solves these by providing:
- Fast installations — Leverage pkgx for efficient package management
- Isolated packages — Install only what you need without conflicts
- Automatic PATH management — Tools are available immediately
- Consistent interface — Same commands work everywhere
- Dev environments — Project-specific development environment support
Read more about why we created Launchpad
Launchpad is available through multiple package managers:
# Install with Bun (recommended)
bun add -g @stacksjs/launchpad
# Or with npm
npm install -g @stacksjs/launchpad
# Or with yarn
yarn global add @stacksjs/launchpad
# Or with pnpm
pnpm add -g @stacksjs/launchpad
See Installation Guide for more options.
# Install packages
launchpad install node python
# Use the shorthand
launchpad i node@22
# Create shims for executables
launchpad shim node@22 typescript@5.7
# Specify custom path
launchpad shim --path ~/bin node@22
# Install pkgx itself
launchpad pkgx
# Force reinstall
launchpad pkgx --force
# Install the dev package
launchpad dev
# With customization
launchpad dev --path ~/bin
# Install Bun directly
launchpad bun
# Install specific version
launchpad bun --version 1.2.14
# Check current auto-update status
launchpad autoupdate
# Enable auto-updates
launchpad autoupdate:enable
# Disable auto-updates
launchpad autoupdate:disable
# List all installed packages
launchpad list
# or
launchpad ls
Launchpad can be configured via a config file (launchpad.config.ts
, .launchpadrc
, etc.) or through command-line options.
Example configuration:
import type { LaunchpadConfig } from '@stacksjs/launchpad'
const config: LaunchpadConfig = {
// Enable verbose logging
verbose: true,
// Installation path for binaries
installationPath: '/usr/local',
// Auto-elevate with sudo when needed
autoSudo: true,
// Retry settings
maxRetries: 3,
timeout: 60000,
// Version handling
symlinkVersions: true,
forceReinstall: false,
// PATH management
shimPath: '~/.local/bin',
autoAddToPath: true,
}
export default config
See Configuration Guide for all options.
Launchpad provides a GitHub Action for CI/CD workflows:
- name: Install Dependencies
uses: stacksjs/launchpad-installer@v1
with:
packages: node@22 typescript@5.7 bun@1.2.14
See GitHub Action Documentation for details.
Explore advanced topics in our documentation:
- Speed: Significantly faster installations
- Isolation: Changes to one package don't affect others
- Less disk space: Only install what you need
- Simplicity: Single command to install complex tools
- PATH management: No need to manually edit shell config files
- Version control: Easily install specific versions
- Consistency: Same experience across all platforms
Please see our releases page for information on changes.
Please see CONTRIBUTING for details.
For help or discussion:
“Software that is free, but hopes for a postcard.” We love receiving postcards from around the world showing where Stacks is being used! We showcase them on our website too.
Our address: Stacks.js, 12665 Village Ln #2306, Playa Vista, CA 90094, United States 🌎
- Max Howell - for creating pkgx and Homebrew
- pkgm & dev - thanks for the inspiration
- Chris Breuer
- All Contributors
We would like to extend our thanks to the following sponsors for funding Stacks development. If you are interested in becoming a sponsor, please reach out to us.
The MIT License (MIT). Please see LICENSE for more information.
Made with 💙