dependencies

Manage PHP Composer and Yarn dependencies within the OrangeHRM Docker environment.

1.1k|746|Updated Jan 5, 2017
One-click install
npx skills add https://github.com/orangehrm/orangehrm --skill dependencies-orangehrm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dependencies
Source: https://github.com/orangehrm/orangehrm/tree/main/.agents/skills/dependencies
Command: npx skills add https://github.com/orangehrm/orangehrm --skill dependencies-orangehrm

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill eliminates the risk of broken builds, version conflicts, and environment mismatches caused by incorrect dependency management practices across OrangeHRM's PHP and frontend projects, such as running package manager commands on host systems instead of the Docker dev environment or using the wrong PHP version for Composer resolution.

Core Features & Use Cases

  • Multi-project dependency guidance: Covers Composer for the main PHP app and dev tools, Yarn for Vue frontend workspaces, and Cypress test dependencies.
  • Environment and version compliance: Enforces running all package manager commands inside the OrangeHRM Docker dev environment and using the lowest supported PHP version for Composer dependency resolution.
  • Lockfile integrity: Prevents npm/package-lock drift in Yarn workspaces and ensures lockfiles are generated and committed correctly by package managers. Use case: When adding a new third-party library to the main OrangeHRM PHP app, this Skill guides you to run Composer commands in the correct Docker container matching the project's lowest supported PHP version, and commit the updated composer.json and composer.lock together.

Quick Start

Use the dependencies skill to add a new Yarn package to the main Vue frontend workspace while following the project's package manager and lockfile rules.

Frequently Asked Questions about dependencies

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

FAQPage Schema
How do I manage Composer dependencies for OrangeHRM without causing version conflicts?

To manage Composer dependencies safely, you must run all package manager commands inside the OrangeHRM Docker dev environment using the lowest supported PHP version for dependency resolution. This prevents broken builds, version conflicts, and environment mismatches.

What is the best way to add a new Yarn package to an OrangeHRM Vue frontend workspace?

The best way to add a Yarn package is to run the command inside the OrangeHRM Docker dev environment while respecting the workspace's packageManager fields. This ensures lockfiles are generated correctly and prevents npm or package-lock drift in Yarn workspaces.

Why does running npm or Yarn commands on my host system break OrangeHRM builds?

Running package manager commands on your host system breaks builds because it bypasses the OrangeHRM Docker dev environment, causing environment mismatches and lockfile drift. You must execute commands inside Docker to maintain lockfile integrity and version compliance.

Can I update PHP Composer packages using a newer PHP version than the project's lowest supported release?

No, you cannot use a newer PHP version for Composer dependency resolution. The Skill enforces using the lowest supported PHP version for Composer operations to ensure compatibility and prevent broken builds across the main PHP app and dev tools.

How do I prevent lockfile drift when updating Cypress test dependencies in OrangeHRM?

To prevent lockfile drift when updating Cypress test dependencies, run Yarn commands inside the OrangeHRM Docker dev environment and respect the workspace packageManager fields. This ensures lockfiles are generated and committed correctly by the package manager.

Does dependency management for OrangeHRM require committing both composer.json and composer.lock?

Yes, when adding or updating PHP Composer packages, you must commit the updated composer.json and composer.lock together. This practice maintains lockfile integrity and ensures all environment versions match correctly across the project.