用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/carrot-foundation/methodology-rules --skill rule-typescript命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | rule-typescript |
| description | Rule mapping for typescript |
Apply this rule whenever work touches:
*.ts*.tsxThis project uses TypeScript in strict mode with additional safety flags. Every file must compile cleanly under these settings.
The tsconfig enables strict: true plus:
T | undefined. Always check the result before using it.undefined as an explicit value unless the type also includes | undefined.Cross-library imports must use the path aliases defined in tsconfig.paths.json. For example:
// Correct
import { stubDocument } from '@carrot-fndn/shared/testing';
// Wrong - relative path crossing library boundary
import { stubDocument } from '../../../shared/testing/src';
Within the same library, relative imports are acceptable.
All exported symbols must have explicit return types. This improves API readability and catches accidental return-type changes.
// Correct
export function computeScore(input: RuleInput): RuleOutput { ... }
// Wrong - implicit return type
export function computeScore(input: RuleInput) { ... }
Use named exports only. Default exports make refactoring harder and are inconsistent with the rest of the codebase.
Prefer type-fest utilities over custom mapped types:
SetRequired<T, K> instead of manual Omit & Required combinationsReadonlyDeep<T> for deeply immutable structuresJsonValue / JsonObject for JSON-safe typingDefine Zod schemas as the source of truth for shapes that require runtime validation. Derive the static TypeScript type from the schema:
const UserSchema = z.object({
name: z.string(),
age: z.number().int().positive(),
});
type User = z.infer<typeof UserSchema>;
Never maintain a hand-written interface alongside a Zod schema for the same shape.