Jerbix

目录结构

每个目录负责什么,改东西该去哪里

最近更新 2026 年 11 月 3 日


这是一张地图。找不到东西时先看这里,再去读对应文件。

目录表

目录负责什么
src/routes/文件路由;{-$locale} 前缀可选,_layout/ 下按布局分组
src/routes/api/API 端点:contact/、auth/、payment/、newsletter/、email/、webhooks/
src/config/站点配置:website.ts(总开关)、products.ts(套餐)、navbar-config.ts、footer-config.ts、navigation.ts、settings.ts、social-config.ts
src/components/ui/shadcn(Base UI)上游原件,不本地修改
src/components/layout/Logo、语言切换、菜单项、用户菜单
src/components/marketing/营销页装配:LandingPage / Navbar / Footer / MarketingLayout
src/components/sections/可复用内容区块:Hero / Features / Pricing / FAQ…
src/components/docs/文档站布局、侧栏、搜索、目录
src/components/dashboard/工作台骨架与用户卡片
src/components/auth/表单件:字段适配层、提交按钮、水合检测
src/auth/Better Auth 配置、会话、邮箱验证
src/db/Drizzle schema 与迁移文件
src/env/两层 env 校验:public.ts 与 server.ts
src/lib/纯逻辑:locale、SEO、模块门禁、限流、主题解析
src/locale/Paraglide 产物与 locale 中间件
src/cache/ src/storage/ src/mail/ src/newsletter/ src/notification/ src/payment/各服务模块:provider 注册表 + 抽象接口
src/styles/globals.css(设计 token)、mdx.css
src/hooks/跨页面复用的 hook
src/server.ts / src/router.tsx服务入口(CSP nonce、env 注入)/ 路由实例

仓库根目录:

目录负责什么
content/文档 / 博客 / 更新日志 / 法务,中文稿加 .zh 后缀
messages/界面文案 zh.json / en.json
public/静态资源,含 public/docs/screenshots/
scripts/构建与校验脚本,scripts/init/ 是初始化向导
tests/单元 / 组件 / Workers 测试
e2e/Playwright 用例

改 X 去哪个文件

想改什么去哪里
站点名、Logo、模块与功能开关src/config/website.ts
套餐与购买选项src/config/products.ts
导航栏、页脚链接src/config/navbar-config.ts、src/config/footer-config.ts
菜单项形状与显隐规则src/config/navigation.ts
工作台分区src/config/settings.ts
社交链接src/config/social-config.ts
按钮、标题、提示等界面文案messages/zh.json、messages/en.json
首页 / 关于 / 定价页的段落对应路由组件,如 src/routes/{-$locale}/index.tsx
颜色、字体、圆角、阴影src/styles/globals.css
文档内容content/docs/*.md
数据库表src/db/schema.ts,然后 pnpm db:generate
新增页面在 src/routes/ 下建文件,路由自动生成
新增 APIsrc/routes/api/<name>/$.ts
新增 UI 控件pnpm dlx shadcn@latest add <component> -y,装到 src/components/ui/
新增服务模块照 src/mail/ 的结构:types.ts + provider/ + index.ts

生成物

src/routeTree.gen.ts(路由插件)、src/locale/paraglide/**(pnpm locale:compile)、.content-collections/generated/**(pnpm content:build)都在构建时重写,手改会被覆盖。

配色与字体见 设计系统,新增表单见 表单约定。