Ever Gauzy 仓库的 Nx 开发协作规范与 Windows 代码搜索实践
后端前端企业应用MCP 服务【免费下载链接】ever-gauzyEver® Gauzy™ - Open Business Management Platform (ERP/CRM/HRM/ATS/PM) - https://gauzy.co项目地址https://gitcode.com/GitHub_Trending/ev/ever-gauzy点击查看免费下载本篇技术指南以仓库根目录的 AGENTS.md 为骨架系统讲解 Ever Gauzy 这一大型 Nx Monorepo 中「如何正确执行任务」「如何借助 Nx MCP 工具理解工作区」「如何在 Windows 下避免代码搜索漏文件」三组核心工程规范。读完本文你将掌握 Ever Gauzy 仓库中 build/lint/test/e2e 的标准命令形态、Nx 缓存与依赖编排的实际配置以及 Windows 环境下findstr /S与 ripgrep 的正确分工可直接用于日常开发和 AI Agent 协作。一、从 AGENTS.md 说起这份文件在规范什么AGENTS.md 位于仓库根目录是一份面向「在 Ever Gauzy 仓库中工作的 AI Agent以及人类开发者」的工程协作指南。它的结构非常有代表性顶部有一段被!-- nx configuration start--与!-- nx configuration end--注释包裹的自动更新区域由 Nx 工具链自动维护改动后会被覆盖因此该区域内容不应手工修改正文只聚焦两件事Nx 工作区中的任务执行总则与Windows 下的文件搜索注意事项。换句话说这份文件并没有介绍 ERP/CRM/HRM 业务功能而是把注意力全部放在「如何在一个庞大的 Nx Monorepo 里高效、正确地开发与检索代码」上。这与 Ever Gauzy 的仓库形态高度匹配——从文件清单可以看到仓库同时包含apps/gauzy 前端、api 服务、desktop 桌面端、worker 等应用与packages/core、contracts、ui-core 等数十个库以及packages/plugins/下大量可插拔插件没有统一的任务编排规范开发和自动化协作将寸步难行。二、Ever Gauzy 的 Nx Monorepo 骨架2.1 仓库布局与包管理Ever Gauzy 采用 Nx 管理的单仓库Monorepo同时通过 Lerna 做发布编排。根目录 lerna.json 明确声明useNx: true并列出被管理的包范围为apps/*、packages/*、packages/plugins/*npmClient 为yarn安装时使用--no-package-lock即依赖 yarn.lock。根 package.json 中private: true、license: AGPL-3.0所有任务脚本都以yarn nx ...形式存在印证了「Nx 是唯一任务入口」的设计。2.2 nx.json 里的关键全局配置根目录 nx.json 定义了整个工作区的行为是理解「为什么文档要求用 nx 跑任务」的第一手证据配置项值含义defaultProjectgauzy不带项目名执行nx命令时默认作用于 gauzy 前端应用defaultBasedevelopnx affected计算受影响范围时对比的基准分支parallel8最多并行执行 8 个任务useDaemontrue启用 Nx 守护进程加速增量计算useInferencePluginsfalse不启用推断插件任务完全由各项目 project.json 显式声明cli.packageManageryarnNx 内部调用包管理器时的选择cli.defaultCollectionnstudio/xplat生成器默认集合angular.json 的schematicCollections同样指向它namedInputs定义了三类输入集合default项目所有文件 sharedGlobals 工作区级配置、sharedGlobals根 package.json、tsconfig 系列、环境变量文件、Node 平台/架构/版本运行时探测等、production在 default 基础上排除所有*.spec.ts与*.test.ts。这些输入集合决定了 Nx 计算缓存命中时的「文件指纹」例如targetDefaults中build的inputs为[production, ^production]意味着测试文件的变更不会使生产构建缓存失效。targetDefaults则统一了各项目的任务行为build、lint、test、e2e均开启cache: true可复用本地/远程缓存build、nx/angular:package、nx/webpack:webpack、nx/js:tsc、angular-devkit/build-angular:application等均声明dependsOn: [^build]即先构建所有被依赖的项目这正是「在 Ever Gauzy 里直接运行底层工具会因依赖包未构建而失败」的根本原因nx/jest:jest配置了passWithNoTests: true并预置ci配置ci: truecodeCoverage: true。此外release.version.preVersionCommand为yarn nx run-many -t build发布前会先整体构建一次。三、总则让 nx 成为唯一任务入口AGENTS.md 给出的第一条、也是最核心的一条准则是当运行任务如 build、lint、test、e2e 等时始终优先通过nx即nx run、nx run-many、nx affected执行而不是直接使用底层工具链。这一条并非教条。仓库根 package.json 的脚本体系就是活生生的例子# 任意项目的构建/服务/测试统一走 nx yarn nx run-many -t build -c development -p api,gauzy # 等价于 yarn build yarn nx run-many -t build -c production -p api,gauzy # 等价于 yarn build:prod yarn nx affected:apps yarn nx affected:libs yarn nx affected:build yarn nx affected:e2e yarn nx affected:test yarn nx affected:lint yarn nx dep-graph # 可视化项目依赖图 yarn nx format:write # 统一格式化仓库甚至把ng命令直接重定向到 Nxng: cross-env NODE_ENVdevelopment NODE_OPTIONS--max-old-space-size12288 yarn nx因此yarn ng serve gauzy实际执行的是yarn nx serve gauzyyarn ng:prod build gauzy -cproduction则是NODE_ENVproduction下的yarn nx build gauzy -cproduction。所有任务的解析、依赖排序、缓存判定都交给 Nx 完成。为什么要这样做结合 2.2 节可以看到Ever Gauzy 的packages/core等库被apps/api等应用隐式依赖apps/api/project.json 中implicitDependencies: [core]应用构建前必须先构建依赖库。用nx run-many -t build时Nx 依据dependsOn: [^build]自动编排先后顺序并复用缓存直接webpack/tsc/ng build则完全没有这层保障还会绕过namedInputs的缓存指纹计算。同理nx affected只有通过 Nx 计算「自develop分支以来受影响的项目」才有意义。四、用 Nx MCP 工具理解与调试工作区AGENTS.md 强调你有权访问 Nx MCP 服务器应当善用其工具回答仓库相关问题时优先用nx_workspace了解整体架构在单个项目内工作时用nx_project_details分析项目结构与依赖遇到 Nx 配置或最佳实践疑问时用nx_docs获取最新权威文档而不是自行猜测。这些工具与仓库配置的对应关系非常清晰nx_workspace读取整个工作区的项目清单、任务图与依赖关系也可以用来获取 Nx 配置错误或项目图错误的具体报错AGENTS.md 明确建议用户遇到 Nx 配置或 project graph 错误时用nx_workspace获取错误信息。在 Ever Gauzy 中workspace 元信息由 nx.json、根 project.json含local-registry目标以及各应用的 project.json 共同组成。nx_project_details用于分析单个项目。例如 apps/gauzy/project.json 中 gauzy 应用有buildangular-builders/custom-webpack:browser、serveangular-builders/custom-webpack:dev-server默认配置local代理配置指向 apps/gauzy/proxy.conf.json、desktop-ui、server-ui、testnx/jest:jest等目标apps/api/project.json 中 api 的build由nx/webpack:webpack驱动targetnode、compilerswc、showCircularDependenciesfalseserve由nx/js:node驱动调试端口 9229。nx_docs用于查询 Nx 配置语法与最佳实践。当不确定inputs、namedInputs、cacheableOperations等语义时文档工具优先于经验猜测。以 packages/core/project.json 为例可以看到一个库项目可以同时拥有非常多样的目标buildnx/js:tsc输出到dist/packages/core、servenx:run-commands调用 nodemon ts-node 监听packages/core/src、test-postgres-migrationsnx:run-commands运行node --test .scripts/tenant-stripe-customer.postgres.test.cjs、lint、test等。这类「同一项目多目标、多执行器」的复杂度正是 AGENTS.md 建议先借助 MCP 工具看清结构、再动手的原因。五、Nx 插件最佳实践查阅 PLUGIN.mdAGENTS.md 补充了一条容易被忽略的插件准则对于 Nx 插件最佳实践请查看node_modules/nx/plugin/PLUGIN.md。并非所有插件都有该文件——没有就跳过不要阻塞。这条建议与 Ever Gauzy 实际使用的插件族高度相关。从各 project.json 的executor字段可以看到仓库横跨多类插件nx/angularAngular 应用/库、nx/jest:jest测试、nx/eslint:lint静态检查、nx/webpack:webpackapi 服务打包、nx/js:tsc与nx/js:node纯 TypeScript 库与 Node 服务、nx:run-commands任意命令封装。其中部分插件在安装后会在node_modules/nx/plugin/PLUGIN.md提供针对该插件的本地化最佳实践文档比通用文档更贴合当前安装版本适合作为权威参考同时也要接受「个别插件没有该文件」的现实以其他文档为准。六、Windows 下代码搜索ripgrep 可能静默漏文件AGENTS.md 用「IMPORTANT」级别强调了 Windows 环境的搜索陷阱内置的grep_search工具基于 ripgrep在 Windows 上可能静默漏掉文件——即使文件明显包含搜索词也会返回空结果。这可能与包含空格的工作区路径、过长路径或其他 Windows 特定问题有关。关键搜索务必用findstr /S交叉验证。6.1 推荐做法始终用 findstr /S 做完整搜索# 递归搜索 packages/ 下所有 .ts 文件 findstr /S /N searchTerm packages\*.ts # 忽略大小写搜索 findstr /S /N /I searchterm packages\*.ts # 跨全部源码目录搜索 findstr /S /N searchTerm packages\*.ts apps\*.ts参数说明/S递归遍历子目录/N输出行号/I忽略大小写。对 Ever Gauzy 这种源码分布在apps/、packages/、packages/plugins/三层目录的仓库一条findstr /S /N searchTerm packages\*.ts apps\*.ts就能覆盖绝大多数 TypeScript 源码。6.2 工具选择对照表原文档完整继承工具使用场景grep_search快速搜索——但关键结果务必用findstr验证findstr /S /N完整搜索——当完整性至关重要时使用find_by_name按文件名/模式查找文件三者并非竞争关系而是分工关系find_by_name解决「文件在哪」grep_search解决「快速定位」findstr /S /N解决「Windows 下结果可信」。实践中的正确姿势是先用grep_search快速试探凡涉及关键决策例如判断某个 API 是否被引用、某个配置项是否有消费者必须用findstr /S /N复核若二者结果不一致以findstr为准并排查路径空格等 Windows 因素。七、规范落地的日常命令速查综合 AGENTS.md 与根 package.json在 Ever Gauzy 仓库中的高频操作如下# 本地全栈开发api gauzy 前端同时启动 yarn start yarn start:watch # 额外包含 watch:packagesnx watch 自动重建依赖包 # 构建 yarn build # nx run-many -t build -c development -p api,gauzy yarn build:prod # nx run-many -t build -c production -p api,gauzy yarn build:gauzy # 仅前端 yarn build:api # 仅后端 # 测试 / 静态检查 / 依赖图 yarn test # 配置环境后 nx test yarn lint yarn dep-graph # 影响范围分析基于 defaultBasedevelop yarn affected:apps yarn affected:libs yarn affected:build yarn affected:test在 Windows 上进行上述任何开发前请先确保搜索手段可靠第 6 节在修改或分析代码时始终通过nx触发任务让 nx.json 中的缓存、依赖排序与affected计算发挥作用——这就是 Ever Gauzy 这套开发协作规范的核心价值所在。赞分享后端前端企业应用MCP 服务【免费下载链接】ever-gauzyEver® Gauzy™ - Open Business Management Platform (ERP/CRM/HRM/ATS/PM) - https://gauzy.co项目地址https://gitcode.com/GitHub_Trending/ev/ever-gauzy点击查看免费下载相关推荐AGENTS.md 编码代理协作指南obsidian-copilot 仓库的 AI 辅助开发规范与实践AGENTS.md 编码代理协作指南obsidian copilot 仓库的 AI 辅助开发规范与实践 本文以仓库根目录的 AGENTS.md https:/AI 应用大模型AI Agent交互助手RAGDankMaterialShell 仓库开发协作指南从 AGENTS.md 到代码库实战规范DankMaterialShell 仓库开发协作指南从 AGENTS.md 到代码库实战规范 本文以 DankMaterialShellDMS仓库根目录的桌面应用JupyterLab 仓库 AI 代理开发协作指南基于 AGENTS.md 的源码级工作规范与实践JupyterLab 仓库 AI 代理开发协作指南基于 AGENTS.md 的源码级工作规范与实践 本文以 JupyterLab 仓库根目录下的 AGENTS前端后端数据科学开发工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

文生图 → 图生视频两段式管线:minimax-h3-int8 进阶工作流设计指南

文生图 → 图生视频两段式管线:minimax-h3-int8 进阶工作流设计指南

文生图 → 图生视频两段式管线:minimax-h3-int8 进阶工作流设计指南 【免费下载链接】minimax-h3-int8 项目地址: https://ai.gitcode.com/xujiashuai/minimax-h3-int8 文生图(T2I)→ 图片审核 → 图生视频(I2V&#xff0…

2026/9/30 0:48:47 阅读更多 →
为什么敢让AI智能体执行系统命令?mercury-agent多层权限系统完整解析

为什么敢让AI智能体执行系统命令?mercury-agent多层权限系统完整解析

为什么敢让AI智能体执行系统命令?mercury-agent多层权限系统完整解析 【免费下载链接】mercury-agent Soul-driven AI agent with permission-hardened tools, token budgets, and multi-channel access. Runs 24/7 from CLI, Telegram or More. 项目地址: https:…

2026/9/30 0:48:47 阅读更多 →
superpowers实战:为Codex注入技能包,打造半自主AI编码代理

superpowers实战:为Codex注入技能包,打造半自主AI编码代理

朋友们,最近不管刷哪个开发社区,都能看到“superpowers”这个热词蹭蹭往上涨,连着“superpowers java”“codex superpowers”一起冲上热搜榜。我一开始也以为又是某个炫酷前端框架,结果仔细扒了一圈才发现,这玩意儿跟…

2026/9/30 0:47:47 阅读更多 →

最新新闻

DeepSeek职场智能体落地实战:提示工程、工作流编排与本地部署

DeepSeek职场智能体落地实战:提示工程、工作流编排与本地部署

简介:本资源是一份聚焦DeepSeek大模型职场落地实践的深度指南,面向企业员工、创意工作者、新媒体运营及AI技术爱好者,解决如何将前沿AI能力高效融入文案撰写、PPT设计、海报视频生成、市场调研等高频办公场景的问题。资料以PDF形式呈现&#…

2026/9/30 7:57:33 阅读更多 →
磁盘空间排查实战:du命令参数选择与定位技巧

磁盘空间排查实战:du命令参数选择与定位技巧

干运维和用服务器的人基本都遇到过这个经典场景:某天监控突然报警,说磁盘使用率超过90%,或者业务进程开始报"No space left on device",你连上服务器先敲一句df -h,发现根分区已经100%了。然后呢&#xff1f…

2026/9/30 7:57:33 阅读更多 →
Linux磁盘空间管理实战:用du命令精准定位空间占用

Linux磁盘空间管理实战:用du命令精准定位空间占用

在Linux服务器上待久了,一定会遇到磁盘被塞满的尴尬。登录不上、服务报错、日志写不进去,一查df -h,好家伙,/分区直接100%。这时候你需要的不是df,而是du——它是Linux下做磁盘空间管理最趁手的工具,能精确…

2026/9/30 7:57:33 阅读更多 →
高并发接口线程池大小怎么定?从1万QPS与500ms响应时间推导完整配置方案

高并发接口线程池大小怎么定?从1万QPS与500ms响应时间推导完整配置方案

面试复盘真是最好的学习方式。上周面了一个中高级后端岗,前面聊框架、聊项目都顺风顺水,结果在最后一道“送命题”上翻了车:面试官问“一个接口要做到1万QPS、响应时间500ms以内,你的线程池该设多大?”我当场愣住&…

2026/9/30 7:57:33 阅读更多 →
uni-app微信小程序登录页全流程:视觉交互、input坑与授权登录

uni-app微信小程序登录页全流程:视觉交互、input坑与授权登录

做 uni-app 微信小程序这几年,登录页面是我见过最容易"看起来简单、做起来翻车"的页面。它结构小、元素少,但偏偏要同时扛住视觉观感、输入交互、键盘适配、授权流程、登录态管理这几件事。这篇接着上一篇的思路往下走,不再讲"…

2026/9/30 7:57:33 阅读更多 →
Linux软硬链接本质:inode与路径的底层原理

Linux软硬链接本质:inode与路径的底层原理

1. 为什么软硬链接不是“复制”,而是“指针”——从文件系统底层讲清楚你有没有试过用ln命令创建一个链接,结果发现删掉源文件后,软链接打不开、硬链接还能访问?或者反过来,改了软链接指向的文件,硬链接却毫…

2026/9/30 7:56:32 阅读更多 →

日新闻

Base64 图片头部特征识别:从文件头到格式判断的完整指南

Base64 图片头部特征识别:从文件头到格式判断的完整指南

1. 项目概述:为什么说看懂 base64 图片头部是基本功这几年跟 base64 打交道的机会越来越多,后端接口返回图片、前端渲染验证码、小程序里存小图、还有一些老系统导出报表,动不动就给你一段长到怀疑人生的 base64 字符串。很多人拿到字符串就直…

2026/9/30 0:00:35 阅读更多 →
Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

简介:本资源是一份面向Java初学者与课程设计学生的公交站牌广告灯箱管理系统毕业设计文档,聚焦城市公共广告资源信息化管理痛点,提供从需求分析到技术实现的完整方案。文档采用标准学术论文结构,含摘要、英文摘要、目录及五章正文…

2026/9/30 0:00:35 阅读更多 →
用 Redis Lua 构建大模型 API 多租户原子配额治理体系

用 Redis Lua 构建大模型 API 多租户原子配额治理体系

我去年年底接了一个内部 AI 平台的治理需求,背景很直接:公司把 DeepSeek、MiniMax 这类大模型 API 统一封装成内部网关,开放给几个业务团队用。结果第一个月账单出来,额度直接超了 4 倍。仔细查日志,发现原因并不复杂—…

2026/9/30 0:00:35 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/29 8:16:59 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/29 16:41:41 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/29 8:24:48 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/29 19:29:29 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/29 5:58:00 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/29 3:55:56 阅读更多 →