antfu-design
antfu-style design conventions, broadened. UnoCSS-first, class-based semantic tokens with…
Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects. Use when setting up new projects, configuring ESLint/Prettier alternatives, monorepos, library publishing, or when the user mentions Anthony Fu's preferences.
$ npx -y skills add antfu/skills --skill antfu --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/antfuContext preview
The summary Claude sees to decide when to auto-load this skill.
Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects. Use when setting up new projects, configuring ESLint/Prettier alternatives, monorepos, library publishing, or when the user mentions Anthony Fu's preferences.
name: antfu description: Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects. Use when setting up new projects, configuring ESLint/Prettier alternatives, monorepos, library publishing, or when the user mentions Anthony Fu's preferences. metadata: author: Anthony Fu version: "2026.06.22"
// @env node // @env browser
Favor explicit, traceable code over implicit "magic". A reader (human or agent) should be able to follow where every name comes from without running tooling.
---
| Command | Description | |---------|-------------| | `ni` | Install dependencies | | `ni <pkg>` / `ni -D <pkg>` | Add dependency / dev dependency | | `nr <script>` | Run script | | `nu` | Upgrade dependencies | | `nun <pkg>` | Uninstall dependency | | `nci` | Clean install (`pnpm i --frozen-lockfile`) | | `nlx <pkg>` | Execute package (`npx`) |
Use [`fast-npm-meta`](https://github.com/antfu/fast-npm-meta) to look up the latest version of a package — it queries a small metadata endpoint instead of downloading the full registry payload (which can be megabytes per package).
nlx fast-npm-meta version vite # 7.3.1 nlx fast-npm-meta version "nuxt@^3.5" # 3.5.22 — range-aware nlx fast-npm-meta version vite nuxt vue # multiple at once nlx fast-npm-meta version vite --json # JSON for scripting nlx fast-npm-meta full vite # full version list + dist-tags
Prefer this over `npm view <pkg> version` when you only need the latest version, and over reading `package.json` from the registry directly.
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "bundler",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true
}
}// eslint.config.mjs import antfu from '@antfu/eslint-config' export default antfu()
When completing tasks, run `pnpm run lint --fix` to format the code and fix coding style.
For detailed configuration options: [antfu-eslint-config](references/antfu-eslint-config.md)
{
"simple-git-hooks": {
"pre-commit": "pnpm i --frozen-lockfile --ignore-scripts --offline && npx lint-staged"
},
"lint-staged": { "*": "eslint --fix" },
"scripts": {
"prepare": "npx simple-git-hooks"
}
}Use named catalogs in `pnpm-workspace.yaml` for version management:
| Catalog | Purpose | |---------|---------| | `prod` | Production dependencies | | `inlined` | Bundler-inlined dependencies | | `dev` | Dev tools (linter, bundler, testing) | | `frontend` | Frontend libraries |
Avoid the default catalog. Catalog names can be adjusted per project needs.
---
| Topic | Description | Reference | |-------|-------------|-----------| | ESLint Config | Framework support, formatters, rule overrides, VS Code settings | [antfu-eslint-config](references/antfu-eslint-config.md) | | Project Setup | .gitignore, GitHub Actions, VS Code extensions | [setting-up](references/setting-up.md) | | App Development | Vue/Nuxt/UnoCSS conventions, auto-import control, Storybook component testing | [app-development](references/app-development.md) | | Library Development | tsdown bundling, pure ESM publishing | [library-development](references/library-development.md) | | Monorepo | pnpm workspaces, centralized alias, Turborepo | [monorepo](references/monorepo.md) |
A curated collection of Agent Skills reflecting Anthony Fu's preferences, experience, and best practices, along with usage documentation for the tools.
Repo: antfu/skills
antfu-style design conventions, broadened. UnoCSS-first, class-based semantic tokens with…
Nitro is the framework-agnostic server toolkit (powering Nuxt) for building and deploying web…
Nuxt full-stack Vue framework with SSR, auto-imports, and file-based routing. Use when…
Pinia official Vue state management library, type-safe and extensible. Use when defining…
Node.js package manager with strict dependency resolution. Use when running pnpm specific…