ReviewOS

also looking at this

pantry-pm/pantry

chore(deps): update dependency @actions/github to v6

#11
Merged renovate[bot] wants to merge renovate/actions-github-6.x into main
4 files +230 -92

Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.

README.mdmodified+118-46
Changes to README.md
@@ -8,24 +8,46 @@
88
99# launchpad
1010
11> A lightweight package manager built on top of pkgx to simplify package installation and management. _Similar to Homebrew._
11> A lightweight package manager built on top of pkgx to simplify package installation and management. _Similar to Homebrew, but better._
1212
1313## Features
1414
15Launchpad offers the following features:
15Launchpad offers a streamlined approach to package management with these key features:
1616
17- **Package Management** _Install and manage packages directly using pkgx_
18- **Executable Shims** _Create executable shims for packages automatically_
19- **pkgx Installation** _Install and manage the pkgx utility itself_
20- **Dev Environment** _Dedicated command for the dev package for development environments_
21- **Auto-updates** _Configure automatic updates for pkgx_
22- **PATH Integration** _Automatically add installation directories to your PATH_
23- **Cross-platform** _Support for macOS, Linux, and Windows systems_
17- **[Package Management](https://github.com/stacksjs/launchpad/tree/main/docs/features/package-management.md)** Install and manage packages efficiently using pkgx
18- **[Executable Shims](https://github.com/stacksjs/launchpad/tree/main/docs/features/shim-creation.md)** Create executable shims for packages automatically
19- **[pkgx Management](https://github.com/stacksjs/launchpad/tree/main/docs/features/pkgx-management.md)** Install and manage the pkgx utility itself
20- **[Dev Environment](https://github.com/stacksjs/launchpad/tree/main/docs/features/dev-package.md)** Dedicated command for the dev package for development environments
21- **Auto-updates** Configure automatic updates for pkgx
22- **[PATH Integration](https://github.com/stacksjs/launchpad/tree/main/docs/features/path-management.md)** Automatically add installation directories to your PATH
23- **Cross-platform** Full support for macOS, Linux, and Windows systems
24
25## Why Launchpad?
26
27Traditional package managers like Homebrew have limitations:
28
29- **Slow installations** Installing or updating can take minutes
30- **Dependency chains** Updating one package triggers unwanted updates
31- **Environment conflicts** Different projects need different versions
32- **PATH management** Manual PATH configuration is error-prone
33- **Platform inconsistency** Different systems need different approaches
34
35Launchpad solves these by providing:
36
37- **Fast installations** Leverage pkgx for efficient package management
38- **Isolated packages** Install only what you need without conflicts
39- **Automatic PATH management** Tools are available immediately
40- **Consistent interface** Same commands work everywhere
41- **Dev environments** Project-specific development environment support
42
43[Read more about why we created Launchpad](https://github.com/stacksjs/launchpad/tree/main/docs/why.md)
2444
2545## Installation
2646
47Launchpad is available through multiple package managers:
48
2749```bash
28# Install with Bun
50# Install with Bun (recommended)
2951bun add -g @stacksjs/launchpad
3052
3153# Or with npm
@@ -33,9 +55,14 @@ npm install -g @stacksjs/launchpad
3355
3456# Or with yarn
3557yarn global add @stacksjs/launchpad
58
59# Or with pnpm
60pnpm add -g @stacksjs/launchpad
3661```
3762
38## Usage
63See [Installation Guide](https://github.com/stacksjs/launchpad/tree/main/docs/install.md) for more options.
64
65## Quick Start
3966
4067### Install packages
4168
@@ -43,14 +70,14 @@ yarn global add @stacksjs/launchpad
4370# Install packages
4471launchpad install node python
4572
46# Use a shorthand
73# Use the shorthand
4774launchpad i node
4875```
4976
5077### Create shims
5178
5279```bash
53# Create shims for executables from packages
80# Create shims for executables
5481launchpad shim node typescript
5582
5683# Specify custom path
@@ -70,11 +97,11 @@ launchpad pkgx --force
7097### Install dev package
7198
7299```bash
73# Install the dev package for development environments
100# Install the dev package
74101launchpad dev
75102
76103# With customization
77launchpad dev --path ~/bin --force
104launchpad dev --path ~/bin
78105```
79106
80107### Configure auto-updates
@@ -90,45 +117,93 @@ launchpad autoupdate:enable
90117launchpad autoupdate:disable
91118```
92119
93### Customize PATH behavior
94
95```bash
96# Prevent automatic PATH modifications
97launchpad shim node --no-auto-path
98launchpad dev --no-auto-path
99```
100
101120### List installed packages
102121
103122```bash
104123# List all installed packages
105124launchpad list
106
107# Or use the shorthand
125# or
108126launchpad ls
109127```
110128
111129## Configuration
112130
113Launchpad uses a configuration file in your home directory at `~/.launchpadrc` or `.launchpad.json` in your project. Example configuration:
114
115```json
116{
117 "verbose": true,
118 "installationPath": "/usr/local",
119 "autoSudo": true,
120 "maxRetries": 3,
121 "timeout": 60000,
122 "symlinkVersions": true,
123 "forceReinstall": false,
124 "shimPath": "~/.local/bin",
125 "autoAddToPath": true
131Launchpad can be configured via a config file (`launchpad.config.ts`, `.launchpadrc`, etc.) or through command-line options.
132
133Example configuration:
134
135```ts
136import type { LaunchpadConfig } from '@stacksjs/launchpad'
137
138const config: LaunchpadConfig = {
139 // Enable verbose logging
140 verbose: true,
141
142 // Installation path for binaries
143 installationPath: '/usr/local',
144
145 // Auto-elevate with sudo when needed
146 autoSudo: true,
147
148 // Retry settings
149 maxRetries: 3,
150 timeout: 60000,
151
152 // Version handling
153 symlinkVersions: true,
154 forceReinstall: false,
155
156 // PATH management
157 shimPath: '~/.local/bin',
158 autoAddToPath: true,
126159}
160
161export default config
162```
163
164See [Configuration Guide](https://github.com/stacksjs/launchpad/tree/main/docs/config.md) for all options.
165
166## GitHub Action
167
168Launchpad provides a GitHub Action for CI/CD workflows:
169
170```yaml
171- name: Install Dependencies
172 uses: stacksjs/launchpad-installer@v1
173 with:
174 packages: node typescript bun
127175```
128176
177See [GitHub Action Documentation](https://github.com/stacksjs/launchpad/tree/main/packages/action/README.md) for details.
178
179## Advanced Usage
180
181Explore advanced topics in our documentation:
182
183- [Custom Shims](https://github.com/stacksjs/launchpad/tree/main/docs/advanced/custom-shims.md)
184- [Cross-platform Compatibility](https://github.com/stacksjs/launchpad/tree/main/docs/advanced/cross-platform.md)
185- [Performance Optimization](https://github.com/stacksjs/launchpad/tree/main/docs/advanced/performance.md)
186- [API Reference](https://github.com/stacksjs/launchpad/tree/main/docs/api/reference.md)
187
188## Comparing to Alternatives
189
190### vs Homebrew
191
192- **Speed**: Significantly faster installations
193- **Isolation**: Changes to one package don't affect others
194- **No formulas**: Access thousands of packages without custom formulas
195- **Less disk space**: Only install what you need
196
197### vs Manual Installation
198
199- **Simplicity**: Single command to install complex tools
200- **PATH management**: No need to manually edit shell config files
201- **Version control**: Easily install specific versions
202- **Consistency**: Same experience across all platforms
203
129204## Changelog
130205
131Please see our [releases](https://github.com/stackjs/launchpad/releases) page for more information on what has changed recently.
206Please see our [releases](https://github.com/stackjs/launchpad/releases) page for information on changes.
132207
133208## Contributing
134209
@@ -136,17 +211,14 @@ Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.
136211
137212## Community
138213
139For help, discussion about best practices, or any other conversation that would benefit from being searchable:
140
141[Discussions on GitHub](https://github.com/stacksjs/launchpad/discussions)
142
143For casual chit-chat with others using this package:
214For help or discussion:
144215
145[Join the Stacks Discord Server](https://discord.gg/stacksjs)
216- [Discussions on GitHub](https://github.com/stacksjs/launchpad/discussions)
217- [Join the Stacks Discord Server](https://discord.gg/stacksjs)
146218
147219## Postcardware
148220
149"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.
221Two things are true: Stacks OSS will always stay open-source, and we do love to receive postcards from wherever Stacks is used! _We also publish them on our website. And thank you, Spatie_
150222
151223Our address: Stacks.js, 12665 Village Ln #2306, Playa Vista, CA 90094, United States
152224
docs/intro.mdmodified+35-43
Changes to docs/intro.md
@@ -1,10 +1,8 @@
1<p align="center"><img src="https://github.com/stacksjs/rpx/blob/main/.github/art/cover.jpg?raw=true" alt="Social Card of this repo"></p>
1<p align="center"><img src="https://github.com/stacksjs/launchpad/blob/main/.github/art/cover.jpg?raw=true" alt="Social Card of Launchpad"></p>
22
33# Introduction
44
5> For a better developer experience.
6
7Launchpad is a lightweight package manager built on top of [pkgx](https://pkgx.sh), designed to simplify package installation and management. It provides a clean, intuitive interface with powerful features that make working with development tools and packages easier.
5> A lightweight package manager built on top of pkgx to simplify package installation and management.
86
97## What is Launchpad?
108
@@ -19,13 +17,13 @@ At its core, Launchpad leverages pkgx, a next-generation package runner that all
1917
2018## Key Features
2119
22- **Package Management** _Install and manage packages directly using pkgx_
23- **Executable Shims** _Create executable shims for packages automatically_
24- **pkgx Installation** _Install and manage the pkgx utility itself_
25- **Dev Environment** _Dedicated command for the dev package for development environments_
26- **Auto-updates** _Configure automatic updates for pkgx_
27- **PATH Integration** _Automatically add installation directories to your PATH_
28- **Cross-platform** _Support for macOS, Linux, and Windows systems_
20- **Package Management** Install and manage packages directly using pkgx
21- **Executable Shims** Create executable shims for packages automatically
22- **pkgx Installation** Install and manage the pkgx utility itself
23- **Dev Environment** Dedicated command for the dev package for development environments
24- **Auto-updates** Configure automatic updates for pkgx
25- **PATH Integration** Automatically add installation directories to your PATH
26- **Cross-platform** Support for macOS, Linux, and Windows systems
2927
3028## How It Works
3129
@@ -38,56 +36,50 @@ Launchpad works by managing the installation of pkgx and creating shims (executa
3836
3937Whether you're setting up a new development machine, working on multiple projects with different tooling requirements, or just want a cleaner way to manage your packages, Launchpad offers a streamlined experience for modern developers.
4038
41## Get Started
39## Quick Example
4240
43It's rather simple to get your package development started:
41Here's a simple example of how to use Launchpad:
4442
4543```bash
46# you may use this GitHub template or the following command:
47bunx degit stacksjs/ts-starter my-pkg
48cd my-pkg
49
50 # if you don't have pnpm installed, run `npm i -g pnpm`
51bun i # install all deps
52bun run build # builds the library for production-ready use
44# Install Launchpad
45bun add -g @stacksjs/launchpad
5346
54# after you have successfully committed, you may create a "release"
55bun run release # automates git commits, versioning, and changelog generations
56```
47# Install Node.js
48launchpad install node
5749
58_Check out the package.json scripts for more commands._
50# Create shims for Node.js
51launchpad shim node
5952
60### Developer Experience (DX)
61
62This Starter Kit comes pre-configured with the following:
53# Now 'node' is available in your PATH
54node --version
55```
6356
64- [Powerful Build Process](https://github.com/oven-sh/bun) - via Bun
65- [Fully Typed APIs](https://www.typescriptlang.org/) - via TypeScript
66- [Documentation-ready](https://vitepress.dev/) - via VitePress
67- [CLI & Binary](https://www.npmjs.com/package/bunx) - via Bun & CAC
68- [Be a Good Commitizen](https://www.npmjs.com/package/git-cz) - pre-configured Commitizen & git-cz setup to simplify semantic git commits, versioning, and changelog generations
69- [Built With Testing In Mind](https://bun.sh/docs/cli/test) - pre-configured unit-testing powered by [Bun](https://bun.sh/docs/cli/test)
70- [Renovate](https://renovatebot.com/) - optimized & automated PR dependency updates
71- [ESLint](https://eslint.org/) - for code linting _(and formatting)_
72- [GitHub Actions](https://github.com/features/actions) - runs your CI _(fixes code style issues, tags releases & creates its changelogs, runs the test suite, etc.)_
57With just a few commands, you've installed Node.js and made it available in your PATH. Launchpad handles all the complexity for you.
7358
74## Changelog
59## Why Choose Launchpad?
7560
76Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
61Launchpad offers several advantages over traditional package managers:
7762
78## Stargazers
63- **Speed**: Installing packages is significantly faster
64- **Isolation**: Changes to one package don't affect others
65- **Simplicity**: Clean, consistent interface across platforms
66- **Integration**: Automatic PATH management and environment configuration
67- **Flexibility**: Works with project-specific development environments
7968
80[![Stargazers](https://starchart.cc/stacksjs/ts-starter.svg?variant=adaptive)](https://starchart.cc/stacksjs/ts-starter)
69## Next Steps
8170
82## Contributing
71Ready to get started with Launchpad? Check out these guides:
8372
84Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
73- [Installation Guide](./install.md) Install Launchpad on your system
74- [Basic Usage](./usage.md) Learn the basic commands
75- [Configuration](./config.md) Customize Launchpad to your needs
76- [Why Launchpad?](./why.md) More details on the advantages of Launchpad
8577
8678## Community
8779
8880For help, discussion about best practices, or any other conversation that would benefit from being searchable:
8981
90[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)
82[Discussions on GitHub](https://github.com/stacksjs/launchpad/discussions)
9183
9284For casual chit-chat with others using this package:
9385