dev-symlink-manager

Replace Composer dependencies with local development symlinks

console application
Install
apt install dev-symlink-manager
Description

dev-symlink-manager scans a directory tree for PHP libraries and projects, then replaces installed Composer vendor entries with symlinks pointing to the local source directories.

This lets developers instantly test changes across interconnected PHP packages without having to publish to Packagist or wait for composer update to fetch a new release. Restoring the original state is as simple as running composer update in the project directory.

🌐 Domovská stránka📦 GitHub🐛 Issues📋 Package details

dev-symlink-manager

Development Symlink Manager for PHP/Composer projects.

Automatically replaces Composer dependencies with symlinks to local development versions, letting you test changes across interconnected PHP packages instantly — without publishing to Packagist or running composer update by hand.

What it does

  1. Scans a directory tree for PHP packages (anything with composer.json)
  2. Classifies each as a library (type: library) or an application/project
  3. Runs git pull on every project that is a git repository
  4. Runs composer update in each project
  5. Replaces vendor/ entries with symlinks pointing to the local library directories

Usage

# Scan current directory
dev-symlink-manager

# Scan a specific root directory
dev-symlink-manager /path/to/your/projects

Typical workflow

~/Projects/
  vitexsoftware-foo/    ← library  (type: library in composer.json)
  my-app/               ← project  (depends on vitexsoftware/foo)

Run dev-symlink-manager ~/Projects/ and my-app/vendor/vitexsoftware/foo becomes a symlink to ~/Projects/vitexsoftware-foo/. Edits you make to the library are immediately visible inside the project — no republishing, no waiting.

To restore the original state, simply run composer update inside the project. Composer will reinstall the real packages from Packagist and remove the symlinks.

Requirements

  • Python 3
  • composer available in PATH
  • git available in PATH (for the git-pull phase)

Installation

From Debian/Ubuntu repository (VitexSoftware)

wget -qO- https://repo.vitexsoftware.cz/KEY.gpg | sudo tee /usr/share/keyrings/vitexsoftware.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/vitexsoftware.gpg] https://repo.vitexsoftware.cz $(lsb_release -sc) main" \
  | sudo tee /etc/apt/sources.list.d/vitexsoftware.list
sudo apt update && sudo apt install dev-symlink-manager

Manual

sudo install -m 755 dev-symlink-manager.py /usr/local/bin/dev-symlink-manager

License

MIT — © 2026 Vítězslav Dvořák / VitexSoftware

Package "dev-symlink-manager" not found

This package may not be indexed in our database yet. Please try again later or check the package repository directly.

Browse Repository