用途:这份资料是项目结构与文件组织指南,用于说明一个基于 Turborepo 和 pnpm workspaces 的代码库应如何摆放文件、命名目录与组件,以及新增页面、工具函数时的约定。
主要能力:明确仓库关键路径。主应用位于 apps/web,公共包位于 packages 目录,服务器操作在 apps/web/utils/actions。apps/web/app 下包含 App Router 相关页面(如 assistant、reply-zero、settings、setup、clean、smart-categories、bulk-unsubscribe、stats、mail 等)与 API 路由(如 knowledge、reply-tracker、clean、ai、user、google、auth 等),另有 (landing)、blog、layout.tsx。utils 下细分 actions、ai、llms、gmail、redis、user、parse、queue、error-messages 等。
使用方式与命名约定:路由目录用 kebab case;组件用 PascalCase;Shadcn 组件放在 components/ui,其他组件放在 components;文件尽量就近放置,跨应用复用的组件才放入 components。新页面创建在 apps/web/app/(app)/PAGE_NAME/page.tsx,页面默认是用于直接加载数据的 Server 组件;深层嵌套组件用 swr 获取数据;带 onClick 的组件须加 use client 指令成为客户端组件;服务器操作文件须以 use server 开头。可复用逻辑放入 utils 文件夹,常用数组、对象、字符串操作可使用 lodash,并按需引入具体函数以减小打包体积,例如 import groupBy from "lodash/groupBy"。
适用场景与限制:适用于参与该仓库开发、需要遵循统一结构与命名规范的前端与全栈开发者。资料未提供其他平台的兼容说明、性能数据或更多框架细节,相关事实暂未提供。