Prerequisites
- A Laravel application using
ddev - Local checkouts of
unleash-commerce-coreandunleash-commerce-admin
Recommended workspace structure
Keep your application and packages as siblings:workspace
your-laravel-app
composer.json
composer.local.json
.ddev
docker-compose.packages.yaml
packages
unleash-commerce-core
unleash-commerce-admin
Using the starter kit (recommended)
The starter kit already includes local package support out of the box (ddev volume mount + Composer merge setup). To opt in to local package development, you only need these steps:- Copy the local Composer overrides file:
- Update the package dependencies:
If you hit a Composer repository-priority error while using local path repositories, check This can still happen even when using ranges like
composer.local.json.
In this setup, Core is aliased to satisfy Admin’s current Core requirement:^0.1.1 if the path repository is canonical and exposes only a dev-* version that does not match the requested constraint.
Keep the alias in sync with Admin’s Core constraint when that constraint changes.Make package changes available beyond local development
When you want to validate your package changes outside your local machine (for example in CI, staging, or production), switch from local path references to a Git-based package version. First, if you enabled local overrides throughcomposer.local.json, remove that file:
- Use a feature branch
- Use a tagged release
ddev composer update esign/unleash-commerce-core esign/unleash-commerce-admin and commit the resulting composer.lock.
Not using the starter kit?
If your project is not based on the starter kit, follow the full setup below.Configure ddev volume mounting
Becauseddev cannot follow symlinks that point outside the container, expose your packages directory inside the container.
Create .ddev/docker-compose.packages.yaml in your Laravel app:
ddev:
Register local path repositories
Update your Laravel appcomposer.json with path repositories:
Require local package versions
Install both packages from your local checkouts:unleash-commerce-admin itself for local package development, you can also run:
IDE support (VS Code + Intelephense)
Because path-repository symlinks are created inside theddev container (and not on your local filesystem), your IDE may not detect classes from the Core or Admin packages.
Add the package source paths explicitly to restore indexing and autocomplete.
In your Laravel application project, create or update .vscode/settings.json and configure both package source paths:
Next steps
After installation, continue with package-specific setup:- Core setup and install command: Core introduction
- Admin setup and customization: Admin introduction