Skyroc Admin Docs
工程化

工程化总览

仓库的开发约定、工具链、自动化脚本与 CI 全景

工程化的目标

目标手段
一致性共享 tsconfig / oxlintrc / oxfmtrc,全仓库一份配置
高速反馈Oxlint / Oxfmt(Rust)替代 ESLint / Prettier,Vitest 替代 Jest
自动化sa 脚手架处理变更日志、发版、模板同步
可追溯提交规范 + changelog 自动生成
增量构建Turborepo 全任务编排 + 缓存
类型安全strict + verbatimModuleSyntax + 全局类型增强

工具栈一览

类别工具版本配置
包管理pnpm10.4.1pnpm-workspace.yaml
任务编排Turborepo2.xturbo.json
编译TypeScript6.xinternal/tsconfig
Web 构建Vite8.xapps/admin/vite.config.ts
Native 构建Expoapps/app
库构建tsdown0.18各包 tsdown.config.ts
LintOxlint1.60.oxlintrc.json
FormatOxfmt0.45.oxfmtrc.json
单测Vitest4.x@skyroc/config/vitest
组件 / 集成Testing Library16.xapps/admin
MockMSW2.x已装未启
Git 钩子simple-git-hooks2.x待启用
自动化@skyroc/scripts (sa)1.0soybean.config.ts
CIGitHub Actions.github/workflows

工程化文档地图

主题文档
项目约定(命名、组件风格、提交规范)开发约定
TypeScript 策略与全局类型TypeScript 配置
构建体系(Turborepo + Vite + tsdown)构建体系
package.json exports / 子入口策略Exports 策略
如何新建一个包新建包流程
Lint / FormatLint 与格式化
测试理念与方案测试
提交 / 发版Git 提交与发版
CI / CDCI

顶层命令

命令说明
pnpm devTurborepo 启动所有 dev 任务
pnpm build构建所有包
pnpm lintOxlint 检查所有包
pnpm formatOxfmt 格式化全仓库
pnpm format:check仅检查格式,CI 用
pnpm typecheck所有包 tsc --noEmit
pnpm test所有包 vitest
pnpm test:e2ePlaywright 端到端
pnpm test:watchVitest watch 模式
pnpm test:uiVitest UI
pnpm create:admin基于模板新建 admin 应用
pnpm sync:admin-template把当前 admin 同步到 @skyroc/scripts/templates
pnpm check:admin-template检查 admin 是否与模板一致

关键设计

约定含义
catalog 集中版本pnpm-workspace.yamlcatalogs: 集中管理依赖版本,子包 "react": "catalog:core"
Internal 配置包tsconfig / oxlintrc / vitest 等以独立包形式共享
平台优先目录packages/webpackages/nativepackages/miniapppackages/shared 分层
Adapter Pattern跨平台核心包依赖抽象适配器,由 web/RN 各自实现
Strict TS全仓库 strict + verbatimModuleSyntax + noUncheckedIndexedAccess
No useCallback项目代码风格禁用 useCallback,详见 开发约定

On this page