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.mdsource 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.
importing fromapps/web
). Extract shared logic into a package.apps/mobile
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
) when needed.*.web.tsx - 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
, not the root).package.json - NEVER add a dependency to the root unless it is truly repo-wide tooling.
Repo Structure Quick Reference
: Next.js appapps/web
: Expo appapps/mobile
: shared UI (Gluestack UI + shared components)packages/ui
: task orchestrationturbo.json
: workspace boundariespnpm-workspace.yaml