Claude-skill-registry customrule

This is a new rule

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/customrule" ~/.claude/skills/majiayu000-claude-skill-registry-customrule && rm -rf "$T"
manifest: skills/data/customrule/SKILL.md
source content

TypeScript Migration Rules for 9jang Project

Architecture Standard

  • We are using a Monorepo structure with
    pnpm workspaces
    .
  • Centralized Data Source: All API schemas and types MUST reside in
    shared/src/schemas
    .
  • Never define types locally if they represent API entities; always use
    z.infer<typeof Schema>
    from the shared package.

TypeScript Best Practices

  • No
    any
    : Use
    unknown
    with type guards if a type is truly uncertain.
  • Zod Integration: Use Zod for runtime validation at the API service layer.
  • Tiptap Extensions: When migrating extensions, use "Module Augmentation" to register custom commands and attributes in
    @tiptap/core
    .

Migration Strategy

  • When converting Vue components, prioritize
    <script setup lang="ts">
    .
  • For large composables (e.g., usePrintPreview), break down the logic into smaller, typed internal functions.
  • Ensure all path aliases use
    @/
    for frontend and
    @9jang/shared
    for shared types.