skills/mobile-dev/SKILL.md
Mobile app development rules for Vendix Expo/React Native project. Trigger: When editing, creating, or modifying any file under apps/mobile, or when developing mobile-specific features.
npx skillsauth add rzyfront/vendix mobile-devInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill governs all development within the mobile app (apps/mobile). Its primary purpose is to enforce strict boundaries: never edit files outside apps/mobile, even when referencing patterns from other projects for alignment.
The mobile app is an Expo/React Native project. It can reference frontend (apps/frontend) components/styles for UI alignment and backend (apps/backend) DTOs/interfaces for API contract alignment, but must never modify those files.
ALL edits, creations, and modifications are exclusively within apps/mobile/.
ALLOWED:
apps/mobile/src/...
apps/mobile/app/...
apps/mobile/assets/...
apps/mobile/package.json
apps/mobile/tsconfig.json
apps/mobile/*.config.js
FORBIDDEN:
apps/backend/src/... ← Read only
apps/frontend/src/... ← Read only
libs/shared-types/src/... ← Read only
Any file outside apps/mobile/
The mobile project may read files from other projects for reference:
| Source | Purpose | Allowed |
|--------|---------|---------|
| apps/frontend/src/... | UI patterns, component structure, styling conventions | ✅ Read only |
| apps/backend/src/... | DTOs, API contracts, TypeScript interfaces | ✅ Read only |
| libs/shared-types/... | Shared enums, types, constants | ✅ Read only |
| apps/backend/prisma/... | Data models for understanding API entities | ✅ Read only |
| Any file outside apps/mobile/ | Reference only | ✅ Read only |
NEVER edit, modify, or write to any file outside apps/mobile/.
All mobile-specific dependencies must be declared in apps/mobile/package.json only.
ALLOWED:
npm install <pkg> --prefix apps/mobile
# or edit apps/mobile/package.json directly
FORBIDDEN:
npm install <pkg> at root ← Breaks monorepo isolation
Editing root package.json ← Belongs to vendix-monorepo-workspaces
Adding deps to apps/frontend/ ← Not mobile's concern
Adding deps to apps/backend/ ← Not mobile's concern
When aligning mobile interfaces with backend DTOs or frontend patterns:
apps/backend/... to understand the API contract.apps/mobile/src/....CORRECT (read backend, create mobile version):
// Read: apps/backend/src/domains/product/dto/product.dto.ts
// Create: apps/mobile/src/app/products/interfaces/product.interface.ts
export interface Product {
id: string;
name: string;
price: number;
}
FORBIDDEN (direct import from backend):
import { ProductDto } from '../../../../backend/...'; // ✗ NO
Do not modify libs/shared-types/ or any shared library as part of mobile development. If a type needs to be shared, it must be defined independently in apps/mobile/src/ or requested as a separate cross-project change.
Mobile app consumes the same backend API as the frontend. When implementing API calls:
vendix-core - Repository architecture and app boundary understandingvendix-monorepo-workspaces - Monorepo dependency and package managementvendix-backend-api - Understanding backend API endpoint patternsvendix-frontend-component - Reference for UI component patternsdevelopment
Feature gating by store subscription state: global store write guard, AI feature gate, Redis feature resolution, quota consumption, frontend paywall interceptor, banner, and subscription UI states. Trigger: When adding feature gates, paywalls, subscription-based access control, protecting store write operations, AI feature gates, or rollout flags.
testing
SaaS subscription billing for Vendix stores: plan pricing, invoices, Wompi platform payments, manual payments, partner commissions, payouts, proration, and dunning. Trigger: When creating SaaS invoices, working with partner rev-share, margin/surcharge pricing, invoice sequence allocation, partner payout batches, subscription payments, manual payments, or dunning flows.
development
Periodic quota counters with Redis, UTC period keys, Lua-based idempotent AI quota consumption, request-id deduplication, and post-success consumption. Trigger: When building quota counters, enforcing monthly/daily feature caps, or reusing AI quota patterns for uploads, emails, exports, or rate-limited features.
data-ai
Product and service variant rules for Vendix: variants as sellable options, inventory-independent availability, service variant booking overrides, and ecommerce/POS/cart behavior. Trigger: When creating, editing, validating, or selling product variants, service variants, products without stock, or any flow where variant availability must not be confused with inventory.