Files
multica/package.json
Naiyuan Qing e113308435 feat(mobile): prod build path + composer/mention/edit polish
Prod build path — lets external users self-build a personal copy against
api.multica.ai's production backend:
- New `prod` variant alongside `dev` / `staging`: `.env.production`,
  `dev:prod` / `ios:device:prod` / `ios:device:prod:release` scripts
- `EXPO_BUNDLE_IDENTIFIER_PROD` shell override in `app.config.ts` for
  contributors not on the Multica Apple Developer team (parallel to
  existing `_DEV` pattern)
- Public docs page `mobile-app.{mdx,zh.mdx}` + Reference entry; README
  gains a top-of-file "Just want to use it" section

Composer refactor:
- Shared `components/composer/message-composer.tsx` shell removes ~400
  lines of duplication between chat-composer and inline-comment-composer
- Mention picker pulled out of inline modal into a Router formSheet route
  (`mention-picker.tsx` + `pickers/mention-picker-body.tsx`), backed by a
  Zustand `mention-draft-store`

Other:
- Issue edit screen (`issue/[id]/edit.tsx`) + reusable description-field
- Chat empty-state and timeline split into dedicated components;
  status-pill / message-list / attachment-row rewrites
- Markdown render tweaks, `lib/format-elapsed.ts`, `ui/collapsible.tsx`
- Realtime / schemas additions for chat session updates; new mention-picker
  stack screen registered in workspace `_layout.tsx`

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 18:30:43 +08:00

55 lines
1.9 KiB
JSON

{
"name": "multica",
"version": "0.2.0",
"private": true,
"type": "module",
"scripts": {
"dev:web": "turbo dev --filter=@multica/web",
"dev:docs": "turbo dev --filter=@multica/docs",
"dev:desktop": "turbo dev --filter=@multica/desktop",
"dev:desktop:staging": "turbo dev:staging --filter=@multica/desktop",
"dev:mobile": "pnpm -C apps/mobile dev",
"dev:mobile:staging": "pnpm -C apps/mobile dev:staging",
"dev:mobile:prod": "pnpm -C apps/mobile dev:prod",
"ios:mobile": "pnpm -C apps/mobile ios",
"ios:mobile:staging": "pnpm -C apps/mobile ios:staging",
"ios:mobile:prod": "pnpm -C apps/mobile ios:prod",
"ios:mobile:device": "pnpm -C apps/mobile ios:device",
"ios:mobile:device:staging": "pnpm -C apps/mobile ios:device:staging",
"ios:mobile:device:staging:release": "pnpm -C apps/mobile ios:device:staging:release",
"ios:mobile:device:prod": "pnpm -C apps/mobile ios:device:prod",
"ios:mobile:device:prod:release": "pnpm -C apps/mobile ios:device:prod:release",
"build": "turbo build --filter=!@multica/mobile",
"typecheck": "turbo typecheck --filter=!@multica/mobile",
"test": "turbo test --filter=!@multica/mobile",
"lint": "turbo lint --filter=!@multica/mobile",
"clean": "turbo clean && rm -rf node_modules",
"ui:add": "cd packages/ui && npx shadcn@latest add",
"generate:reserved-slugs": "node scripts/generate-reserved-slugs.mjs"
},
"packageManager": "pnpm@10.28.2",
"pnpm": {
"onlyBuiltDependencies": [
"esbuild",
"electron"
],
"overrides": {
"@types/react": "catalog:",
"@types/react-dom": "catalog:"
}
},
"devDependencies": {
"@playwright/test": "^1.58.2",
"@types/node": "catalog:",
"@types/pg": "^8.20.0",
"pg": "^8.20.0",
"turbo": "^2.5.4",
"typescript": "catalog:"
},
"dependencies": {
"expo": "~55.0.23",
"react": "19.2.0",
"react-native": "0.83.6"
}
}