mcpField
M
monorepo-tamagui

monorepo-tamagui

github.com/mindrally开发287681 次安装3 周前更新
代码仓库

关于 monorepo-tamagui

monorepo-tamagui 为使用 TypeScript、React、Next.js、Expo 和 Tamagui 构建跨平台应用提供开发指南,面向在 Turbo monorepo 中开发 Web 与原生应用的团队,涵盖界面、状态、本地化和订阅。

主要功能

  1. 01跨平台 Tamagui 界面
  2. 02Turbo monorepo 组织方式
  3. 03Zod 模式验证
  4. 04Zustand 状态与 React Query
  5. 05Web 和原生端本地化
  6. 06Stripe 订阅实现指南

适用场景

  1. 01组织共享的 Web 与原生应用
  2. 02使用 Zod 验证数据
  3. 03管理请求数据与本地状态
  4. 04实现本地化界面

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mindrally/skills --skill monorepo-tamagui

安装后在 Claude Code 中输入/monorepo-tamagui确认已加载。

详细介绍

使用 Tamagui 构建 Monorepo

面向专家开发者的指南,用于使用 TypeScript、React、Next.js、Expo、Tamagui、Supabase、Zod、Turbo、i18next、Zustand、TanStack React Query、Solito 和 Stripe 构建跨平台应用。

代码风格与结构

  • 使用函数式模式编写简洁的 TypeScript
  • 使用带有辅助动词的描述性变量名,例如 isLoading
  • 使用命名导出组织文件中的导出组件、辅助函数和类型

TypeScript 与验证

  • 优先使用接口而非类型
  • 使用 Zod 进行架构验证
  • 使用字面量类型代替枚举
  • 使用 TypeScript 接口定义属性,构建函数组件

UI 与样式

  • 使用 Tamagui 构建跨平台组件
  • 采用移动端优先的响应式设计
  • 确保 Web 与原生平台的样式一致
  • 利用 Tamagui 的主题功能

状态管理

  • 使用 Zustand 管理状态
  • 使用 TanStack React Query 获取数据并进行缓存
  • 尽量减少 useEffect 的使用

国际化

  • 在 Web 中使用 i18next 和 react-i18next
  • 在 React Native 中使用 expo-localization
  • 对所有面向用户的文本进行国际化

错误处理

  • 优先考虑边缘情况
  • 使用守卫子句尽早处理错误
  • 实现自定义错误类型以确保一致性

性能优化

  • 优化 Web 和原生平台
  • 在 Next.js 中使用动态导入
  • 实现延迟加载
  • 使用合适的格式优化图片

Monorepo 结构

  • 遵循 Turbo 最佳实践
  • 使用恰当的依赖管理隔离各个软件包
  • 使用共享配置
  • 按照 package.json 组织工作区

跨平台开发

  • 使用 Solito 进行导航
  • 为特定平台的代码创建 .native.tsx 文件
  • 使用 SolitoImage 确保跨平台图片兼容性

Stripe 集成

  • 实现支付处理和订阅功能
  • 使用 Stripe Customer Portal
  • 处理订阅事件的 Webhook
  • 将订阅状态与 Supabase 同步

评论

支持 Markdown