JavaScript is disabled. Some features may not work.
antfu — ★ 5.4K GitHub Stars — Install Guide | SkillsNav
🇺🇸 English🇨🇳 中文
SkillsNav
Home

antfu

★ 5.4K repogenerationN/AIntermediateClaude
🤖 AI Summary

This skill enforces strict code organization patterns (single-responsibility files, separated types/constants) and TypeScript conventions (explicit return types, runtime-agnostic code with clear environment markers via `// @env` comments).

How to Install

Claude Code:
git clone --depth 1 https://github.com/antfu/skills.git && cp skills/skills/antfu ~/.claude/skills/antfu -r
## Coding Practices ### Code Organization - **Single responsibility**: Each source file should have a clear, focused scope/purpose - **Split large files**: Break files when they become large or handle too many concerns - **Type separation**: Always separate types and interfaces into `types.ts` or `types/*.ts` - **Constants extraction**: Move constants to a dedicated `constants.ts` file ### Runtime Environment - **Prefer isomorphic code**: Write runtime-agnostic code that works in Node, browser, and workers whenever possible - **Clear runtime indicators**: When code is environment-specific, add a comment at the top of the file: ```ts // @env node // @env browser ``` ### TypeScript - **Explicit return types**: Declare return types explicitly when possible - **Avoid complex inline types**: Extract complex types into dedicated `type` or `interface` declarations ### Comments - **Avoid unnecessary comments**: Code should be self-explanatory - **Explain "why" not "how"**: Comments should describe the reasoning or intent, not what the code does ### Testing (Vitest) - Test files: `foo.ts` → `foo.test.ts` (same directory) - Use `describe`/`it` API (not `test`) - Use `toMatchSnapshot` for complex outputs - Use `toMatchFileSnapshot` with explicit path for language-specific snapshots --- ## Tooling Choices ### @antfu/ni Commands | Command | Description | |---------|-------------| | `ni` | Install dependencies | | `ni ` / `ni -D ` | Add dependency / dev dependency | | `nr