webdev-readme-mobile-backend

Implements backend features for Expo mobile apps using Manus OAuth, Drizzle, and tRPC.

Updated Aug 28, 2026
One-click install
npx skills add https://github.com/AnderHonorato/Mem-rias-IA---Infinity --skill webdev-readme-mobile-backend-anderhonorato
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: webdev-readme-mobile-backend
Source: https://github.com/AnderHonorato/Mem-rias-IA---Infinity/tree/main/Manus/Skills/webdev-readme-mobile-backend
Command: npx skills add https://github.com/AnderHonorato/Mem-rias-IA---Infinity --skill webdev-readme-mobile-backend-anderhonorato

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building server-side features for a Manus mobile-app (Expo) project requires coordinating authentication, database schema, typed APIs, and platform integrations; this Skill provides the authoritative guide so those features are implemented correctly the first time. ## Core Features & Use Cases - Authentication & User Management: Implements Manus OAuth login flows for native (Bearer token via expo-secure-store) and web (HTTP-only cookie), with a useAuth hook and protected tRPC procedures. - Database & API Layer: Defines Drizzle ORM schemas, generates migrations, writes query helpers in server/db.ts, and exposes type-safe tRPC routers with Zod input validation. - Built-in Integrations: Provides server-side helpers for LLM calls (invokeLLM with structured JSON output), Whisper voice transcription, image generation, S3 file storage, and owner notifications. - Use Case: When adding a synced todo list to an Expo app, follow this guide to create the items table, write CRUD query helpers, expose protected tRPC routes, and consume them from React Native components. ## Quick Start Read this guide before writing any backend, database, or server code in a Manus mobile-app project, then implement the required auth, schema, and tRPC routes following its patterns.

Frequently Asked Questions about webdev-readme-mobile-backend

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add authentication to an Expo app with Manus OAuth?

Manus OAuth works via Bearer tokens stored in expo-secure-store on native and HTTP-only cookies on web. Use the useAuth hook to access user state, and protect server routes with protectedProcedure so ctx.user is guaranteed.

How do I create database tables with Drizzle ORM in this template?

Define tables in drizzle/schema.ts using mysqlTable helpers, then run pnpm drizzle-kit generate to produce migration SQL and apply it via webdev_execute_sql. Add query helpers in server/db.ts using the getDb connection.

Does the backend require user login for LLM or storage features?

No, backend features like LLM calls, image generation, and S3 storage work without user auth by using publicProcedure instead of protectedProcedure. Login is only mandatory when identifying users or syncing user-specific data.

How do I get structured JSON output from invokeLLM?

Pass response_format with type json_schema for flat structures, or json_object for nested arrays and objects. The model returns JSON in choices[0].message.content, which you parse with JSON.parse.

Why does my tRPC protected procedure fail for logged-out users?

protectedProcedure throws an UNAUTHORIZED error when no session exists. Handle it in the frontend by catching the error, checking error.data?.code === 'UNAUTHORIZED', and redirecting to the login screen.

Which files should I avoid editing in the mobile-app template?

Avoid modifying anything under _core/ directories in server/, shared/, and lib/, plus hooks/use-auth.ts, since these are framework-level code. Only extend marked files like server/db.ts, server/routers.ts, and drizzle/schema.ts.