[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-nrwl--nx":3,"tool-nrwl--nx":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",147882,2,"2026-04-09T11:32:47",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":122,"forks":123,"last_commit_at":124,"license":125,"difficulty_score":32,"env_os":126,"env_gpu":127,"env_ram":127,"env_deps":128,"category_tags":134,"github_topics":135,"view_count":152,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":153,"updated_at":154,"faqs":155,"releases":184},5809,"nrwl\u002Fnx","nx","The Monorepo Platform that amplifies both developers and AI agents. Nx optimizes your builds, scales your CI, and fixes failed PRs automatically. Ship in half the time.","Nx 是一款专为现代软件开发设计的单体仓库（Monorepo）管理平台，旨在帮助团队高效管理包含多个项目的复杂代码库。无论是 TypeScript 项目还是混合多种语言的工程，Nx 都能通过智能缓存机制，仅构建和测试受代码变更影响的部分，从而显著缩短构建时间并加速持续集成（CI）流程。\n\n它主要解决了大型项目在扩展过程中面临的构建缓慢、CI 资源浪费以及维护困难等痛点。通过“增量构建”理念，Nx 无需大幅改动现有配置即可接入，自动识别任务依赖关系，确保开发效率随项目规模增长而线性提升。此外，Nx 还引入了创新的“自愈式 CI\"功能，利用 AI 代理自动检测流水线失败原因、提出修复方案并验证，极大减少了人工排查成本。\n\nNx 特别适合中大型开发团队、全栈工程师以及需要管理多应用架构的技术组织使用。其核心亮点包括基于 Rust 打造的高性能引擎、支持 Vite、Webpack、Gradle、.NET 等多种技术栈的插件系统，以及专为自主 AI 代理优化的命令行接口，让 AI 能像人类开发者一样理解上下文并协同工作。如果你希望在不牺牲灵活性的前提下实现快速交付与智能化运维，Nx 是一个值得尝","Nx 是一款专为现代软件开发设计的单体仓库（Monorepo）管理平台，旨在帮助团队高效管理包含多个项目的复杂代码库。无论是 TypeScript 项目还是混合多种语言的工程，Nx 都能通过智能缓存机制，仅构建和测试受代码变更影响的部分，从而显著缩短构建时间并加速持续集成（CI）流程。\n\n它主要解决了大型项目在扩展过程中面临的构建缓慢、CI 资源浪费以及维护困难等痛点。通过“增量构建”理念，Nx 无需大幅改动现有配置即可接入，自动识别任务依赖关系，确保开发效率随项目规模增长而线性提升。此外，Nx 还引入了创新的“自愈式 CI\"功能，利用 AI 代理自动检测流水线失败原因、提出修复方案并验证，极大减少了人工排查成本。\n\nNx 特别适合中大型开发团队、全栈工程师以及需要管理多应用架构的技术组织使用。其核心亮点包括基于 Rust 打造的高性能引擎、支持 Vite、Webpack、Gradle、.NET 等多种技术栈的插件系统，以及专为自主 AI 代理优化的命令行接口，让 AI 能像人类开发者一样理解上下文并协同工作。如果你希望在不牺牲灵活性的前提下实现快速交付与智能化运维，Nx 是一个值得尝试的开源解决方案。","\u003Cdiv align=\"center\">\n\n  \u003Cp>\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"images\u002Fnx-logo-light.svg\">\n      \u003Cimg src=\"images\u002Fnx-logo.svg\" alt=\"Nx Logo\" width=\"140\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fp>\n\n  \u003Ch1 align=\"center\">Smart Monorepos · Fast Builds\u003C\u002Fh1>\n\n  \u003Cp>\n    \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fnx\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fnx.svg?style=for-the-badge\" alt=\"NPM Version\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fnrwl\u002Fnx?style=for-the-badge&logo=github\" alt=\"GitHub Stars\">\u003C\u002Fa>\n    \u003Ca href=\"\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fl\u002Fnx.svg?style=for-the-badge\" alt=\"License\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgo.nx.dev\u002Fcommunity\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1143497901675401286?label=discord&style=for-the-badge\" alt=\"Discord\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fx.com\u002Fnxdevtools\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F@nxdevtools-555?style=for-the-badge&logo=x\" alt=\"X (Twitter)\">\u003C\u002Fa>\n  \u003C\u002Fp>\n\n \u003Cbr \u002F>\n\n[**Docs**](https:\u002F\u002Fnx.dev\u002Fdocs) &nbsp;&bull;&nbsp; [**Changelog**](https:\u002F\u002Fnx.dev\u002Fchangelog) &nbsp;&bull;&nbsp; [**Blog**](https:\u002F\u002Fnx.dev\u002Fblog) &nbsp;&bull;&nbsp; [**Courses**](https:\u002F\u002Fnx.dev\u002Fcourses) &nbsp;&bull;&nbsp; [**YouTube**](https:\u002F\u002Fyoutube.com\u002F@nxdevtools)\n\n\u003Cbr \u002F>\n\n\u003C\u002Fdiv>\n\nNx is a monorepo solution for TypeScript and polyglot codebases. Built with Rust for performance, extensible via TypeScript. Caches what didn't change, runs only what's affected, and comes with an integrated CI solution. Start simple, scale as you grow.\n\n## Quick Start\n\nVisit the [Nx quickstart docs](https:\u002F\u002Fnx.dev\u002Fdocs\u002Fquickstart) to get started.\n\n## Why Nx?\n\n- **Incremental by design -** Run `npx nx init` in any npm\u002Fpnpm\u002Fyarn workspace. Nx picks up your existing `package.json` scripts, caches their outputs, and runs only what's\n  affected. No changes to your setup required.\n- **AI-native tooling -** The Nx CLI is optimized for autonomous AI agents so they get the context they need and can operate just like a human. [Learn more &raquo;](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx-ai-agents-config)\n- **Polyglot plugin system -** Optional plugins auto-discover tasks, configure cache inputs\u002Foutputs, and scaffold code based on your actual tooling. Works with Vite, Webpack, Jest, Vitest, ESLint, Gradle, Maven, .NET, Go, and [more](https:\u002F\u002Fnx.dev\u002Ftechnologies).\n- **Integrated CI solution -** [Connect Nx to your CI provider](https:\u002F\u002Fnx.dev\u002Fci\u002Fintro\u002Fci-with-nx) (GitHub Actions, GitLab, Azure, etc.) to enable remote caching, task distribution across machines, affected-only runs, and automatic e2e test splitting. [Learn more &raquo;](https:\u002F\u002Fnx.dev\u002Fci\u002Fintro\u002Fci-with-nx)\n- **Self-healing CI -** An AI agent on your CI pipeline that detects failures, analyzes root cause, proposes a fix, and verifies it automatically. Local agents connect to CI via MCP to autonomously detect and fix failures. [Learn more &raquo;](https:\u002F\u002Fnx.dev\u002Fci\u002Ffeatures\u002Fself-healing)\n\n## Who uses Nx?\n\nFrom startups to Fortune 500 companies. [See our Nx success stories &raquo;](https:\u002F\u002Fnx.dev\u002Fcustomers)\n\n## Want to help?\n\nIf you want to file a bug or submit a PR, read up on our [guidelines for contributing](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md).\n\n## Core Team\n\n| Victor Savkin                                                          | Jason Jean                                                            | Benjamin Cabanes                                                            | Jack Hsu                                                          |\n| ---------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------------------- |\n| ![Victor Savkin](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_b93e2f03d78b.png) | ![Jason Jean](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_3cc0a1ca7098.png) | ![Benjamin Cabanes](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_2ba5af00f4ff.png) | ![Jack Hsu](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_868cf9b476df.png) |\n| [vsavkin](https:\u002F\u002Fgithub.com\u002Fvsavkin)                                  | [FrozenPandaz](https:\u002F\u002Fgithub.com\u002FFrozenPandaz)                       | [bcabanes](https:\u002F\u002Fgithub.com\u002Fbcabanes)                                     | [jaysoo](https:\u002F\u002Fgithub.com\u002Fjaysoo)                               |\n\n| James Henry                                                              | Jon Cammisuli                                                            | Max Kless                                                            | Juri Strumpflohner                                                           |\n| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | -------------------------------------------------------------------- | ---------------------------------------------------------------------------- |\n| ![James Henry](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_c11699b16cdc.png) | ![Jon Cammisuli](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_5eab659a23bc.png) | ![Max Kless](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_83dc845c60fd.png) | ![Juri Strumpflohner](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_014505e72eb7.png) |\n| [JamesHenry](https:\u002F\u002Fgithub.com\u002FJamesHenry)                              | [cammisuli](https:\u002F\u002Fgithub.com\u002Fcammisuli)                                | [MaxKless](https:\u002F\u002Fgithub.com\u002FMaxKless)                              | [juristr](https:\u002F\u002Fgithub.com\u002Fjuristr)                                        |\n\n| Philip Fulcher                                                            | Caleb Ukle                                                            | Colum Ferry                                                            | Steven Nance                                                           |\n| ------------------------------------------------------------------------- | --------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |\n| ![Philip Fulcher](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_870b456e2f81.png) | ![Caleb Ukle](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_5b77d20fa46a.png) | ![Colum Ferry](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_8d7216a32055.png) | ![Steven Nance](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_e6603372376e.png) |\n| [philipjfulcher](https:\u002F\u002Fgithub.com\u002Fphilipjfulcher)                       | [barbados-clemens](https:\u002F\u002Fgithub.com\u002Fbarbados-clemens)               | [Coly010](https:\u002F\u002Fgithub.com\u002FColy010)                                  | [llwt](https:\u002F\u002Fgithub.com\u002Fllwt)                                        |\n\n| Miroslav Jonaš                                                          | Leosvel Pérez Espinosa                                                            | Zachary DeRose                                                           | Craigory Coppola                                                           |\n| ----------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | -------------------------------------------------------------------------- |\n| ![Miroslav Jonaš](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_98037118f1a5.png) | ![Leosvel Pérez Espinosa](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_b2b36f07ded1.png) | ![Zachary DeRose](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_74b9a0094c15.png) | ![Craigory Coppola](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_4c2fe85bfe50.png) |\n| [meeroslav](https:\u002F\u002Fgithub.com\u002Fmeeroslav)                               | [leosvelperez](https:\u002F\u002Fgithub.com\u002Fleosvelperez)                                   | [ZackDeRose](https:\u002F\u002Fgithub.com\u002FZackDeRose)                              | [AgentEnder](https:\u002F\u002Fgithub.com\u002FAgentEnder)                                |\n\n| Chau Tran                                                            | Nicole Oliver                                                           | Rares Matei                                                           | Altan Stalker                                                           |\n| -------------------------------------------------------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------- |\n| ![Chau Tran](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_ff76d2371991.png) | ![Nicole Oliver](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_843fdd360492.png) | ![Rares Matei](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_ebf8c1f4cfc5.png) | ![Altan Stalker](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_52750110dd8d.png) |\n| [nartc](https:\u002F\u002Fgithub.com\u002Fnartc)                                    | [nixallover](https:\u002F\u002Fgithub.com\u002Fnixallover)                             | [rarmatei](https:\u002F\u002Fgithub.com\u002Frarmatei)                               | [StalkAltan](https:\u002F\u002Fgithub.com\u002FStalkAltan)                             |\n\n| Josh VanAllen                                                           | Austin Fahsl                                                           | Louie Weng                                                            |\n| ----------------------------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------------------- |\n| ![Josh VanAllen](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_6f04b976824c.png) | ![Austin Fahsl](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_9db20440a0dd.png) | ![Louie Weng](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_5efc13318f8d.png) |\n| [joshvanallen](https:\u002F\u002Fgithub.com\u002Fjoshvanallen)                         | [fahslaj](https:\u002F\u002Fgithub.com\u002Ffahslaj)                                  | [lourw](https:\u002F\u002Fgithub.com\u002Flourw)                                     |\n","\u003Cdiv align=\"center\">\n\n  \u003Cp>\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"images\u002Fnx-logo-light.svg\">\n      \u003Cimg src=\"images\u002Fnx-logo.svg\" alt=\"Nx Logo\" width=\"140\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fp>\n\n  \u003Ch1 align=\"center\">智能单仓库 · 高效构建\u003C\u002Fh1>\n\n  \u003Cp>\n    \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fnx\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fnx.svg?style=for-the-badge\" alt=\"NPM 版本\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fnrwl\u002Fnx?style=for-the-badge&logo=github\" alt=\"GitHub 星标\">\u003C\u002Fa>\n    \u003Ca href=\"\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fl\u002Fnx.svg?style=for-the-badge\" alt=\"许可证\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgo.nx.dev\u002Fcommunity\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1143497901675401286?label=discord&style=for-the-badge\" alt=\"Discord\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fx.com\u002Fnxdevtools\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F@nxdevtools-555?style=for-the-badge&logo=x\" alt=\"X（Twitter）\">\u003C\u002Fa>\n  \u003C\u002Fp>\n\n \u003Cbr \u002F>\n\n[**文档**](https:\u002F\u002Fnx.dev\u002Fdocs) &nbsp;&bull;&nbsp; [**更新日志**](https:\u002F\u002Fnx.dev\u002Fchangelog) &nbsp;&bull;&nbsp; [**博客**](https:\u002F\u002Fnx.dev\u002Fblog) &nbsp;&bull;&nbsp; [**课程**](https:\u002F\u002Fnx.dev\u002Fcourses) &nbsp;&bull;&nbsp; [**YouTube**](https:\u002F\u002Fyoutube.com\u002F@nxdevtools)\n\n\u003Cbr \u002F>\n\n\u003C\u002Fdiv>\n\nNx 是一个面向 TypeScript 及多语言代码库的单仓库解决方案。它基于 Rust 构建，具备卓越性能，并可通过 TypeScript 进行扩展。Nx 会缓存未发生变化的内容，仅运行受影响的部分，并内置 CI 解决方案。您可以从简单起步，随着业务增长逐步扩展。\n\n## 快速入门\n\n请访问 [Nx 快速入门文档](https:\u002F\u002Fnx.dev\u002Fdocs\u002Fquickstart)，开始您的旅程。\n\n## 为什么选择 Nx？\n\n- **增量式设计 -** 在任何 npm\u002Fpnpm\u002Fyarn 工作区中运行 `npx nx init`。Nx 会自动识别您现有的 `package.json` 脚本，缓存其输出，并仅执行受影响的部分，无需对现有配置进行任何修改。\n- **原生支持 AI 的工具链 -** Nx CLI 针对自主 AI 代理进行了优化，使其能够获取所需上下文并像人类一样高效工作。[了解更多 &raquo;](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx-ai-agents-config)\n- **多语言插件系统 -** 可选插件可自动发现任务、配置缓存输入输出，并根据您实际使用的工具生成代码骨架。支持 Vite、Webpack、Jest、Vitest、ESLint、Gradle、Maven、.NET、Go 等技术栈，以及更多其他技术。[查看完整列表 &raquo;](https:\u002F\u002Fnx.dev\u002Ftechnologies)\n- **集成 CI 解决法 -** 将 Nx 与您的 CI 提供商（GitHub Actions、GitLab、Azure 等）连接，即可实现远程缓存、跨机器的任务分配、仅运行受影响部分以及自动拆分端到端测试等功能。[了解更多 &raquo;](https:\u002F\u002Fnx.dev\u002Fci\u002Fintro\u002Fci-with-nx)\n- **自愈型 CI -** 在您的 CI 流水线中部署 AI 代理，它可以检测失败、分析根本原因、提出修复方案并自动验证。本地代理通过 MCP 协议与 CI 系统连接，从而实现故障的自主检测与修复。[了解更多 &raquo;](https:\u002F\u002Fnx.dev\u002Fci\u002Ffeatures\u002Fself-healing)\n\n## 哪些企业使用 Nx？\n\n从初创公司到财富 500 强企业，众多组织都在使用 Nx。[查看我们的成功案例 &raquo;](https:\u002F\u002Fnx.dev\u002Fcustomers)\n\n## 想要参与贡献吗？\n\n如果您想提交 bug 或 PR，请先阅读我们的[贡献指南](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md)。\n\n## 核心团队\n\n| 维克托·萨夫金                                                          | 杰森·让                                                            | 本杰明·卡巴内斯                                                            | 杰克·许                                                          |\n| ---------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------------------- |\n| ![维克托·萨夫金](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_b93e2f03d78b.png) | ![杰森·让](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_3cc0a1ca7098.png) | ![本杰明·卡巴内斯](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_2ba5af00f4ff.png) | ![杰克·许](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_868cf9b476df.png) |\n| [vsavkin](https:\u002F\u002Fgithub.com\u002Fvsavkin)                                  | [FrozenPandaz](https:\u002F\u002Fgithub.com\u002FFrozenPandaz)                       | [bcabanes](https:\u002F\u002Fgithub.com\u002Fbcabanes)                                     | [jaysoo](https:\u002F\u002Fgithub.com\u002Fjaysoo)                               |\n\n| 詹姆斯·亨利                                                              | 乔恩·卡米苏利                                                            | 马克斯·克莱斯                                                            | 尤里·斯特鲁姆普洛纳                                                           |\n| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | -------------------------------------------------------------------- | ---------------------------------------------------------------------------- |\n| ![詹姆斯·亨利](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_c11699b16cdc.png) | ![乔恩·卡米苏利](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_5eab659a23bc.png) | ![马克斯·克莱斯](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_83dc845c60fd.png) | ![尤里·斯特鲁姆普洛纳](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_014505e72eb7.png) |\n| [JamesHenry](https:\u002F\u002Fgithub.com\u002FJamesHenry)                              | [cammisuli](https:\u002F\u002Fgithub.com\u002Fcammisuli)                                | [MaxKless](https:\u002F\u002Fgithub.com\u002FMaxKless)                              | [juristr](https:\u002F\u002Fgithub.com\u002Fjuristr)                                        |\n\n| 菲利普·富尔彻                                                            | 凯莱布·乌克勒                                                            | 科伦·费里                                                            | 史蒂文·南斯                                                           |\n| ------------------------------------------------------------------------- | --------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |\n| ![菲利普·富尔彻](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_870b456e2f81.png) | ![凯莱布·乌克勒](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_5b77d20fa46a.png) | ![科伦·费里](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_8d7216a32055.png) | ![史蒂文·南斯](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_e6603372376e.png) |\n| [philipjfulcher](https:\u002F\u002Fgithub.com\u002Fphilipjfulcher)                       | [barbados-clemens](https:\u002F\u002Fgithub.com\u002Fbarbados-clemens)               | [Coly010](https:\u002F\u002Fgithub.com\u002FColy010)                                  | [llwt](https:\u002F\u002Fgithub.com\u002Fllwt)                                        |\n\n| 米罗斯拉夫·约纳斯                                                          | 列奥斯维尔·佩雷斯·埃斯皮诺萨                                                            | 扎卡里·德罗斯                                                           | 克雷戈里·科波拉                                                           |\n| ----------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | -------------------------------------------------------------------------- |\n| ![米罗斯拉夫·约纳斯](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_98037118f1a5.png) | ![列奥斯维尔·佩雷斯·埃斯皮诺萨](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_b2b36f07ded1.png) | ![扎卡里·德罗斯](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_74b9a0094c15.png) | ![克雷戈里·科波拉](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_4c2fe85bfe50.png) |\n| [meeroslav](https:\u002F\u002Fgithub.com\u002Fmeeroslav)                               | [leosvelperez](https:\u002F\u002Fgithub.com\u002Fleosvelperez)                                   | [ZackDeRose](https:\u002F\u002Fgithub.com\u002FZackDeRose)                              | [AgentEnder](https:\u002F\u002Fgithub.com\u002FAgentEnder)                                |\n\n| 仇·陈                                                            | 妮可·奥利弗                                                           | 拉雷斯·马泰伊                                                           | 阿尔坦·斯塔尔克                                                           |\n| -------------------------------------------------------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------- |\n| ![仇·陈](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_ff76d2371991.png) | ![妮可·奥利弗](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_843fdd360492.png) | ![拉雷斯·马泰伊](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_ebf8c1f4cfc5.png) | ![阿尔坦·斯塔尔克](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_52750110dd8d.png) |\n| [nartc](https:\u002F\u002Fgithub.com\u002Fnartc)                                    | [nixallover](https:\u002F\u002Fgithub.com\u002Fnixallover)                             | [rarmatei](https:\u002F\u002Fgithub.com\u002Frarmatei)                               | [StalkAltan](https:\u002F\u002Fgithub.com\u002FStalkAltan)                             |\n\n| 乔什·范艾伦                                                           | 奥斯汀·法斯尔                                                           | 路易·温                                                            |\n| ----------------------------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------------------- |\n| ![乔什·范艾伦](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_6f04b976824c.png) | ![奥斯汀·法斯尔](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_9db20440a0dd.png) | ![路易·温](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_readme_5efc13318f8d.png) |\n| [joshvanallen](https:\u002F\u002Fgithub.com\u002Fjoshvanallen)                         | [fahslaj](https:\u002F\u002Fgithub.com\u002Ffahslaj)                                  | [lourw](https:\u002F\u002Fgithub.com\u002Flourw)                                     |","# Nx 快速上手指南\n\nNx 是一个专为 TypeScript 及多语言代码库设计的智能单体仓库（Monorepo）解决方案。它基于 Rust 构建以确保高性能，支持增量构建、任务缓存和受影响项目检测，帮助开发者从简单起步并随业务扩展。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n- **操作系统**：Windows、macOS 或 Linux\n- **Node.js**：建议安装 LTS 版本（v18.x 或更高）\n- **包管理器**：npm、pnpm 或 yarn（任选其一）\n- **Git**：已安装并配置好\n\n> 💡 **国内加速建议**：\n> 如果下载依赖较慢，建议配置国内镜像源：\n> - **npm**: `npm config set registry https:\u002F\u002Fregistry.npmmirror.com`\n> - **pnpm**: `pnpm config set registry https:\u002F\u002Fregistry.npmmirror.com`\n> - **yarn**: `yarn config set registry https:\u002F\u002Fregistry.npmmirror.com`\n\n## 安装步骤\n\n您可以将 Nx 添加到现有的项目中，或者创建一个新的 Nx 工作区。\n\n### 方式一：在现有项目中初始化（推荐）\n\n如果您已经有一个使用 npm\u002Fpnpm\u002Fyarn workspaces 管理的项目，可以直接运行以下命令初始化 Nx：\n\n```bash\nnpx nx init\n```\n\nNx 会自动识别现有的 `package.json` 脚本，配置缓存输入\u002F输出，并无需更改现有设置即可启用增量运行。\n\n### 方式二：创建全新的 Nx 工作区\n\n如果您想从头开始创建一个新项目：\n\n```bash\nnpx create-nx-workspace@latest my-app\n```\n\n按提示选择技术栈（如 React, Angular, Node 等）和包管理器。\n\n## 基本使用\n\n初始化完成后，您可以使用 Nx CLI 来运行任务。Nx 的核心优势在于**只运行受影响的代码**。\n\n### 1. 运行任务\n\n假设您有一个名为 `my-app` 的项目，并且需要运行其构建脚本：\n\n```bash\nnpx nx build my-app\n```\n\n或者运行测试：\n\n```bash\nnpx nx test my-app\n```\n\n### 2. 查看项目依赖图\n\nNx 可以可视化项目之间的依赖关系，帮助您理解代码结构：\n\n```bash\nnpx nx graph\n```\n\n该命令会在浏览器中打开一个交互式图表，展示所有项目及其依赖连线。\n\n### 3. 仅运行受影响的代码\n\n当您在 Git 分支上修改了部分代码时，Nx 可以智能地只运行受影响的项目及其依赖项，大幅节省 CI\u002FCD 时间：\n\n```bash\nnpx nx affected --target=build\n```\n\n此命令会对比当前分支与主分支（默认为 `main` 或 `master`）的差异，仅构建那些因代码变更而需要重新构建的项目。\n\n### 4. 并行执行任务\n\n利用多核 CPU 加速构建，默认情况下 Nx 会尽可能并行运行任务：\n\n```bash\nnpx nx run-many --target=build --all\n```\n\n通过以上步骤，您即可体验 Nx 带来的高效构建与智能缓存能力。更多高级功能（如分布式缓存、AI 自愈 CI 等）可查阅官方文档。","某中型电商团队正在维护一个包含前端 React、后端 NestJS 和共享工具库的大型单体仓库（Monorepo），日常面临多人协作与频繁发布的挑战。\n\n### 没有 nx 时\n- 每次修改共享代码，团队必须手动全量构建所有项目，导致本地等待时间长达 20 分钟，严重打断开发心流。\n- CI 流水线缺乏智能缓存机制，即使只改动了一行代码，也要重新运行所有单元测试和端到端测试，资源浪费严重且排队时间长。\n- 当 PR 构建失败时，开发人员需花费大量时间排查是环境差异还是代码逻辑错误，修复过程依赖人工反复试错。\n- 新加入的 AI 编程助手因无法理解复杂的项目依赖图，经常生成破坏模块间引用的代码，导致集成困难。\n\n### 使用 nx 后\n- Nx 自动分析依赖关系，仅构建和测试受影响的模块，将本地反馈循环从 20 分钟缩短至 2 分钟以内。\n- 利用远程缓存技术，CI 直接复用其他机器已完成的构建结果，仅运行变更部分，发布速度提升 50% 以上。\n- 集成的自愈型 AI 代理能自动检测 CI 失败根因，提出修复方案并验证通过，大幅减少人工介入排查的时间。\n- Nx 专为 AI 代理优化的上下文接口，让自动化助手精准掌握项目结构，生成的代码天然符合依赖规范，不再引发集成冲突。\n\nNx 通过智能增量构建与 AI 原生协作能力，将大型单体仓库的开发效率提升了数倍，让团队真正实现了“快速构建，极速交付”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnrwl_nx_310b3a12.png","nrwl","Nx","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fnrwl_9b4462b7.jpg","Smart Repos ⋅ Fast Builds",null,"devrel@nrwl.io","nxdevtools","https:\u002F\u002Fnx.dev","https:\u002F\u002Fgithub.com\u002Fnrwl",[83,87,91,95,99,103,107,111,115,118],{"name":84,"color":85,"percentage":86},"TypeScript","#3178c6",84.9,{"name":88,"color":89,"percentage":90},"Roff","#ecdebe",7.8,{"name":92,"color":93,"percentage":94},"Rust","#dea584",4.3,{"name":96,"color":97,"percentage":98},"Kotlin","#A97BFF",1.4,{"name":100,"color":101,"percentage":102},"JavaScript","#f1e05a",0.9,{"name":104,"color":105,"percentage":106},"Astro","#ff5a03",0.3,{"name":108,"color":109,"percentage":110},"C#","#178600",0.2,{"name":112,"color":113,"percentage":114},"CSS","#663399",0.1,{"name":116,"color":117,"percentage":114},"Shell","#89e051",{"name":119,"color":120,"percentage":121},"HTML","#e34c26",0,28496,2710,"2026-04-09T06:25:20","MIT","Linux, macOS, Windows","未说明",{"notes":129,"python":127,"dependencies":130},"Nx 是一个基于 Node.js 的单体仓库（Monorepo）管理工具，核心由 Rust 构建以提升性能。它支持多种包管理器（npm\u002Fpnpm\u002Fyarn），并可通过插件系统支持 TypeScript、Gradle、Maven、.NET、Go 等多种技术栈。无需特定 GPU 或大量内存，具体资源需求取决于所管理的子项目规模。",[131,132,133],"npm","pnpm","yarn",[52,14],[64,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151],"angular","react","monorepo","nodejs","cypress","storybook","nextjs","nx-workspaces","hacktoberfest","build-tool","build-system","cli","javascript","typescript","building-tool","build",4,"2026-03-27T02:49:30.150509","2026-04-09T20:59:06.922012",[156,161,166,171,176,180],{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},26599,"如何为每个应用（App）配置独立的 package.json 以优化 Docker 构建？","Nx 默认使用单体仓库的一个根 package.json。对于需要独立容器化部署的应用（如 Angular 和 NestJS 分离），建议利用 Nx 的库发布机制或手动管理依赖。维护者指出，已发布的库（published libs）通常不需要锁文件，且会显式指定 package.json。虽然 Nx 核心倾向于单一 package.json 以减少耦合，但在 Docker 场景下，可以通过在多阶段构建中仅复制特定应用所需的依赖，或者利用 nx-container 等插件来优化镜像大小，避免安装无关的大型包（如 Cypress）。","https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F1777",{"id":162,"question_zh":163,"answer_zh":164,"source_url":165},26600,"升级 Nx 后遇到 'Nx Daemon was not able to compute the project graph' 错误怎么办？","此错误通常发生在升级 Nx 版本（如升级到 13.7.1）后，日志中常出现 'ENOENT: no such file or directory' 指向缺失的文件（如 presets\u002Fnpm.json）。这往往是因为权限问题导致守护进程无法读取文件或缓存损坏。解决方案包括：1. 清理节点模块和缓存：删除 node_modules、dist 文件夹以及 .nx\u002Fcache 目录，然后重新运行 npm install；2. 检查文件权限，确保当前用户有权限读取工作区文件；3. 如果问题持续，尝试禁用守护进程运行命令（添加 --skip-nx-cache 或配置 nx.json 禁用 daemon），并在新版本的 Issue 追踪器中提供详细日志以便进一步排查。","https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F8796",{"id":167,"question_zh":168,"answer_zh":169,"source_url":170},26601,"如何发布包含所有依赖的库（Bundling dependencies）？","首先需要区分“构建（building）”和“打包（bundling）”。编译器（如 tsc, swc）主要用于构建，不具备将依赖打包进输出文件的能力。试图通过 `external: \"none\"` 等选项强制内联依赖已被视为实验性功能并不再推荐，因为这会导致诸多问题。正确的做法是使用专门的打包工具，如 Rollup、esbuild 或 Vite，来生成包含依赖的单文件。Nx 推荐使用这些工具来处理可发布库的打包需求，而不是依赖 TypeScript 编译器直接完成此任务。","https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F4620",{"id":172,"question_zh":173,"answer_zh":174,"source_url":175},26602,"自定义任务运行器（Custom Task Runners）被弃用后，如何实现前置\u002F后置任务执行？","随着 Nx 核心迁移至 Rust，自定义任务运行器已被弃用。替代方案如下：1. 对于前置和后置任务执行需求，Nx 20 和 Nx 21 引入了 `preTasksExecution` 和 `postTasksExecution` 钩子，可覆盖大多数原自定义运行器的用例；2. 对于自托管缓存需求，Nx 提供了免费的自托管缓存包及迁移指南；3. 如果有特殊需求，可以使用新的自定义缓存 API 构建自己的缓存服务器。这些新 API 旨在提供更清晰的方式，同时不阻碍 Nx 的演进。","https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F28434",{"id":177,"question_zh":178,"answer_zh":179,"source_url":175},26603,"初始化自托管缓存（如 @nx\u002Fgcs-cache）时提示 'No Nx keys were found' 如何解决？","当遇到 'No Nx keys were found for this organization' 错误时，说明尚未获取或配置激活密钥。用户需要访问 Nx Cloud 官网（https:\u002F\u002Fcloud.nx.app\u002Fpowerpack）购买或续订密钥以获取激活码。获取密钥后，需按照文档将其配置到项目中（通常在 nx.json 或环境变量中）。如果没有组织密钥，也可以考虑使用 Nx 提供的免费自托管缓存方案或构建自己的缓存服务器，相关指南可在 Nx 文档的 'Self-hosted caching' 部分找到。",{"id":181,"question_zh":182,"answer_zh":183,"source_url":170},26604,"Nx 中的 `external` 配置项是否被完全弃用？","`external` 配置项（特别是在 SWC 执行器中）的使用场景正在发生变化。社区曾依赖 `external: \"none\"` 来强制打包所有依赖，但这种做法因与底层工具（如 tsc\u002Fswc）的设计初衷不符而引发问题。目前趋势是不再鼓励使用编译器进行打包操作，而是转向专用的打包工具（Rollup, esbuild 等）。虽然 `external` 选项本身在某些上下文中仍可用于排除外部依赖，但试图用它来实现“全量内联打包”的功能已被标记为不推荐甚至移除。建议查阅最新的 Nx JS\u002FSWC 执行器文档以确认具体版本的可用性，并迁移到推荐的打包工作流。",[185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280],{"id":186,"version":187,"summary_zh":188,"released_at":189},171844,"22.7.0-beta.11","## 22.7.0-beta.11（2026-04-08）\n\n### 🚀 功能\n\n- **core:** 允许 `generate` 命令跳过项目图的创建 ([#35170](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35170))\n- **core:** 移除 Polygraph 云穿透功能 ([#35153](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35153))\n- **repo:** 添加用于验证 Nx 构建流程的端到端测试 ([#35119](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35119))\n\n### 🩹 修复\n\n- **core:** 多项 TUI 性能修复 ([#35187](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35187))\n- **core:** 将采用 LGPL 许可证的 @ltd\u002Fj-toml 替换为采用 BSD-3-Clause 许可证的 smol-toml ([#35188](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35188))\n- **core:** 通过固定传递性依赖来加强供应链安全 ([#35159](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35159))\n- **core:** 终止独立任务，并在接收到 SIGINT 信号时使用树形终止方式批量清理资源 ([#35175](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35175))\n- **gradle:** 在生成项目图时推断输入文件扩展名 ([#35160](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35160))\n- **gradle:** 将共享任务计算从原子化 CI 目标生成中的每个类循环中提取出来 ([#35199](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35199))\n- **gradle:** 将版本从 0.1.19 更新至 beta.11 ([#35202](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35202))\n- **maven:** 防止批处理执行器因工作进程提前退出而挂起 ([#35001](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35001), [#34757](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34757))\n- **maven:** 当 `maven.install.skip=true` 时，使安装目标为空操作 ([#35009](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35009))\n- **repo:** 更新 issue-notifier.yml 文件 ([#35178](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35178))\n\n### ❤️ 感谢\n\n- Alexandre Ducarne @JiggyJinjo\n- Claude\n- Claude Opus 4.6（1M 上下文）\n- Craigory Coppola @AgentEnder\n- FrozenPandaz @FrozenPandaz\n- Jack Hsu @jaysoo\n- Jason Jean @FrozenPandaz\n- jaysoo @jaysoo\n- Louie Weng @lourw\n- MaxKless @MaxKless\n- Victor Savkin @vsavkin","2026-04-08T00:45:29",{"id":191,"version":192,"summary_zh":193,"released_at":194},171845,"22.7.0-beta.10","## 22.7.0-beta.10（2026-04-02）\n\n### 🚀 功能\n\n- **misc:** 确定 CNW 云提示 A\u002FB 测试的胜出方案，并添加新变体 ([#35154](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35154))\n- **repo:** 通过 ESLint 强制执行 no-disabled-tests 规则，并为每个项目设置警告上限 ([#35122](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35122))\n\n### 🩹 修复\n\n- **bundling:** 将新项目的 esbuild 版本升级到与 vite 8 兼容的版本 ([#35132](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35132))\n- **core:** 通过文件白名单减少已发布 nx 包的大小 ([#35109](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35109))\n- **core:** 在 configure-ai-agents 过程中清理遗留的 .gemini\u002Fskills 目录 ([#35117](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35117))\n- **core:** 将 pnpm install 配置复制到生成的 package.json 中 ([#35016](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35016), [#30240](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F30240))\n- **core:** 改进 migrate 错误报告 ([#34980](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34980))\n- **core:** 当插件加载失败时，显示实际错误信息 ([#35138](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35138), [#35137](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F35137))\n- **core:** 将 axios 升级至 1.13.5，以解决 CVE-2026-25639 漏洞 ([#35148](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35148), [#35145](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F35145))\n- **core:** 更新并锁定 ejs 版本至 5.0.1 ([#35157](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35157))\n- **gradle:** 防止在重新计算项目图时 Gradle 和 Maven 守护进程堆积 ([#35143](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35143))\n- **js:** 在 start-local-registry 中使用显式的 nx\u002Fbin\u002Fnx 路径 ([#35127](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35127))\n- **js:** 解决 @nx\u002Fjs:library 生成器在 setupVerdaccio 中出现的 ENOWORKSPACES 测试错误 ([#34755](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34755))\n- **misc:** 在包管理器检测中使用工作区根目录，并在插件中规范化路径 ([#35116](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35116))\n- **repo:** 在复制缓存之前清理 Angular CLI 的恢复目标 ([#35121](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35121))\n- **repo:** 修正 docker 和 vue 包的构建目标输出 ([#35136](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35136))\n- **repo:** 缩小 copy-assets 的输出范围，以避免与 build-base 重叠 ([#35097](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35097))\n\n### ❤️ 感谢\n\n- Claude Opus 4.6\n- Jack Hsu @jaysoo\n- James Henry @JamesHenry\n- Jason Jean @FrozenPandaz\n- Leosvel Pérez Espinosa @leosvelperez\n- leosvelperez @leosvelperez\n- MaxKless @MaxKless\n- Parker Norwood @parker-norwood\n- Robert Sidzinka\n- Steven Nance","2026-04-02T20:16:39",{"id":196,"version":197,"summary_zh":198,"released_at":199},171846,"22.6.4","## 22.6.4 (2026-04-01)\n\n### 🚀 功能\n\n- **misc:** 将 nx init 的遥测元数据从 CSV 格式更新为 JSON 格式 ([#35076](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35076))\n- **nx-dev:** 在边缘函数中添加条件性的博客\u002F变更日志代理 ([#35043](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35043))\n\n### 🩹 修复\n\n- **core:** 在 create-nx-workspace 中验证 Angular 预设的 bundler 选项 ([#35074](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35074))\n- **core:** 在 CNW 中将 \".\" 和绝对路径作为工作区名称进行处理 ([#35083](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35083), [#1](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F1))\n- **core:** 锁定 axios 的版本 ([#35093](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35093))\n- **core:** 在原生哈希中保留兄弟依赖项的输入 ([#35071](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35071))\n- **core:** 沙盒排除、多行 typeof 导入检测、全局 ensurePackage 模拟 ([#35056](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35056))\n- **core:** no-interactive 应在 migrate 过程中禁用提示 ([#35106](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35106))\n- **gradle:** 增加项目图超时默认值 ([#35058](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35058))\n- **js:** 在 dependency-checks lint 规则中识别 tsgo ([#35048](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35048))\n- **js:** 将 tsc build-base 输出范围缩小到仅 tsc 生成的文件类型 ([#35041](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35041))\n- **js:** 在缩小后的 tsc build-base 输出中包含 tsbuildinfo ([#35086](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35086), [#35041](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F35041))\n- **js:** 在 start-local-registry 中使用显式的 nx\u002Fbin\u002Fnx 路径 ([#35127](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35127))\n- **misc:** 处理非交互模式，并为 CNW 添加模板简写名称 ([#35045](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35045))\n- **react:** 在框架模式下使用 React Router 时强制使用 Vite 7 ([#35101](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35101))\n- **react-native:** 使用 vite 的 transformWithEsbuild 替代直接导入 esbuild ([5771eb3346](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fcommit\u002F5771eb3346))\n- **repo:** 在发布工作流中将环境变量传递给 Docker 构建 ([#35060](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35060))\n- **repo:** 将 picomatch 从 4.0.2 升级到 4.0.4 ([#35081](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35081), [#35068](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F35068))\n- **repo:** 修复 lock-threads 在资源不可访问时失败的问题 ([#35005](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35005))\n- **repo:** 修复锁文件 ([b070e23445](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fcommit\u002Fb070e23445))\n- **repo:** 在上游 tapable 修复后重新启用 Cypress HMR 端到端测试 ([#35105](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35105), [#34969](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34969), [#20693](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F20693))\n- **repo:** 为 workspace-plugin 测试禁用 ts-jest 诊断信息 ([b013f93dca](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fcommit\u002Fb013f93dca))\n- **vite:** 更新 vitest 和 plugin-react-swc 版本以兼容 Vite 8 ([#35062](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35062))\n- **vite:** b","2026-04-01T16:34:48",{"id":201,"version":202,"summary_zh":203,"released_at":204},171847,"22.7.0-beta.9","## 22.7.0-beta.9（2026-03-31）\n\n### 🩹 修复\n\n- **core:** 恢复用于遥测会话跟踪的元数据表 ([#35099](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35099))\n- **core:** `no-interactive` 应在迁移过程中禁用提示 ([#35106](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35106))\n- **gradle:** 检测基于 `@Input` 提供者的依赖项 ([#35090](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35090))\n- **react:** 在框架模式下使用 React Router 时强制使用 Vite 7 ([#35101](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35101))\n- **repo:** 修复 `lock-threads` 在出现“资源不可访问”消息时失败的问题 ([#35005](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35005))\n- **repo:** 在上游 `tapable` 修复后重新启用 Cypress HMR 端到端测试 ([#35105](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35105)、[#34969](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34969)、[#20693](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F20693))\n\n### ❤️ 感谢\n\n- Craigory Coppola @AgentEnder\n- Jack Hsu @jaysoo\n- Jason Jean @FrozenPandaz\n- Louie Weng @lourw","2026-03-31T23:48:55",{"id":206,"version":207,"summary_zh":208,"released_at":209},171848,"22.7.0-beta.8","## 22.7.0-beta.8（2026-03-31）\n\n### 🚀 功能\n\n- **misc:** 将 nx init 的遥测元数据从 CSV 格式更新为 JSON 格式（[#35076](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35076)）\n- **repo:** 为 nx 包启用 tsgo 编译器（[#35047](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35047)）\n\n### 🩹 修复\n\n- **core:** 在 create-nx-workspace 中验证 Angular 预设的 bundler 选项（[#35074](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35074)）\n- **core:** 在 CNW 中将 \".\" 和绝对路径作为工作区名称进行处理（[#35083](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35083)，[#1](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F1)）\n- **core:** 锁定 axios 的版本（[#35093](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35093)）\n- **core:** 在原生哈希中保留兄弟依赖项输入（[#35071](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35071)）\n- **core:** 恢复 nx 包导出的兼容性（[#35095](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35095)）\n- **core:** 沙盒排除规则、多行 typeof 导入检测以及全局 ensurePackage 模拟（[#35056](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35056)）\n- **gradle:** 增加项目图超时默认值（[#35058](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35058)）\n- **gradle:** 对排除任务使用对象表示法（[#35085](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35085)）\n- **js:** 在缩小后的 tsc 构建基线输出中包含 tsbuildinfo（[#35086](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35086)，[#35041](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F35041)）\n- **repo:** 在发布工作流中将环境变量传递给 Docker 构建（[#35060](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35060)）\n- **repo:** 将 picomatch 从 4.0.2 升级到 4.0.4（[#35081](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35081)，[#35068](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F35068)）\n- **vite:** 更新 vitest 和 plugin-react-swc 的版本，以兼容 Vite 8（[#35062](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35062)）\n- **vite:** 为 Vue\u002FNuxt 预设升级 Sass 版本，以兼容 Vite 8（[#35073](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35073)）\n- **webpack:** 将 postcss-loader 升级至 ^8.2.1，以消除传递性的 yaml@1.x CVE（[#35028](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35028)，[#35025](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F35025)）\n\n### ❤️ 感谢\n\n- Jack Hsu @jaysoo\n- Jason Jean @FrozenPandaz\n- Leosvel Pérez Espinosa @leosvelperez\n- Louie Weng @lourw\n- lourw @lourw\n- Miroslav Jonaš @meeroslav\n- Robert Sidzinka","2026-03-31T15:30:40",{"id":211,"version":212,"summary_zh":213,"released_at":214},171849,"22.7.0-beta.7","## 22.7.0-beta.7（2026-03-28）\n\n### 🚀 功能\n\n- **nx-dev:** 在边缘函数中添加条件性的博客\u002F变更日志代理 ([#35043](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35043))\n\n### 🩹 修复\n\n- **gradle:** 提高项目图超时的默认值 ([#35058](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35058))\n- **js:** 在依赖检查的 lint 规则中识别 tsgo ([#35048](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35048))\n- **js:** 将 tsc 构建基础输出范围缩小到仅 tsc 生成的文件类型 ([#35041](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35041))\n- **misc:** 处理非交互模式，并为 CNW 添加模板简写名称 ([#35045](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35045))\n- **repo:** copy-assets 插件及端到端测试改进 ([#35042](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35042)、[#34994](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34994))\n- **repo:** 在发布工作流中将环境变量传递给 Docker 构建 ([#35060](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35060))\n- **vite:** 更新 vitest 和 plugin-react-swc 版本，以兼容 Vite 8 ([#35062](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35062))\n\n### ❤️ 感谢\n\n- Jack Hsu @jaysoo\n- Jason Jean @FrozenPandaz","2026-03-28T16:54:20",{"id":216,"version":217,"summary_zh":218,"released_at":219},171850,"22.6.3","## 22.6.3 (2026-03-27)\n\n### 🚀 功能\n\n- **其他:** 在 create-nx-workspace 中添加云提示文案的 A\u002FB 测试 ([#35039](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35039))\n\n### 🩹 修复\n\n- **JavaScript:** 在 TypeScript 插件中为 d.ts 文件集添加 {projectRoot} 前缀 ([#35037](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35037))\n- **其他:** 使用命名空间导入以兼容 chalk v4 ([7c9f873bd1](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fcommit\u002F7c9f873bd1))\n- **其他:** 处理非交互模式，并为 CNW 添加模板简写名称 ([#35045](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35045))\n\n### ❤️ 感谢\n\n- FrozenPandaz @FrozenPandaz\n- Jack Hsu @jaysoo\n- Jason Jean @FrozenPandaz\n","2026-03-27T18:37:50",{"id":221,"version":222,"summary_zh":223,"released_at":224},171851,"22.7.0-beta.6","## 22.7.0-beta.6（2026-03-27）\n\n### 🚀 功能\n\n- **misc:** 在 create-nx-workspace 中添加 A\u002FB 测试云端提示文案 ([#35039](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35039))\n\n### 🩹 修复\n\n- **core:** 为 nx\u002Frelease\u002Fchangelog-renderer 添加包导出 ([#35033](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35033))\n- **js:** 在 TypeScript 插件中为 d.ts 文件集添加 {projectRoot} 前缀 ([#35037](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35037))\n- **nx-dev:** 修正课程页面上的 YouTube 频道 URL ([#35034](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35034))\n- **repo:** 添加 copy-assets 插件，并将所有包从 legacy-post-build 迁移过来 ([#34994](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34994))\n\n### ❤️ 感谢\n\n- FrozenPandaz @FrozenPandaz\n- Jack Hsu @jaysoo\n- James Henry @JamesHenry\n- Jason Jean @FrozenPandaz\n- Juri Strumpflohner @juristr","2026-03-27T17:32:25",{"id":226,"version":227,"summary_zh":228,"released_at":229},171852,"22.6.2","## 22.6.2 (2026-03-26)\n\n### 🚀 功能\n\n- **core:** 在 create-nx-workspace 过程中自动打开浏览器访问云设置 URL ([#35014](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35014))\n- **repo:** 添加 nx-labs 仓库目标，并使用 glob 模式更新所有仓库 ([#34999](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34999))\n\n### 🩹 修复\n\n- **angular:** 更新重复的迁移键 ([#34961](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34961))\n- **angular-rspack:** 确保重新构建时输出的 chunk 摘要准确 ([#34979](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34979), [#34936](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34936))\n- **bundling:** 禁用 swc 输入源映射解析 ([#35010](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35010), [#32671](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F32671))\n- **core:** split-target 应更好地处理名称中包含冒号的项目 ([#34725](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34725))\n- **core:** 防止在任务完成后才到达输出时导致 TUI 崩溃 ([#34785](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34785), [#34677](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34677))\n- **core:** 对独立任务的并发数尊重 --parallel 的限制 ([#34721](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34721), [#34117](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34117), [#31494](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F31494))\n- **core:** 在 TUI 中使用基于滚动偏移的滚动条定位方式 ([#34689](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34689))\n- **core:** 在原生扫描器中跳过 import-equals 的命名空间别名 ([#34947](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34947), [#34644](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34644))\n- **core:** 在所有遥测事件中包含命令名称 ([#34949](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34949))\n- **core:** 当全局 bin 将控制权移交给本地时，跳过工作区上下文的设置过程 ([#34953](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34953), [#34914](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34914))\n- **core:** 使用 upsert 防止任务数据库中的外键约束违规 ([#34977](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34977))\n- **core:** 运行时输入不应在 task_hasher 层缓存，文件集应位于 hash_plans 层 ([#34971](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34971), [#30170](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F30170))\n- **core:** 当隔离插件在钩子执行完毕后关闭时，显示更清晰的日志信息 ([#34922](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34922))\n- **core:** 处理移动或删除操作时的拥有者和一致性项目引用 ([#34815](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34815))\n- **core:** 解决已发布的 nx migrate 包的解析问题 ([#35013](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35013), [#34111](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34111))\n- **core:** 防止批处理执行器在任务提前完成时出现错误 ([#35015](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35015))\n- **core:** 为 GitHub 推送流程添加超时机制，以防止 CLI 卡死 ([#35011](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35011), [#34482](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34482))\n- **devkit:** 防止在 TS 解决方案工作区的生成器中发生重复安装 ([#34891](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34891))\n- **devki","2026-03-26T22:55:12",{"id":231,"version":232,"summary_zh":233,"released_at":234},171853,"22.7.0-beta.5","## 22.7.0-beta.5 (2026-03-27)\n\n### 🚀 功能\n\n- **core:** 在 create-nx-workspace 过程中自动打开浏览器访问云设置 URL ([#35014](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35014))\n- **repo:** 添加 nx-labs 仓库目标，并使用 glob 模式更新所有仓库 ([#34999](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34999))\n\n### 🩹 修复\n\n- **bundling:** 禁用 swc 输入源映射解析 ([#35010](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35010), [#32671](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F32671))\n- **core:** 当隔离插件在钩子执行完成后关闭时，显示更友好的日志信息 ([#34922](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34922))\n- **core:** 处理项目移动或删除时的所有者和合规性项目引用问题 ([#34815](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34815))\n- **core:** 解决已发布 nx migrate 包的解析问题 ([#35013](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35013), [#34111](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34111))\n- **core:** 防止批处理执行器在任务过早完成时出现错误 ([#35015](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35015))\n- **core:** 为 GitHub 推送流程添加超时机制，以防止 CLI 卡死 ([#35011](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35011), [#34482](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34482))\n- **core:** 防止因输出 glob 范围过大而导致 nx watch 出现无限循环 ([#34995](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34995))\n- **devkit:** 向 TaskResult 接口添加 startTime 和 endTime 属性 ([#34996](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34996))\n- **js:** 在依赖项目的 .d.ts 文件中添加输入依赖 ([#34968](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34968))\n- **misc:** 使网络研讨会横幅支持主题切换，并兼容浅色模式 ([#35029](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35029))\n- **repo:** 解决 FreeBSD 构建中的磁盘空间问题 ([#35030](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F35030))\n- **vite:** 添加对 Vite 8 的支持 ([#34850](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34850), [#34849](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34849))\n\n### ❤️ 感谢\n\n- AgentEnder @AgentEnder\n- barbados-clemens @barbados-clemens\n- Caleb Ukle\n- Claude Opus 4.6\n- Craigory Coppola @AgentEnder\n- FrozenPandaz @FrozenPandaz\n- Jack Hsu @jaysoo\n- Jason Jean @FrozenPandaz\n- Leosvel Pérez Espinosa @leosvelperez\n- Louie Weng @lourw\n- Robert Sidzinka\n- Steven Nance\n","2026-03-27T02:34:59",{"id":236,"version":237,"summary_zh":238,"released_at":239},171854,"22.7.0-beta.4","## 22.7.0-beta.4 (2026-03-24)\n\n### 🚀 Features\n\n- **core:** decouple DB version from Nx version and share DB across worktrees ([#34942](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34942))\n\n### 🩹 Fixes\n\n- **angular-rspack:** ensure rebuild chunks emitted summary accurate ([#34979](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34979), [#34936](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34936))\n- **core:** use upsert to prevent FK constraint violations in task DB ([#34977](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34977))\n- **core:** runtime inputs shouldn't be cached at task_hasher layer and filesets should be in the hash_plans layer ([#34971](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34971), [#30170](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F30170))\n- **core:** suppress postinstall error output when nx is not yet built ([#34986](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34986))\n- **gradle:** ignore test enums when atomizing ([#34974](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34974))\n- **js:** pass configName to typecheck command in TS plugin ([#34989](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34989), [#34274](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34274))\n- **nx-cloud:** remove invalid images ([#34997](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34997), [#34970](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34970))\n- **nx-dev:** improve docs search ranking and metrics ([#34992](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34992))\n- **repo:** use @nx\u002Fnx-source export condition in jest resolver ([#34972](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34972))\n- **vitest:** resolve addPlugin default in init generator ([#34990](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34990))\n\n### ❤️ Thank You\n\n- Caleb Ukle\n- Colum Ferry @Coly010\n- Craigory Coppola @AgentEnder\n- Jason Jean @FrozenPandaz\n- Leosvel Pérez Espinosa @leosvelperez\n- Louie Weng @lourw\n","2026-03-24T20:55:25",{"id":241,"version":242,"summary_zh":243,"released_at":244},171855,"22.7.0-beta.3","## 22.7.0-beta.3 (2026-03-23)\n\n### 🩹 Fixes\n\n- **angular:** update duplicate migration keys ([#34961](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34961))\n- **core:** prevent TUI crash when task output arrives after completion ([#34785](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34785), [#34677](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34677))\n- **core:** respect --parallel limit for discrete task concurrency ([#34721](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34721), [#34117](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34117), [#31494](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F31494))\n- **core:** use scroll-offset-based scrollbar positioning in TUI ([#34689](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34689))\n- **core:** skip import-equals namespace aliases in native scanner ([#34947](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34947), [#34644](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34644))\n- **core:** include command name on all telemetry events ([#34949](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34949))\n- **core:** skip workspace context setup when global bin hands off to local ([#34953](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34953), [#34914](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34914))\n- **core:** add explicit exports entry for nx\u002Fsrc\u002Fnative directory ([#34967](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34967), [#34111](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34111))\n- **release:** fall back to gh user search for author usernames ([#34904](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34904))\n- **repo:** skip flaky Cypress HMR e2e tests ([#34969](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34969))\n\n### ❤️ Thank You\n\n- AI-JamesHenry @AI-JamesHenry\n- Amp\n- Charlie Croom\n- FrozenPandaz @FrozenPandaz\n- Jack Baker\n- Jason Jean @FrozenPandaz\n- Leosvel Pérez Espinosa @leosvelperez\n","2026-03-23T23:20:29",{"id":246,"version":247,"summary_zh":248,"released_at":249},171856,"22.7.0-beta.2","## 22.7.0-beta.2 (2026-03-21)\n\n### 🩹 Fixes\n\n- **core:** set windowsHide: true on all child process spawns ([#34894](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34894), [#34455](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34455))\n- **core:** split-target should handle projects with colons in name better ([#34725](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34725))\n- **devkit:** prevent double install in generators for TS solution workspaces ([#34891](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34891))\n- **gradle:** remove annotations from atomizer ([#34871](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34871))\n- **linter:** prepend framework configs before baseConfig in flat config generation ([#34898](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34898), [#28381](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F28381), [#32923](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F32923))\n- **module-federation:** enable ESM output for Angular rspack MF plugin ([#34839](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34839), [#34584](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34584), [#33992](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F33992))\n- **nx-dev:** build nx-dev in-place to fix ai package resolution ([#34730](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34730), [#34669](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34669))\n- **testing:** gracefully handle broken jest configs in alias migration ([#34901](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34901))\n\n### ❤️ Thank You\n\n- Claude Opus 4.6\n- Craigory Coppola @AgentEnder\n- FrozenPandaz @FrozenPandaz\n- Jack Hsu @jaysoo\n- Jason Jean @FrozenPandaz\n- jaysoo @jaysoo\n- Juri Strumpflohner @juristr\n- Leosvel Pérez Espinosa @leosvelperez\n- Louie Weng @lourw\n- lourw @lourw\n","2026-03-21T00:45:09",{"id":251,"version":252,"summary_zh":253,"released_at":254},171857,"22.6.1","## 22.6.1 (2026-03-20)\n\n### 🩹 Fixes\n\n- **core:** skip analytics and DB connection when global bin hands off to local ([#34914](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34914))\n- **core:** properly quote shell metacharacters in CLI args passed to tasks ([#34491](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34491), [#32305](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F32305), [#26682](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F26682))\n- **core:** avoid redundant project graph requests in ngcli adapter ([#34907](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34907))\n- **core:** ensure postTasksExecution fires on SIGINT for continuous tasks ([#34876](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34876), [#34623](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34623), [#34869](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34869))\n- **core:** improve error handling in nx migrate registry fetching ([#34926](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34926), [#33014](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F33014), [#33135](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F33135))\n- **core:** remove CRA migration logic from nx init ([#34912](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34912))\n- **core:** pass collectInputs flag through daemon IPC for task hashing ([#34915](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34915))\n- **core:** prevent DB corruption from concurrent initialization ([#34861](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34861))\n- **core:** set windowsHide: true on all child process spawns ([#34894](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34894), [#34455](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34455))\n- **gradle:** remove annotations from atomizer ([#34871](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34871))\n- **js:** normalize cwd path separator in typescript plugin targets ([#34911](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34911))\n- **js:** preserve tsconfig fields in typescript plugin cache ([#34908](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34908))\n- **linter:** detect require() calls in enforce-module-boundaries rule ([#34896](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34896), [#34096](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34096))\n- **linter:** use native nx.configs in convert-to-flat-config for Nx plugins ([#34897](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34897), [#31736](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F31736))\n- **linter:** convert project-level eslint configs and log when skipped ([#34899](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34899), [#29458](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F29458))\n- **linter:** use root config to determine ESLint class in plugin ([#34900](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34900), [#32110](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F32110))\n- **nx-dev:** resolve changelog page 500 error ([#34920](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34920), [#34909](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34909))\n- **testing:** handle undefined options in playwright preset ([#34750](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34750))\n- **testing:** gracefully handle broken jest configs in alias migration ([#34901](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34901))\n\n### ❤️ Thank You\n\n- Caleb Ukle\n- Claude Opus 4.6\n- Claude Opus 4.6 (1M context)\n- Craigory Coppola @AgentEnder\n- Eric Baer\n- FrozenPandaz @FrozenPandaz\n- Jack Hsu @jaysoo\n- Jason Jean @FrozenPandaz\n- John Wiegert\n- Juri Strumpflohner @juristr\n- Leosvel Pérez Espinosa @leosvelperez\n- Louie Weng @lourw\n- lourw @lourw\n","2026-03-20T16:17:35",{"id":256,"version":257,"summary_zh":258,"released_at":259},171858,"22.7.0-beta.1","## 22.7.0-beta.1 (2026-03-19)\n\n### 🩹 Fixes\n\n- **core:** prevent DB corruption from concurrent initialization ([#34861](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34861))\n\n### ❤️ Thank You\n\n- Leosvel Pérez Espinosa @leosvelperez\n","2026-03-19T23:13:55",{"id":261,"version":262,"summary_zh":263,"released_at":264},171859,"22.7.0-beta.0","## 22.7.0-beta.0 (2026-03-19)\n\n### 🚀 Features\n\n- **core:** add .nx\u002Fself-healing to .gitignore ([#34855](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34855))\n\n### 🩹 Fixes\n\n- **core:** skip analytics and DB connection when global bin hands off to local ([#34914](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34914))\n- **core:** properly quote shell metacharacters in CLI args passed to tasks ([#34491](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34491), [#32305](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F32305), [#26682](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F26682))\n- **core:** avoid redundant project graph requests in ngcli adapter ([#34907](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34907))\n- **core:** ensure postTasksExecution fires on SIGINT for continuous tasks ([#34876](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34876), [#34623](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34623), [#34869](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34869))\n- **core:** improve error handling in nx migrate registry fetching ([#34926](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34926), [#33014](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F33014), [#33135](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F33135))\n- **core:** remove CRA migration logic from nx init ([#34912](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34912))\n- **core:** pass collectInputs flag through daemon IPC for task hashing ([#34915](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34915))\n- **js:** normalize cwd path separator in typescript plugin targets ([#34911](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34911))\n- **js:** preserve tsconfig fields in typescript plugin cache ([#34908](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34908))\n- **linter:** detect require() calls in enforce-module-boundaries rule ([#34896](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34896), [#34096](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34096))\n- **linter:** use native nx.configs in convert-to-flat-config for Nx plugins ([#34897](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34897), [#31736](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F31736))\n- **linter:** convert project-level eslint configs and log when skipped ([#34899](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34899), [#29458](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F29458))\n- **linter:** use root config to determine ESLint class in plugin ([#34900](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34900), [#32110](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F32110))\n- **nx-dev:** resolve changelog page 500 error ([#34920](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34920), [#34909](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34909))\n- **testing:** handle undefined options in playwright preset ([#34750](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34750))\n\n### ❤️ Thank You\n\n- Caleb Ukle\n- Claude Opus 4.6 (1M context)\n- Craigory Coppola @AgentEnder\n- Eric Baer\n- Jack Hsu @jaysoo\n- Jason Jean @FrozenPandaz\n- John Wiegert\n- Leosvel Pérez Espinosa @leosvelperez\n- MaxKless @MaxKless\n","2026-03-19T21:13:16",{"id":266,"version":267,"summary_zh":268,"released_at":269},171860,"22.6.0","## 22.6.0 (2026-03-18)\n\n### 🚀 Features\n\n- **angular:** add support for Angular v21.2 ([#34592](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34592))\n- **core:** update formatting of agent rules documentation ([#33356](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F33356))\n- **core:** add nxVersion to meta in shortUrl for cnw ([#34401](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34401))\n- **core:** handle agentic sandboxing ([#34402](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34402))\n- **core:** extract sandbox detection into reusable utility ([#34408](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34408))\n- **core:** add negation pattern support for plugin include\u002Fexclude ([#34160](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34160))\n- **core:** add --stdin to affected options ([#34435](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34435), [#28770](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F28770))\n- **core:** support dependency filesets with ^{projectRoot} syntax ([#34310](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34310))\n- **core:** add agentic mode to nx init ([#34418](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34418))\n- **core:** automatically set up ai agents in cnw\u002Finit when run from within an ai agent ([#34469](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34469))\n- **core:** implement configure-ai-agents outdated message after tasks ([#34463](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34463))\n- **core:** improve codex support for configure-ai-agents ([#34488](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34488))\n- **core:** add --otp to top-level nx release command and detect EOTP errors ([#34473](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34473))\n- **core:** use static_vcruntime to avoid msvcrt dependency ([#19781](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F19781), [#19779](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F19779))\n- **core:** add commands for debugging cache inputs \u002F outputs ([#34414](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34414))\n- **core:** improve AX of configure-ai-agents with auto-detection ([#34496](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34496))\n- **core:** add AI agent mode to nx import ([#34498](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34498))\n- **core:** add preferBatch executor option ([#34293](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34293))\n- **core:** add --json flag for better AX to nx list ([#34551](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34551))\n- **core:** add passthrough for nx-cloud apply-locally command ([#34557](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34557))\n- **core:** add yarn berry catalog support ([#34552](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34552))\n- **core:** add explicit cloud opt-out to CNW ([#34580](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34580))\n- **core:** use jemalloc with tuned decay timers for native module ([#34444](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34444), [#99](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F99))\n- **core:** add .nx\u002Fpolygraph to gitignore in migration and caia ([#34659](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34659))\n- **core:** migrate napi-rs v2 to v3 ([#34619](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34619))\n- **core:** add Codex subagent support to configure-ai-agents ([#34553](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34553))\n- **core:** add polygraph command to initiaze cross-repo sessions ([#34722](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34722))\n- **core:** add safe plugin cache write utilities with LRU eviction ([#34503](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34503))\n- **core:** add analytics ([#34144](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34144))\n- **core:** persist analytics session ID across CLI invocations ([#34763](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34763))\n- **core:** centralize perf tracking and report metrics to telemetry ([#34795](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34795))\n- **core:** prompt for analytics preference during workspace creation ([#34818](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34818))\n- **core:** add task and project count telemetry via performance lifecycle ([#34821](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34821))\n- **core:** bring back cloud prompts and templates in CNW ([#34887](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34887), [#34671](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34671), [#34818](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34818))\n- **devkit:** add NX_SKIP_FORMAT environment variable to skip Prettier formatting ([#34336](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34336), [#30426](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F30426), [#30403](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F30403))\n- **gradle:** add properties and wrappers to inputs ([#34778](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34778))\n- **js:** support configurable typecheck config name ([#34675](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34675))\n- **js:** add deps-sync generator ([#34407](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34407))\n- **maven:** report external Maven dependencies in project graph ([#34368](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34368))\n- **misc:** update PLUGIN.md files to help agents verification ([#34379](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34379))\n- **misc:** lock in CNW variant 2 with deferred connection ([#34416](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34416))\n- **misc:** use caret range for swc dependencies in pnpm catalog ([#34487](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34487), [#34472](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34472))\n- **misc:","2026-03-18T14:03:13",{"id":271,"version":272,"summary_zh":273,"released_at":274},171861,"22.6.0-rc.2","## 22.6.0-rc.2 (2026-03-17)\n\n### 🚀 Features\n\n- **core:** bring back cloud prompts and templates in CNW ([#34887](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34887), [#34671](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34671), [#34818](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34818))\n\n### 🩹 Fixes\n\n- **nx-dev:** cross site link checks working as expected ([#34685](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34685))\n\n### ❤️ Thank You\n\n- barbados-clemens @barbados-clemens\n- Caleb Ukle\n- Claude Opus 4.6\n- Jack Hsu @jaysoo\n","2026-03-17T21:20:49",{"id":276,"version":277,"summary_zh":278,"released_at":279},171862,"22.6.0-rc.1","## 22.6.0-rc.1 (2026-03-17)\r\n\r\n### 🚀 Features\r\n\r\n- **js:** add deps-sync generator ([#34407](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34407))\r\n- **misc:** track server page views for AI traffic using Netlify-Agent-Category ([#34883](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34883))\r\n\r\n### 🩹 Fixes\r\n\r\n- **core:** ensure postTasksExecution fires on SIGINT for continuous tasks \" ([#34623](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34623), [#34869](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34869))\r\n- **core:** add .claude\u002Fsettings.local.json to .gitignore ([#34870](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34870))\r\n- **core:** show continuous property in nx show target ([#34867](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34867))\r\n- **core:** detect npm from package-lock.json before falling back to invoking PM ([#34877](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34877), [#34691](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fissues\u002F34691))\r\n- **core:** trim memory usage associated with io-tracing service ([#34866](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34866))\r\n- **core:** ensure workers shutdown after phase cancelled ([#34799](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34799))\r\n- **core:** avoid overwhelming DB with connections during analytics init ([#34881](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34881))\r\n- **gradle:** always check disk cache for gradle project graph reports ([#34873](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34873))\r\n- **nx-cloud:** download light client to tmp dir when outside nx workspace ([#34805](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34805))\r\n- **vite:** pin vitest v4 to ~4.0.x to fix Yarn Classic resolution failure ([#34878](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34878))\r\n\r\n### ❤️ Thank You\r\n\r\n- Claude\r\n- Claude Opus 4.6 (1M context)\r\n- Craigory Coppola @AgentEnder\r\n- Jack Hsu @jaysoo \r\n- Jason Jean @FrozenPandaz \r\n- Leosvel Pérez Espinosa @leosvelperez \r\n- lourw @lourw\r\n- MaxKless @MaxKless\r\n- Miroslav Jonaš @meeroslav \r\n- Victor Savkin @vsavkin ","2026-03-17T19:41:01",{"id":281,"version":282,"summary_zh":283,"released_at":284},171863,"22.6.0-rc.0","## 22.6.0-rc.0 (2026-03-16)\n\n### 🩹 Fixes\n\n- **core:** ensure postTasksExecution fires on SIGINT for continuous tasks \" ([#34623](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34623), [#34869](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34869))\n- **core:** add .claude\u002Fsettings.local.json to .gitignore ([#34870](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34870))\n- **nx-cloud:** download light client to tmp dir when outside nx workspace ([#34805](https:\u002F\u002Fgithub.com\u002Fnrwl\u002Fnx\u002Fpull\u002F34805))\n\n### ❤️ Thank You\n\n- Jason Jean @FrozenPandaz\n- Victor Savkin @vsavkin\n","2026-03-16T21:15:29"]