Agent skill

nx-project-mapping

Maps file paths to Nx project names in the Commons monorepo. Use when you need to determine which Nx project a file belongs to for running tests, linting, or other Nx commands.

Stars 3
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/jakewaldrip/.dotfiles/tree/main/misc/commons/.opencode/skills/nx-project-mapping

SKILL.md

Nx Project Mapping

Maps file paths to Nx project names using the project graph.

Get Project Mappings

bash
npx nx graph --file=stdout | jq '.graph.nodes | to_entries | map({name: .key, root: .value.data.root})'

If jq is not installed, parse the JSON directly—the output is { "graph": { "nodes": { "<project-name>": { "data": { "root": "<path>" } } } } }.

Example output:

json
[
  { "name": "commons", "root": "commons" },
  { "name": "@commons/backend", "root": "commons-packages/backend" },
  { "name": "@cityblock/api", "root": "packages/cityblock-api" },
  { "name": "process-ciox-pdf", "root": "cloud_functions/process-ciox-pdf" }
]

Match File to Project

Use longest-prefix matching: find the project whose root is the longest prefix of the file path.

Step Action
1 Normalize file path (relative to repo root)
2 Sort projects by root length (longest first)
3 Return first project whose root is a prefix of the file path

Example: commons-packages/backend/services/member-service.ts@commons/backend

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results