We are using a Monorepo structure with pnpm workspaces.
Centralized Data Source: All API schemas and types MUST reside in packages/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.
1---2name: customrule-23description: This is a new rule4---56# TypeScript Migration Rules for 9jang Project78## Architecture Standard9- We are using a Monorepo structure with `pnpm workspaces`.10- Centralized Data Source: All API schemas and types MUST reside in `packages/shared/src/schemas`.11- Never define types locally if they represent API entities; always use `z.infer<typeof Schema>` from the shared package.1213## TypeScript Best Practices14- **No `any`**: Use `unknown` with type guards if a type is truly uncertain.15- **Zod Integration**: Use Zod for runtime validation at the API service layer. 16- **Tiptap Extensions**: When migrating extensions, use "Module Augmentation" to register custom commands and attributes in `@tiptap/core`.1718## Migration Strategy19- When converting Vue components, prioritize `<script setup lang="ts">`.20- For large composables (e.g., usePrintPreview), break down the logic into smaller, typed internal functions.21- Ensure all path aliases use `@/` for frontend and `@9jang/shared` for shared types.
Run npx skillmds@latest add majiayu000/customrule-2 in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
This is a new rule It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. Capability flags: docs only. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
majiayu000 (@majiayu000) published this skill. Their other Agent Skills are listed on their SkillMD profile.