Skip to content

feat: support third-party NPM package guidelines and skills - #935

Open
calebdw wants to merge 1 commit into
laravel:mainfrom
calebdw:calebdw/push-mmyuzpxssyzv
Open

feat: support third-party NPM package guidelines and skills#935
calebdw wants to merge 1 commit into
laravel:mainfrom
calebdw:calebdw/push-mmyuzpxssyzv

Conversation

@calebdw

@calebdw calebdw commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Problem

Third-party Composer packages can already ship Boost guidelines and skills (via vendor/{pkg}/resources/boost/guidelines/ and resources/boost/skills/), but third-party NPM packages cannot. The discovery methods (Npm::packagesDirectoriesWithBoostGuidelines() / Npm::packagesDirectoriesWithBoostSkills()) exist but are never called in the third-party resolution paths — only first-party NPM packages (@laravel/*, @inertiajs/*) are discovered, through the separate Roster-based code path.

Solution

Wire NPM third-party discovery into the three places that currently only use Composer:::

  • GuidelineComposer::getThirdPartyGuidelines() — merge Npm::packagesDirectoriesWithBoostGuidelines() (rejecting first-party NPM packages) alongside the existing Composer discovery.
  • SkillComposer::getThirdPartySkills() — merge Npm::packagesDirectoriesWithBoostSkills() into the collection before flatMap.
  • ThirdPartyPackage::discover() — merge both Composer and NPM directories, rejecting first-party packages from both systems.

How it works

Any NPM package can now ship guidelines and skills at:

node_modules/{package}/resources/boost/guidelines/
node_modules/{package}/resources/boost/skills/

These are discovered automatically, the same way vendor/{package}/resources/boost/ already works for Composer packages.

Previously, only first-party NPM packages (@laravel/*, @inertiajs/*)
could ship guidelines and skills via node_modules. Third-party Composer
packages already had this capability through getThirdPartyGuidelines()
and getThirdPartySkills(), but the equivalent NPM discovery methods
(Npm::packagesDirectoriesWithBoostGuidelines/Skills) were never wired
into those code paths.

This adds NPM third-party discovery to GuidelineComposer,
SkillComposer, and ThirdPartyPackage::discover(), mirroring how
Composer third-party packages are already handled. Any NPM package
can now ship guidelines at node_modules/{pkg}/resources/boost/guidelines
and skills at node_modules/{pkg}/resources/boost/skills.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant