Skip to content

VitexSoftware/dev-symlink-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

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/keyring.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

About

Replace Composer dependencies with local development symlinks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages