nx-workspace by nrwl/nx-ai-agents-config
npx skills add https://github.com/nrwl/nx-ai-agents-config --skill nx-workspace此技能提供对 Nx 工作区的只读探索功能。使用它来了解工作区结构、项目配置、可用目标以及依赖关系。
请注意,如果 nx 未全局安装,您可能需要在命令前加上 npx/pnpx/yarn 前缀。请检查 lockfile 以确定正在使用的包管理器。
使用 nx show projects 列出工作区中的项目。
项目过滤语法(-p/--projects)适用于许多 Nx 命令,包括 nx run-many、nx release、nx show projects 等。过滤器支持显式名称、通配符模式、标签引用(例如 )、目录和否定(例如 )。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
tag:name!project-name# 列出所有项目
nx show projects
# 按模式过滤(通配符)
nx show projects --projects "apps/*"
nx show projects --projects "shared-*"
# 按标签过滤
nx show projects --projects "tag:publishable"
nx show projects -p 'tag:publishable,!tag:internal'
# 按目标过滤(具有特定目标的项目)
nx show projects --withTarget build
# 组合过滤器
nx show projects --type lib --withTarget test
nx show projects --affected --exclude="*-e2e"
nx show projects -p "tag:scope:client,packages/*"
# 否定模式
nx show projects -p '!tag:private'
nx show projects -p '!*-e2e'
# 以 JSON 格式输出
nx show projects --json
使用 nx show project <name> --json 获取项目的完整解析配置。
重要提示:请勿直接读取 project.json 文件——它仅包含部分配置。nx show project --json 命令返回完整解析的配置,包括从插件推断出的目标。
您可以在 node_modules/nx/schemas/project-schema.json 处读取完整的项目模式,以了解 nx 项目配置选项。
# 获取完整的项目配置
nx show project my-app --json
# 从 JSON 中提取特定部分
nx show project my-app --json | jq '.targets'
nx show project my-app --json | jq '.targets.build'
nx show project my-app --json | jq '.targets | keys'
# 检查项目元数据
nx show project my-app --json | jq '{name, root, sourceRoot, projectType, tags}'
目标定义了可以在项目上运行的任务。
# 列出项目的所有目标
nx show project my-app --json | jq '.targets | keys'
# 获取完整的目标配置
nx show project my-app --json | jq '.targets.build'
# 检查目标执行器/命令
nx show project my-app --json | jq '.targets.build.executor'
nx show project my-app --json | jq '.targets.build.command'
# 查看目标选项
nx show project my-app --json | jq '.targets.build.options'
# 检查目标输入/输出(用于缓存)
nx show project my-app --json | jq '.targets.build.inputs'
nx show project my-app --json | jq '.targets.build.outputs'
# 查找具有特定目标的项目
nx show projects --withTarget serve
nx show projects --withTarget e2e
直接读取 nx.json 以获取工作区级别的配置。您可以在 node_modules/nx/schemas/nx-schema.json 处读取完整的项目模式,以了解 nx 项目配置选项。
# 读取完整的 nx.json
cat nx.json
# 或者使用 jq 查看特定部分
cat nx.json | jq '.targetDefaults'
cat nx.json | jq '.namedInputs'
cat nx.json | jq '.plugins'
cat nx.json | jq '.generators'
关键的 nx.json 部分:
targetDefaults - 应用于给定名称的所有目标的默认配置namedInputs - 用于缓存的可重用输入定义plugins - Nx 插件及其配置如果用户询问受影响的项目,请阅读 受影响项目参考 以获取详细的命令和示例。
nx show projects
nx show projects --type app
nx show projects --type lib
nx show project X --json | jq '.targets | keys'
nx show project X --json | jq '.targets.build'
# 使用项目图查找依赖项
nx graph --print | jq '.graph.dependencies | to_entries[] | select(.value[].target == "Y") | .key'
在处理 nx CLI 结果时,使用命令行工具以编程方式计算答案,而不是手动计数或解析输出。始终使用 --json 标志来获取结构化输出,以便使用 jq、grep 或您本地安装的其他工具进行处理。
nx show projects --json
示例输出:
["my-app", "my-app-e2e", "shared-ui", "shared-utils", "api"]
常见操作:
# 统计项目数量
nx show projects --json | jq 'length'
# 按模式过滤
nx show projects --json | jq '.[] | select(startswith("shared-"))'
# 以数组形式获取受影响的项目
nx show projects --affected --json | jq '.'
nx show project my-app --json
示例输出:
{
"root": "apps/my-app",
"name": "my-app",
"sourceRoot": "apps/my-app/src",
"projectType": "application",
"tags": ["type:app", "scope:client"],
"targets": {
"build": {
"executor": "@nx/vite:build",
"options": { "outputPath": "dist/apps/my-app" }
},
"serve": {
"executor": "@nx/vite:dev-server",
"options": { "buildTarget": "my-app:build" }
},
"test": {
"executor": "@nx/vite:test",
"options": {}
}
},
"implicitDependencies": []
}
常见操作:
# 获取目标名称
nx show project my-app --json | jq '.targets | keys'
# 获取特定目标配置
nx show project my-app --json | jq '.targets.build'
# 获取标签
nx show project my-app --json | jq '.tags'
# 获取项目根目录
nx show project my-app --json | jq -r '.root'
nx graph --print
示例输出:
{
"graph": {
"nodes": {
"my-app": {
"name": "my-app",
"type": "app",
"data": { "root": "apps/my-app", "tags": ["type:app"] }
},
"shared-ui": {
"name": "shared-ui",
"type": "lib",
"data": { "root": "libs/shared-ui", "tags": ["type:ui"] }
}
},
"dependencies": {
"my-app": [
{ "source": "my-app", "target": "shared-ui", "type": "static" }
],
"shared-ui": []
}
}
}
常见操作:
# 从图中获取所有项目名称
nx graph --print | jq '.graph.nodes | keys'
# 查找项目的依赖关系
nx graph --print | jq '.graph.dependencies["my-app"]'
# 查找依赖于某个库的项目
nx graph --print | jq '.graph.dependencies | to_entries[] | select(.value[].target == "shared-ui") | .key'
# 检查项目上存在哪些目标
nx show project X --json | jq '.targets | keys'
# 检查是否有任何项目具有该目标
nx show projects --withTarget target
nx sync
nx reset # 如果同步无法修复过时的缓存
每周安装次数
616
仓库
GitHub 星标数
13
首次出现
Jan 27, 2026
安全审计
安装于
github-copilot592
codex590
opencode587
gemini-cli586
kimi-cli577
amp576
This skill provides read-only exploration of Nx workspaces. Use it to understand workspace structure, project configuration, available targets, and dependencies.
Keep in mind that you might have to prefix commands with npx/pnpx/yarn if nx isn't installed globally. Check the lockfile to determine the package manager in use.
Use nx show projects to list projects in the workspace.
The project filtering syntax (-p/--projects) works across many Nx commands including nx run-many, nx release, nx show projects, and more. Filters support explicit names, glob patterns, tag references (e.g. tag:name), directories, and negation (e.g. !project-name).
# List all projects
nx show projects
# Filter by pattern (glob)
nx show projects --projects "apps/*"
nx show projects --projects "shared-*"
# Filter by tag
nx show projects --projects "tag:publishable"
nx show projects -p 'tag:publishable,!tag:internal'
# Filter by target (projects that have a specific target)
nx show projects --withTarget build
# Combine filters
nx show projects --type lib --withTarget test
nx show projects --affected --exclude="*-e2e"
nx show projects -p "tag:scope:client,packages/*"
# Negate patterns
nx show projects -p '!tag:private'
nx show projects -p '!*-e2e'
# Output as JSON
nx show projects --json
Use nx show project <name> --json to get the full resolved configuration for a project.
Important : Do NOT read project.json directly - it only contains partial configuration. The nx show project --json command returns the full resolved config including inferred targets from plugins.
You can read the full project schema at node_modules/nx/schemas/project-schema.json to understand nx project configuration options.
# Get full project configuration
nx show project my-app --json
# Extract specific parts from the JSON
nx show project my-app --json | jq '.targets'
nx show project my-app --json | jq '.targets.build'
nx show project my-app --json | jq '.targets | keys'
# Check project metadata
nx show project my-app --json | jq '{name, root, sourceRoot, projectType, tags}'
Targets define what tasks can be run on a project.
# List all targets for a project
nx show project my-app --json | jq '.targets | keys'
# Get full target configuration
nx show project my-app --json | jq '.targets.build'
# Check target executor/command
nx show project my-app --json | jq '.targets.build.executor'
nx show project my-app --json | jq '.targets.build.command'
# View target options
nx show project my-app --json | jq '.targets.build.options'
# Check target inputs/outputs (for caching)
nx show project my-app --json | jq '.targets.build.inputs'
nx show project my-app --json | jq '.targets.build.outputs'
# Find projects with a specific target
nx show projects --withTarget serve
nx show projects --withTarget e2e
Read nx.json directly for workspace-level configuration. You can read the full project schema at node_modules/nx/schemas/nx-schema.json to understand nx project configuration options.
# Read the full nx.json
cat nx.json
# Or use jq for specific sections
cat nx.json | jq '.targetDefaults'
cat nx.json | jq '.namedInputs'
cat nx.json | jq '.plugins'
cat nx.json | jq '.generators'
Key nx.json sections:
targetDefaults - Default configuration applied to all targets of a given namenamedInputs - Reusable input definitions for cachingplugins - Nx plugins and their configurationIf the user is asking about affected projects, read the affected projects reference for detailed commands and examples.
nx show projects
nx show projects --type app
nx show projects --type lib
nx show project X --json | jq '.targets | keys'
nx show project X --json | jq '.targets.build'
# Use the project graph to find dependents
nx graph --print | jq '.graph.dependencies | to_entries[] | select(.value[].target == "Y") | .key'
When processing nx CLI results, use command-line tools to compute the answer programmatically rather than counting or parsing output manually. Always use --json flags to get structured output that can be processed with jq, grep, or other tools you have installed locally.
nx show projects --json
Example output:
["my-app", "my-app-e2e", "shared-ui", "shared-utils", "api"]
Common operations:
# Count projects
nx show projects --json | jq 'length'
# Filter by pattern
nx show projects --json | jq '.[] | select(startswith("shared-"))'
# Get affected projects as array
nx show projects --affected --json | jq '.'
nx show project my-app --json
Example output:
{
"root": "apps/my-app",
"name": "my-app",
"sourceRoot": "apps/my-app/src",
"projectType": "application",
"tags": ["type:app", "scope:client"],
"targets": {
"build": {
"executor": "@nx/vite:build",
"options": { "outputPath": "dist/apps/my-app" }
},
"serve": {
"executor": "@nx/vite:dev-server",
"options": { "buildTarget": "my-app:build" }
},
"test": {
"executor": "@nx/vite:test",
"options": {}
}
},
"implicitDependencies": []
}
Common operations:
# Get target names
nx show project my-app --json | jq '.targets | keys'
# Get specific target config
nx show project my-app --json | jq '.targets.build'
# Get tags
nx show project my-app --json | jq '.tags'
# Get project root
nx show project my-app --json | jq -r '.root'
nx graph --print
Example output:
{
"graph": {
"nodes": {
"my-app": {
"name": "my-app",
"type": "app",
"data": { "root": "apps/my-app", "tags": ["type:app"] }
},
"shared-ui": {
"name": "shared-ui",
"type": "lib",
"data": { "root": "libs/shared-ui", "tags": ["type:ui"] }
}
},
"dependencies": {
"my-app": [
{ "source": "my-app", "target": "shared-ui", "type": "static" }
],
"shared-ui": []
}
}
}
Common operations:
# Get all project names from graph
nx graph --print | jq '.graph.nodes | keys'
# Find dependencies of a project
nx graph --print | jq '.graph.dependencies["my-app"]'
# Find projects that depend on a library
nx graph --print | jq '.graph.dependencies | to_entries[] | select(.value[].target == "shared-ui") | .key'
# Check what targets exist on the project
nx show project X --json | jq '.targets | keys'
# Check if any projects have that target
nx show projects --withTarget target
nx sync
nx reset # if sync doesn't fix stale cache
Weekly Installs
616
Repository
GitHub Stars
13
First Seen
Jan 27, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
github-copilot592
codex590
opencode587
gemini-cli586
kimi-cli577
amp576
agent-browser 浏览器自动化工具 - Vercel Labs 命令行网页操作与测试
136,300 周安装