5,230,460 AI resources indexedWorking toward the world’s largest AI resource index.

PDF

Antfu Coding Style & Philosophy

Opinionated coding style and tooling preferences by Anthony Fu.

Installable skillMITBy DokhacgiakhoaUpdated Oct 28, 2026
INTENDED FOROpenClawInstall in a listed agent.

instructions.md

---
name: antfu-coding-style-d28796ccaae2
description: Opinionated coding style and tooling preferences by Anthony Fu.
category: development
version: 4.1.0-fractal
layer: master-skill
---

# Antfu Coding Style & Philosophy

> **Goal**: Maximal Developer Experience (DX) through minimalism and smart defaults. "Works out of the box."

## 1. Code Organization

- **Single Responsibility**: Keep files small. If you scroll too much, split it.
- **Export**: Use Named Exports for libraries, Default Exports for components.
- **Constants**: Extract magic strings/numbers to `constants.ts`.

## 2. TypeScript Preferences

- **Implicit over Explicit**: Let TS infer types when obvious.
    - *Bad*: `const count: number = 0`
    - *Good*: `const count = 0`
- **Return Types**: Explicitly type return values for library limits (public API), infer for internal functions.
- **No Enums**: Use `const assertion` object or String Unions.
    - `type Mode = 'dark' | 'light'` > `enum Mode { ... }`

## 3. Tooling Stack

- **Package Manager**: `pnpm` (Fast, disk efficient).
- **Runner**: `ni` (NPM/Yarn/PNPM/Bun Agnostic runner).
    - `ni` -> install
    - `nr dev` -> run dev
    - `nu` -> upgrade
- **Testing**: `Vitest` (Fast, Jest compatible, Native ESM).
    - Naming: `*.test.ts`.
    - Verification: Use `toMatchSnapshot()` sparingly, prefer `toMatchInlineSnapshot()`.

## 4. CSS / Styling

- **UnoCSS**: Atomic CSS engine.
- **Attributify**: Use attributes for styles to keep clean class strings.
    - `<div text="red 4xl" hover="text-blue">` (Controversial but preferred by Antfu for clean template).

## 5. Vue.js Specifics

- **Script Setup**: `<script setup lang="ts">`.
- **ReactivityTransform**: Previously experimental, now prefer `ref` with `.value` or explicit `.value` macros if configured.
- **Structure**:
    - `defineProps` and `defineEmits` at the top.
    - `watch` / `computed` grouped together.

---

**The "Antfu" Vibe**:
- Delete dead code immediately.
- If it can be automated, write a script.
- Aesthetics matter: Code should look beautiful.

Discuss this resource

Platform guidance

Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.