Skip to content

Commit cb00f69

Browse files
committed
chore: wip
1 parent 7d51b79 commit cb00f69

File tree

4 files changed

+37
-25
lines changed

4 files changed

+37
-25
lines changed

README.md

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Launchpad is a comprehensive dependency management solution that bridges the gap
2626
- Version-specific tool installation
2727
- Seamless switching between project contexts
2828

29-
At its core, Launchpad leverages pkgx's powerful package ecosystem while adding intelligent management, environment isolation, and developer-friendly workflows.
29+
At its core, Launchpad leverages pkgx's powerful package ecosystem, the Pantry, while adding intelligent management, environment isolation, and developer-friendly workflows. Learn more in the docs: [Why Launchpad](https://stacks-launchpad.netlify.app/why), [Quickstart](https://stacks-launchpad.netlify.app/quickstart).
3030

3131
## Features
3232

@@ -39,7 +39,7 @@ Launchpad transforms how you manage dependencies across your entire development
3939
- 🪟 **Cross-Platform Support** — Consistent experience across macOS, Linux, and Windows
4040

4141
### Service Management
42-
-**19+ Pre-configured Services** — PostgreSQL, Redis, Kafka, Prometheus, Grafana, Vault, and more
42+
-**30+ Pre-configured Services** — PostgreSQL, Redis, Kafka, Prometheus, Grafana, Vault, and more
4343
- 🚀 **One-Command Service Control** — Start, stop, restart services with automatic configuration
4444
- 🏥 **Health Monitoring** — Built-in health checks with automatic status detection
4545
- 🔧 **Auto-Configuration** — Default configuration files generated for each service
@@ -48,7 +48,7 @@ Launchpad transforms how you manage dependencies across your entire development
4848

4949
### Project-Aware Environment Management
5050
- 🌍 **Automatic Environment Isolation** — Project-specific environments that activate when you enter a project directory
51-
- 🎯 **Dependency Detection** — Automatically reads `dependencies.yaml`, `package.json`, and other project files
51+
- 🎯 **Dependency Detection** — Automatically reads `deps.yaml`, `dependencies.yaml`, `package.json`, `pyproject.toml`, and other project files
5252
- 🔄 **Context Switching** — Seamlessly switch between different project environments
5353
- 📋 **Version Management** — Install and manage specific versions of tools per project
5454
- 🗂️ **Environment Management** — List, inspect, clean, and remove project environments with readable identifiers
@@ -124,7 +124,7 @@ yarn global add @stacksjs/launchpad
124124
pnpm add -g @stacksjs/launchpad
125125
```
126126

127-
See [Installation Guide](https://github.com/stacksjs/launchpad/tree/main/docs/install.md) for more options.
127+
See [Installation Guide](https://stacks-launchpad.netlify.app/install) for more options.
128128

129129
## Quick Start
130130

@@ -203,8 +203,13 @@ cd ..
203203
# → 🔄 Environment deactivated
204204
```
205205

206+
Learn more: [Environment Management](https://stacks-launchpad.netlify.app/features/environment-management), [Package Management](https://stacks-launchpad.netlify.app/features/package-management), [Configuration](https://stacks-launchpad.netlify.app/config), [FAQ](https://stacks-launchpad.netlify.app/faq).
207+
206208
**Supported Project Files:**
209+
- `deps.yaml` / `deps.yml`
207210
- `dependencies.yaml` / `dependencies.yml`
211+
- `launchpad.yaml` / `launchpad.yml`
212+
- `pkgx.yaml` / `pkgx.yml`
208213
- `package.json` (Node.js projects)
209214
- `pyproject.toml` (Python projects)
210215
- `Cargo.toml` (Rust projects)
@@ -219,7 +224,7 @@ Manage your project environments with human-readable identifiers:
219224
launchpad env:list
220225

221226
# Inspect a specific environment
222-
launchpad env:inspect my-project_1a2b3c4d
227+
launchpad env:inspect my-project_1a2b3c4d-d89abc12
223228

224229
# Clean up old or failed environments
225230
launchpad env:clean --dry-run
@@ -228,10 +233,10 @@ launchpad env:clean --dry-run
228233
launchpad env:remove old-project_5e6f7g8h --force
229234
```
230235

231-
**Environment Hash Format:** `{project-name}_{8-char-hex}`
232-
- `final-project_7db6cf06` - Easy to identify and manage
233-
- `working-test_208a31ec` - Human-readable project identification
234-
- `my-app_1a2b3c4d` - Collision-resistant unique identifiers
236+
**Environment Hash Format:** `{project-name}_{8-char-hex}-d{8-char-dep-hash}`
237+
- `final-project_7db6cf06-d89abc12` - Project path hash plus dependency fingerprint
238+
- `working-test_208a31ec-d1029a7b` - Human-readable with version-aware suffix
239+
- `my-app_1a2b3c4d-deadbeef` - Collision-resistant, version-switching on cd
235240

236241
### Package Management
237242

@@ -416,12 +421,12 @@ See [GitHub Action Documentation](https://github.com/stacksjs/launchpad/tree/mai
416421
417422
Explore advanced dependency management topics:
418423
419-
- [Service Management](https://github.com/stacksjs/launchpad/tree/main/docs/features/service-management.md)
420-
- [Project Environment Configuration](https://github.com/stacksjs/launchpad/tree/main/docs/features/package-management.md)
421-
- [Custom Shims and Tool Management](https://github.com/stacksjs/launchpad/tree/main/docs/advanced/custom-shims.md)
422-
- [Cross-platform Compatibility](https://github.com/stacksjs/launchpad/tree/main/docs/advanced/cross-platform.md)
423-
- [Performance Optimization](https://github.com/stacksjs/launchpad/tree/main/docs/advanced/performance.md)
424-
- [API Reference](https://github.com/stacksjs/launchpad/tree/main/docs/api/reference.md)
424+
- [Service Management](https://stacks-launchpad.netlify.app/features/service-management)
425+
- [Project Environment Configuration](https://stacks-launchpad.netlify.app/features/package-management)
426+
- [Custom Shims and Tool Management](https://stacks-launchpad.netlify.app/advanced/custom-shims)
427+
- [Cross-platform Compatibility](https://stacks-launchpad.netlify.app/advanced/cross-platform)
428+
- [Performance Optimization](https://stacks-launchpad.netlify.app/advanced/performance)
429+
- [API Reference](https://stacks-launchpad.netlify.app/api/reference)
425430
426431
## Comparing to Alternatives
427432

docs/migration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ brew uninstall node python go rust
111111

112112
| Homebrew | Launchpad | Notes |
113113
|----------|-----------|-------|
114-
| `brew install node` | `launchpad install node@22` | Launchpad requires version specification |
114+
| `brew install node` | `launchpad install node` or `launchpad install node@22` | Versions are optional; pin them when you need determinism |
115115
| `brew uninstall node` | `launchpad remove node` | Launchpad removes all versions by default |
116116
| `brew list` | `launchpad list` | Both show installed packages |
117117
| `brew upgrade` | N/A | Launchpad uses immutable packages |

docs/quickstart.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Quick Start
22

3-
Get up and running with Launchpad in under 5 minutes! This guide will help you install, configure, and start using Launchpad right away.
3+
This guide will help you install, configure, and start using Launchpad right away.
44

55
## 1. Install Launchpad
66

@@ -38,9 +38,9 @@ This command will:
3838
- ✅ Configure your PATH automatically
3939
- ✅ Set up shell integration for automatic environment activation
4040

41-
## 3. Set Up Shell Integration
41+
## 3. (Optional) Set Up Shell Integration
4242

43-
Enable automatic environment activation for project directories:
43+
Shell integration is installed automatically when you run `launchpad bootstrap` (unless you pass `--skip-shell-integration`). If you skipped bootstrap or want to set it up manually, run:
4444

4545
```bash
4646
# Add to your shell configuration (zsh)
@@ -104,7 +104,7 @@ launchpad list
104104
🎉 **Congratulations!** You've just:
105105

106106
1. **Installed Launchpad** - A modern package manager that works alongside your existing tools
107-
2. **Bootstrapped your system** - Set up pkgx, Bun, and shell integration
107+
2. **Bootstrapped your system** - Set up pkgx, Bun, and (optionally) shell integration
108108
3. **Created your first environment** - Project-specific isolation with automatic activation
109109
4. **Installed packages** - Node.js and TypeScript are now available in your project
110110

docs/why.md

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ Launchpad is a CLI and TypeScript library designed to solve these problems by pr
1919
- **Isolated packages**: Install only what you need without affecting other dependencies
2020
- **Automatic PATH management**: Easily access installed tools from anywhere
2121
- **Consistent interface**: Same commands work across macOS, Linux, and Windows
22-
- **Dev environments**: Dedicated support for project-specific development environments
22+
- **Project-aware dev environments**: Automatic activation in project directories with version-aware isolation
23+
- **Version switching on cd**: Environments are derived from a project hash plus a dependency fingerprint, so changing versions in `deps.yaml` selects a new env automatically
24+
25+
Learn more: [Quickstart](https://stacks-launchpad.netlify.app/quickstart), [Environment Management](https://stacks-launchpad.netlify.app/features/environment-management), [Package Management](https://stacks-launchpad.netlify.app/features/package-management).
2326

2427
## Key Advantages
2528

@@ -53,15 +56,19 @@ Launchpad is built with the developer experience in mind. It provides a clean, i
5356
# Install Node.js in seconds
5457
launchpad install node@22
5558

56-
# Create a dedicated environment for a project
59+
# Create a project environment (auto-activates on cd)
60+
echo "dependencies:\n - node@22" > deps.yaml
61+
cd /path/to/project # ✅ Environment activates automatically
62+
63+
# Or force activation manually (without cd)
5764
launchpad dev:on
5865

59-
# Bootstrap development environment
66+
# Bootstrap development environment (installs shell integration, etc.)
6067
launchpad bootstrap
6168
```
6269

6370
## Why Now?
6471

65-
As software development becomes increasingly complex, the tools we use to manage our environments should become simpler. Launchpad represents a modern approach to package management that embraces isolation, speed, and cross-platform compatibility. This software is by the team that created Stacks.js, and in order to automated the onboarding process, we needed a better package manager.
72+
As software development becomes increasingly complex, the tools we use to manage our environments should become simpler. Launchpad represents a modern approach to package management that embraces isolation, speed, and cross-platform compatibility. This software is by the team that created Stacks.js, and in order to automate the onboarding process, we needed a better package manager.
6673

67-
By building on top of pkgx and focusing on the developer experience, Launchpad provides a powerful yet intuitive solution for managing packages and development environments in a way that's sustainable for the future of software development.
74+
By building on top of pkgx's Pantry and focusing on the developer experience, Launchpad provides a powerful yet intuitive solution for managing packages and development environments in a way that's sustainable for the future of software development.

0 commit comments

Comments
 (0)