AgentSkillsCN

monorepo-commands

全面梳理全栈单仓库中 npm 脚本的参考手册,涵盖 FastAPI 后端、React Native 移动应用以及 React/Vite Web 应用。当您需要使用构建、测试、代码风格检查或类型检查命令,或在该单仓库结构下协助开发工作流时,可运用此技能。

SKILL.md
--- frontmatter
name: monorepo-commands
description: Comprehensive reference for npm scripts in a full-stack monorepo containing FastAPI backend, React Native mobile app, and React/Vite web app. Use when working with build, test, lint, or typecheck commands, or when helping with development workflows in this monorepo structure.

Monorepo Commands

Reference for all npm scripts available in this full-stack monorepo project.

Project Structure

This monorepo contains three main packages:

  • API Server: FastAPI (Python)
  • Mobile App: React Native (TypeScript)
  • Web App: React + Vite (TypeScript)

Command Categories

Global Commands

Commands that run across the entire monorepo:

  • npm run test - Run all tests (mobile Jest + API pytest)
  • npm run typecheck - Type check all packages (mobile, web, API)
  • npm run lint - Lint all packages (mobile, web, API)

API Server Commands

FastAPI backend commands:

  • npm run api:test - Run pytest tests
  • npm run api:typecheck - Run mypy type checking
  • npm run api:lint - Run Ruff linter

Mobile App Commands

React Native commands:

  • npm run mobile:ios - Build and run on iOS simulator (requires Xcode)
  • npm run mobile:android - Build and run on Android emulator (requires Android SDK)
  • npm run mobile:test - Run Jest tests
  • npm run mobile:typecheck - Run TypeScript type checking
  • npm run mobile:lint - Run ESLint

Web App Commands

React + Vite commands:

  • npm run web:dev - Start development server with HMR (http://localhost:5173)
  • npm run web:build - Build for production (outputs to web-app/dist)

Detailed Command Reference

For complete details on each command including descriptions and usage notes, see:

Usage Patterns

When working with this monorepo:

  1. Starting development: Use npm run web:dev for web or npm run mobile:ios/mobile:android for mobile
  2. Before committing: Run npm run lint and npm run typecheck to catch issues
  3. Running tests: Use npm run test for all tests or specific commands for targeted testing
  4. Building for production: Use npm run web:build for web deployment

Technology Stack

  • Backend: Python, FastAPI, pytest, mypy, Ruff
  • Mobile: React Native, TypeScript, Jest, ESLint
  • Web: React, Vite, TypeScript, ESLint
  • Monorepo: npm workspaces