frontend-typescript-rules SKILL.md skillA

frontend-typescript-rules from shinpr/ai-coding-project-boilerplate is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add shinpr/ai-coding-project-boilerplate/frontend-typescript-rules@git:20260912.c0d4362

Pins git:20260912.c0d4362 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
shinpr/ai-coding-project-boilerplate
Path
.claude/skills-zh-CN/frontend-typescript-rules/SKILL.md
Versions recorded
3
Latest version
git:20260912.c0d4362, committed Sep 12, 2026
First version recorded
Aug 31, 2026
Size
6,594 bytes
Repository stars
234
License
MIT

应用 React/TypeScript 类型安全、组件设计与状态管理规则。用于实现 React 组件时使用。.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# TypeScript 开发规则(前端)

前端专属的 React/TypeScript 实现规则:阈值、边界类型安全、组件/状态设计、错误处理与项目约定。

## 前置条件检测

在应用某项项目约定之前,先检查 TypeScript、打包器/框架、lint/format、路径别名以及具有代表性的组件配置。当配置或既有仓库模式支持某项约定时,将其视为已观察到;仅凭少量示例得出的结论应标注为推断。当存在相互冲突的模式,且会影响公共行为、兼容性或组件边界时,应停下来指出所需的权威来源或决策点。

## 反模式与阈值
触发设计调整的信号:
- Prop 透传超过 3 层 → 提升到 Context 或状态管理
- 组件超过 300 行 → 拆分
- Props 数量超过 10 个 → 拆分组件(3-7 个为合理区间)
- 可选 props 超过 50% → 引入默认值或 Context
- Props 嵌套超过 2 层 → 拉平

## 边界处的类型安全
将不可信或类型未知的数据接收为 `unknown`,并通过类型守卫进行收窄。仅当运行时/框架不变量能够证明所断言的类型时才使用 `as`,并在附近注释中记录该不变量。既有的生成代码或第三方声明中包含 `any` 属于需要包装的边界输入,而不是在应用契约中扩散 `any` 的理由。

在应用内部,React Props/State 已由类型保证——无需 `unknown`。在每一个外部边界处,先接收为 `unknown`,再通过类型守卫收窄后使用:API 响应、`localStorage`/`sessionStorage`、URL 参数、解析后的 JSON。受控组件的表单输入通过 React 合成事件保持类型安全。

```typescript
const raw: unknown = await (await fetch(url)).json()
if (!isUser(raw)) throw new ValidationError('invalid user')
const user = raw // 已收窄为 User
```

## 组件与状态设计
- **仅使用函数组件。** 类组件仅允许用于 Error Boundary(不存在对应的 Hook 方案)
- **显式为 Props 定义类型**,使用具名类型并解构:`function UserCard({ user, onSelect }: UserCardProps)`。直接在函数上标注 props 类型,使 props 契约保持显式
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add shinpr/ai-coding-project-boilerplate/frontend-typescript-rules@sha256:3d56e3fe3609eac3

The line at the top of this page pins the label git:20260912.c0d4362, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_oxhbbznmmolow7ct.svg)](https://markdownregistry.com/a/art_oxhbbznmmolow7ct)

2 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 3 versions of this file, between Aug 31, 2026 and Sep 12, 2026, about one every 6 days.

versioncommittedcommitsizeaudit
git:20260912.c0d4362 latest2026-09-12 c0d4362 6,594 BA view · diff
git:20260901.fbc397a2026-09-01 fbc397a 6,665 BA view · diff
git:20260831.b1830372026-08-31 b183037 6,722 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (6594 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

shinpr/ai-coding-project-boilerplate · 234 stars · license MIT · pushed 2026-10-14 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_oxhbbznmmolow7ct
GET https://markdownregistry.com/api/v1/resolve?ref=shinpr/ai-coding-project-boilerplate/frontend-typescript-rules
GET https://markdownregistry.com/api/v1/blob/3d56e3fe3609eac35161dfb30c1021e748f47ce261955423ddcd9ee158ddea4e

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from shinpr/ai-coding-project-boilerplate

coding-standards SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-en/coding-standards/SKILL.md · Detects code smells, anti-patterns, and readability issues. Use when implementing features, reviewing code, or…
git:20261014.578fed5 · audit A · 234 stars
documentation-criteria SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-en/documentation-criteria/SKILL.md · Determines which PRD, ADR, UI Spec, Design Doc, and Work Plan a change requires and where each is stored. Use when…
git:20260923.86a3d79 · audit A · 234 stars
frontend-technical-spec SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-en/frontend-technical-spec/SKILL.md · Defines React environment, component architecture, state/data flow, build verification, and frontend non-functional…
git:20260923.03f66be · audit A · 234 stars
frontend-typescript-rules SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-en/frontend-typescript-rules/SKILL.md · Applies React/TypeScript type safety, component design, and state management rules. Use when implementing React…
git:20260912.c0d4362 · audit A · 234 stars
frontend-typescript-testing SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-en/frontend-typescript-testing/SKILL.md · Designs frontend tests using the repository's configured React test and browser harnesses, including RTL, MSW, Vitest…
git:20261014.578fed5 · audit A · 234 stars
implementation-approach SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-en/implementation-approach/SKILL.md · Selects implementation strategy (vertical slice, horizontal, or hybrid) with risk assessment. Use when planning feature…
git:20261014.578fed5 · audit A · 234 stars
integration-e2e-testing SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-en/integration-e2e-testing/SKILL.md · Selects and designs the smallest integration/E2E test set that proves accepted behavior at an observable boundary. Use…
git:20261014.578fed5 · audit A · 234 stars
llm-friendly-context SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-en/llm-friendly-context/SKILL.md · Clarifies inputs, outputs, success criteria, decisions, and unresolved conditions so downstream agents can execute…
git:20260923.86a3d79 · audit A · 234 stars
project-context SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-en/project-context/SKILL.md · Marks project context as unconfigured until domain constraints, repository quality standards, phase, conventions, and…
git:20260901.b347ae2 · audit A · 234 stars
requirement-convergence SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-en/requirement-convergence/SKILL.md · Separates the outcome a change must produce from the requirements proposed to reach it, records what the user excluded…
git:20260923.558b381 · audit A · 234 stars
skill-optimization SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-en/skill-optimization/SKILL.md · Evaluates and optimizes skill file quality using 9 content patterns and 10 editing principles. Use when creating…
git:20260831.b183037 · audit A · 234 stars
subagents-orchestration-guide SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-en/subagents-orchestration-guide/SKILL.md · Coordinates subagents through scale-based planning, approval, implementation, verification, and escalation flows. Use…
git:20261003.24e6460 · audit A · 234 stars

Every file in shinpr/ai-coding-project-boilerplate

Other files named frontend-typescript-rules

frontend-typescript-rules SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-ja/frontend-typescript-rules/SKILL.md · React/TypeScriptの型安全性、コンポーネント設計、状態管理ルールを適用。Reactコンポーネント実装時に使用。
git:20260912.c0d4362 · audit A · 234 stars
frontend-typescript-rules SKILL.md skill
shinpr/ai-coding-project-boilerplate · .claude/skills-en/frontend-typescript-rules/SKILL.md · Applies React/TypeScript type safety, component design, and state management rules. Use when implementing React…
git:20260912.c0d4362 · audit A · 234 stars

Browse by kind, by grade A, or by owner.