Claude-skill-registry liftera-architecture

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/liftera-architecture" ~/.claude/skills/majiayu000-claude-skill-registry-liftera-architecture && rm -rf "$T"
manifest: skills/data/liftera-architecture/SKILL.md
source content

Monorepo Boundaries (REQUIRED)

  • ALWAYS keep application code inside
    apps/*
    .
  • ALWAYS keep reusable code inside
    packages/*
    .
  • NEVER import app code from another app (e.g.
    apps/web
    importing from
    apps/mobile
    ). Extract shared logic into a package.

Package Design (REQUIRED)

  • ALWAYS design packages as platform-agnostic when possible.
  • ALWAYS expose stable entrypoints from each package (avoid deep imports across packages).
  • NEVER duplicate shared UI or utilities across apps; add/extend a package instead.

Cross-Platform UI Rules (REQUIRED)

  • ALWAYS prefer shared UI in
    packages/ui
    .
  • ALWAYS keep platform-specific implementations behind explicit entrypoints (e.g.
    *.native.tsx
    ,
    *.web.tsx
    ) when needed.
  • NEVER assume DOM APIs exist in mobile code.

Dependency & Ownership Rules

  • ALWAYS keep dependencies as low as possible in packages.
  • ALWAYS add dependencies at the narrowest scope that needs them (package/app
    package.json
    , not the root).
  • NEVER add a dependency to the root unless it is truly repo-wide tooling.

Repo Structure Quick Reference

  • apps/web
    : Next.js app
  • apps/mobile
    : Expo app
  • packages/ui
    : shared UI (Gluestack UI + shared components)
  • turbo.json
    : task orchestration
  • pnpm-workspace.yaml
    : workspace boundaries