Forked Package Management

Manage forked Laravel/Nova packages via Git submodules and VCS path repositories.

1|Updated May 28, 2025
One-click install
npx skills add https://github.com/hackur/web-standards-playground-showcase --skill forked-package-management
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Forked Package Management
Source: https://github.com/hackur/web-standards-playground-showcase/tree/main/.claude-laravel-backup/skills/package-management
Command: npx skills add https://github.com/hackur/web-standards-playground-showcase --skill forked-package-management

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Centralized approach for handling forked packages via git submodules and path-based repositories; ensures vendor symlinks and CI readiness.

Core Features & Use Cases

  • Git submodules in packages/ with vendor symlinks to composer-installed forks
  • VCS path repositories for local development and testing
  • CI/CD integration with submodules initialization

Quick Start

Initialize submodules, install dependencies, and update forks as needed:

  • git submodule update --init --recursive
  • composer install

Frequently Asked Questions about Forked Package Management

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manage forked Laravel packages using Git submodules and Composer?

Git submodules let you version-control forked packages in a packages/ directory while Composer manages dependencies via VCS path repositories. Initialize submodules with `git submodule update --init --recursive`, then use local path-based Composer repositories to symlink forked packages into vendor, keeping forks and dependencies synchronized across your project.

Can I use path-based Composer repositories with forked packages in local development?

Yes. Path-based Composer repositories create symlinks from vendor to your local forked packages, enabling instant code changes without reinstalling. This workflow supports both development iteration and testing before committing changes to your fork.

How do I set up CI/CD to initialize and manage Git submodules for forked packages?

Configure your CI/CD pipeline to run `git submodule update --init --recursive` during build initialization, ensuring forked packages are cloned and checked out at the correct commit. This guarantees consistent dependency resolution and vendor symlinks across all environments.

What's the best way to update forked Nova packages across multiple projects?

Use Git submodules to centralize fork versions in your packages/ directory. Update the submodule pointer, commit the change, and pull across projects. Composer's path repositories automatically reflect updates without reinstalling, streamlining multi-project fork management.

Why use vendor symlinks instead of copying forked packages directly?

Symlinks preserve the single source of truth in packages/, reducing duplication and sync errors. Code changes propagate instantly across your project without manual copying, and Composer respects the symlink structure during reinstalls and CI builds.

Do I need special configuration to diagnose vendor symlink issues with forked packages?

Verify symlinks exist and resolve correctly with `ls -la vendor/`, ensure Composer's path repository configuration points to your packages/ directory, and confirm submodule commits match your project's expectations. Broken symlinks typically stem from incomplete submodule initialization or misconfigured path repositories.