antfu-coding-style

📁 dokhacgiakhoa/antigravity-ide 📅 3 days ago
1
总安装量
1
周安装量
#53177
全站排名
安装命令
npx skills add https://github.com/dokhacgiakhoa/antigravity-ide --skill antfu-coding-style

Agent 安装分布

amp 1
opencode 1
kimi-cli 1
codex 1
github-copilot 1
antigravity 1

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.