--- id: hairyf/skills/antfu version: "f3dc2112" license: MIT install: manual updated: 2026-06-10 --- # antfu — This skill collection brings antfu's opinionated JavaScript and TypeScript project setup conventions to your agent workflow. Built on Anthony Fu's widely-adopted standards, it provides a foundation for consistent, modern web development practices across your projects. Publisher: hairyf · Stars: 24 · Updated: 2026-06-10 Install (manual): `git clone https://github.com/hairyf/skills` ## SKILL.md ## 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