目录结构
如何安装依赖并组织你的应用结构。
截止于 v25.0.5 版本,项目目录结构如下所示:
/
├── assets/ 静态资源
├── docker/ Docker 配置
├── extensions/ 扩展应用
├── packages/ 包
│ ├── @buildingai/ (Core Shared Packages)
│ │ ├── ai-sdk/ AI SDK
│ │ ├── base/ 基础
│ │ ├── cache/ 缓存
│ │ ├── config/ 配置
│ │ ├── constants/ 常量
│ │ ├── db/ 数据库
│ │ ├── decorators/ 装饰器
│ │ ├── di/ 依赖注入
│ │ ├── dict/ 字典
│ │ ├── dto/ 数据传输对象
│ │ ├── errors/ 错误
│ │ ├── eslint-config/ ESLint 配置
│ │ ├── extension-sdk/ 扩展 SDK
│ │ ├── logger/ 日志
│ │ ├── pipe/ 管道
│ │ ├── types/ 类型
│ │ ├── typescript-config/ TypeScript 配置
│ │ ├── upgrade/ 升级
│ │ ├── utils/ 工具
│ │ └── wechat-sdk/ 微信 SDK
│ │
│ ├── api/ (Backend API Service)
│ │ ├── dist/ 编译后的文件
│ │ ├── src/ 源码
│ │ │ ├── assets/ 静态资源
│ │ │ ├── common/ 公共
│ │ │ │ ├── constants/ 常量
│ │ │ │ ├── decorators/ 装饰器
│ │ │ │ ├── filters/ 过滤器
│ │ │ │ ├── guards/ 保护
│ │ │ │ ├── interceptors/ 拦截器
│ │ │ │ ├── interfaces/ 接口
│ │ │ │ ├── modules/ 模块
│ │ │ │ └── utils/ 工具
│ │ │ ├── core/
│ │ │ │ ├── database/ 数据库
│ │ │ │ ├── logger/ 日志
│ │ │ │ └── queue/ 队列
│ │ │ ├── modules/
│ │ │ │ ├── ai/ AI
│ │ │ │ ├── analyse/ 分析
│ │ │ │ ├── auth/ 认证
│ │ │ │ ├── channel/ 渠道
│ │ │ │ ├── config/ 配置
│ │ │ │ ├── decorate/ 装饰
│ │ │ │ ├── extension/ 扩展
│ │ │ │ ├── finance/ 财务
│ │ │ │ ├── health/ 健康检查
│ │ │ │ ├── membership/ 会员
│ │ │ │ ├── menu/ 菜单
│ │ │ │ ├── pay/ 支付
│ │ │ │ ├── permission/ 权限
│ │ │ │ ├── pm2/ PM2
│ │ │ │ ├── recharge/ 充值
│ │ │ │ ├── role/ 角色
│ │ │ │ ├── schedule/ 定时任务
│ │ │ │ ├── system/ 系统
│ │ │ │ ├── tag/ 标签
│ │ │ │ └── upload/ 上传
│ │ │ └── main.ts
│ │ ├── package.json
│ │ └── tsconfig.json
│ │
│ ├── cli/ (Command Line Interface)
│ │ ├── bin/
│ │ ├── src/
│ │ │ ├── commands/ 命令
│ │ │ └── utils/ 工具
│ │ └── package.json
│ │
│ ├── core/ (Core Logic & Services)
│ │ ├── dist/
│ │ ├── src/
│ │ │ ├── @nestjs/ @nestjs
│ │ │ ├── decorators/ 装饰器
│ │ │ ├── interfaces/ 接口
│ │ │ ├── modules/
│ │ │ │ ├── billing/ 计费
│ │ │ │ ├── extension/ 扩展
│ │ │ │ ├── queue/ 队列
│ │ │ │ ├── secret/ 密钥
│ │ │ │ └── upload/ 上传
│ │ │ └── services/ 服务
│ │ └── package.json
│ │
│ ├── desktop/ (Desktop Application - Tauri)
│ │ ├── src-tauri/
│ │ │ ├── capabilities/ 能力
│ │ │ ├── gen/ 生成
│ │ │ ├── icons/ 图标
│ │ │ ├── src/ 源代码
│ │ │ └── tauri.conf.json
│ │ └── package.json
│ │
│ └── web/ (Web Frontend Packages)
│ ├── @buildingai/
│ │ ├── designer/ 设计器
│ │ ├── hooks/ 钩子
│ │ ├── http/ HTTP
│ │ ├── i18n-config/ 国际化配置
│ │ ├── layouts/ 布局
│ │ ├── nuxt/ nuxt配置
│ │ ├── service/ API服务
│ │ ├── stores/ 全局状态
│ │ ├── storybook/ storybook配置
│ │ ├── ui/ 组件库
│ │ └── web-config/ web配置
│ └── buildingai-ui/
│ ├── .nuxt/ 生成的 Nuxt 文件
│ ├── .output/ 构建输出
│ ├── .storybook/ Storybook 配置
│ ├── app/ 主应用源码
│ │ ├── assets/
│ │ ├── components/
│ │ ├── i18n/ 国际化
│ │ ├── layouts/ 布局
│ │ ├── middleware/ 路由中间件
│ │ ├── pages/ 基于文件的路由
│ │ ├── stores/ 状态管理
│ │ ├── types/ TypeScript 类型
│ │ ├── utils/ 工具函数
│ │ ├── app.config.presets.ts
│ │ ├── app.config.ts
│ │ └── app.vue
│ ├── modules/ Nuxt 模块
│ ├── public/ 静态资源
│ ├── server/ 服务端 API/中间件
│ ├── ai-rules.md
│ ├── eslint.config.mjs
│ ├── nuxt.config.ts (Nuxt Configuration)
│ ├── package.json
│ ├── README.md
│ └── tsconfig.json
├── public/ 静态资源
├── scripts/ 脚本
├── templates/ 模板
├── .dockerignore Docker 忽略
├── .editorconfig 编辑器配置
├── .env 环境变量
├── .gitignore Git 忽略
├── docker-compose.yml Docker Compose
├── ecosystem.config.js PM2 配置
├── LICENSE 许可证
├── package.json 包配置
├── pnpm-lock.yaml pnpm 锁
├── pnpm-workspace.yaml pnpm 工作区
├── README.md 项目说明
└── turbo.json turbo 配置