本文件用于约束在 Loan/client 仓库内工作的 AI agent / 协作者,目标是让改动更稳、更贴近当前项目结构,并减少无关返工。仓库信息变化后,请同步更新此文件。
Loan Assistant / 借贷助手 客户端Expo 55、React Native 0.83、React 19、TypeScript、expo-router、NativeWind 4、@ant-design/react-native 5iOS、Android、Webpnpm-lock.yaml,默认优先使用 pnpmsrc/app/_layout.tsxpnpm installpnpm startpnpm androidpnpm iospnpm webpnpm lint如果必须使用 npm,请确保不要混乱提交锁文件;默认仍以 pnpm-lock.yaml 为准。
src/app:expo-router 路由入口、layout、页面级 screen 文件src/app/(tabs):底部标签页相关路由src/components:跨页面复用组件src/components/ui:更基础的 UI 组件与页面积木src/hooks:自定义 hookssrc/utils:基础能力与业务支撑工具,例如 api、auth、storagesrc/constants:主题和常量src/global.css:NativeWind 全局样式入口assets:运行时资源design:设计参考稿或静态参考资料,默认不作为运行时代码来源docs/antd:本地 Ant Design RN 参考文档,新增或调整组件时优先查阅android、ios:原生工程,除非是原生能力、权限、构建配置相关改动,否则不要随意修改dist:构建产物目录,不要手工编辑src/components、src/hooks、src/utils@/* -> src/*@/assets/* -> assets/*src/app 下对应路由位置,不要回退到旧式集中路由表src/app/(tabs)/_layout.tsx*.web.tsx 等平台文件处理,避免在单文件里堆过多平台分支NativeWind + global.css + tailwind.config.js 为主@ant-design/react-native@ant-design/react-native 的 Provider,全局 Provider 变更集中放在 src/app/_layout.tsxdocs/antd/llms-semantic.md 或 docs/antd/llms-full.txtcomponent.tsx / component.web.tsx 结构src/utils/api.ts 中的统一请求封装,不要重复创建新的 axios clientsrc/utils/auth.tsx,修改登录态逻辑时同步检查 Provider、hook、请求头注入src/utils/storage.ts 中的 MMKV 封装,避免绕过统一入口strict 模式,新增代码不要用 any 糊过去,必要时补充明确类型expo-router 已启用 typedRoutes,新增路由时保持类型友好reactCompiler,默认不要为了“优化”到处添加 useMemo / useCallbackandroid/、ios/app.json、babel.config.js、metro.config.js、tailwind.config.js 修改前先确认影响范围git status --short,确认工作区是否已有用户未提交改动pnpm lint最终汇报建议至少包含以下信息: