antfu — community uniapp-vue3-template, community, ide skills, Claude Code, Cursor, Windsurf

v2026.1.28
GitHub

About this Skill

Perfect for Full Stack Agents needing robust web development setup with uniapp, vite, vue3, typescript, and unocss 使用uniapp+vite+vue3+typescript+uview-plus+unocss 搭建的适合团队协作的快速开发模版

oyjt oyjt
[0]
[0]
Updated: 3/5/2026

Agent Capability Analysis

The antfu skill by oyjt is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance.

Ideal Agent Persona

Perfect for Full Stack Agents needing robust web development setup with uniapp, vite, vue3, typescript, and unocss

Core Value

Empowers agents to develop scalable web applications using TypeScript in strict mode, with ESM module system, and @antfu/eslint-config for linting and formatting, while leveraging Vitest for testing and simple-git-hooks for Git workflow automation

Capabilities Granted for antfu

Building high-performance web applications with uniapp and vue3
Configuring robust TypeScript projects with strict mode and ESM
Automating testing and linting workflows with Vitest and @antfu/eslint-config

! Prerequisites & Limits

  • Requires pnpm as package manager
  • Limited to TypeScript and Vue3 ecosystem
  • Dependent on Vite for development and build processes
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

antfu

Install antfu, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

Anthony Fu's Preferences

This skill covers Anthony Fu's preferred tooling, configurations, and best practices for web development. This skill is opinionated.

Quick Summary

CategoryPreference
Package Managerpnpm
LanguageTypeScript (strict mode)
Module SystemESM ("type": "module")
Linting & Formatting@antfu/eslint-config (no Prettier)
TestingVitest
Git Hookssimple-git-hooks + lint-staged
DocumentationVitePress (in docs/)

Core Stack

Package Manager (pnpm)

Use pnpm as the package manager.

For monorepo setups, use pnpm workspaces:

yaml
1# pnpm-workspace.yaml 2packages: 3 - 'packages/*'

Use pnpm named catalogs in pnpm-workspace.yaml to manage dependency versions:

CatalogPurpose
prodProduction dependencies
inlinedDependencies inlined by bundler
devDevelopment tools (linter, bundler, testing, dev-server)
frontendFrontend libraries bundled into frontend

Catalog names are not limited to the above and can be adjusted based on needs. Avoid using default catalog.

@antfu/ni

Use @antfu/ni for unified package manager commands. It auto-detects the package manager (pnpm/npm/yarn/bun) based on lockfile.

CommandDescription
niInstall dependencies
ni <pkg>Add dependency
ni -D <pkg>Add dev dependency
nr <script>Run script
nuUpgrade dependencies
nun <pkg>Uninstall dependency
nciClean install (like pnpm i --frozen-lockfile)
nlx <pkg>Execute package (like npx)

Install globally with pnpm i -g @antfu/ni if the commands are not found.

TypeScript (Strict Mode)

Always use TypeScript with strict mode enabled.

json
1{ 2 "compilerOptions": { 3 "target": "ESNext", 4 "module": "ESNext", 5 "moduleResolution": "bundler", 6 "strict": true, 7 "esModuleInterop": true, 8 "skipLibCheck": true, 9 "resolveJsonModule": true, 10 "isolatedModules": true, 11 "noEmit": true 12 } 13}

ESM (ECMAScript Modules)

Always work in ESM mode. Set "type": "module" in package.json.


Code Quality

ESLint (@antfu/eslint-config)

Use @antfu/eslint-config for both formatting and linting. This eliminates the need for Prettier.

Create eslint.config.js with // @ts-check comment:

js
1// @ts-check 2import antfu from '@antfu/eslint-config' 3 4export default antfu()

Add script to package.json:

json
1{ 2 "scripts": { 3 "lint": "eslint ." 4 } 5}

When getting linting errors, try to fix them with nr lint --fix. Don't add lint:fix script.

Git Hooks (simple-git-hooks + lint-staged)

Use simple-git-hooks with lint-staged for pre-commit linting:

json
1{ 2 "simple-git-hooks": { 3 "pre-commit": "pnpm i --frozen-lockfile --ignore-scripts --offline && npx lint-staged" 4 }, 5 "lint-staged": { 6 "*": "eslint --fix" 7 }, 8 "scripts": { 9 "prepare": "npx simple-git-hooks" 10 } 11}

Unit Testing (Vitest)

Use Vitest for unit testing.

json
1{ 2 "scripts": { 3 "test": "vitest" 4 } 5}

Conventions:

  • Place test files next to source files: foo.tsfoo.test.ts (same directory)
  • High-level tests go in tests/ directory in each package
  • Use describe and it API (not test)
  • Use expect API for assertions
  • Use assert only for TypeScript null assertions
  • Use toMatchSnapshot for complex output assertions
  • Use toMatchFileSnapshot with explicit file path and extension for language-specific output (exclude those files from linting)

Project Setup

Publishing (Library Projects)

For library projects, publish through GitHub Releases triggered by bumpp:

json
1{ 2 "scripts": { 3 "release": "bumpp -r" 4 } 5}

Documentation (VitePress)

Use VitePress for documentation. Place docs under docs/ directory.

docs/
├── .vitepress/
│   └── config.ts
├── index.md
└── guide/
    └── getting-started.md

Add script to package.json:

json
1{ 2 "scripts": { 3 "docs:dev": "vitepress dev docs", 4 "docs:build": "vitepress build docs" 5 } 6}

References

Project Setup

TopicDescriptionReference
@antfu/eslint-configESLint flat config for formatting and lintingantfu-eslint-config
GitHub ActionsPreferred workflows using sxzz/workflowsgithub-actions
.gitignorePreferred .gitignore for JS/TS projectsgitignore
VS Code ExtensionsRecommended extensions for developmentvscode-extensions

Development

TopicDescriptionReference
App DevelopmentPreferences for Vue/Vite/Nuxt/UnoCSS web applicationsapp-development
Library DevelopmentPreferences for bundling and publishing TypeScript librarieslibrary-development
Monorepopnpm workspaces, centralized alias, Turborepomonorepo

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is antfu?

Perfect for Full Stack Agents needing robust web development setup with uniapp, vite, vue3, typescript, and unocss 使用uniapp+vite+vue3+typescript+uview-plus+unocss 搭建的适合团队协作的快速开发模版

How do I install antfu?

Run the command: npx killer-skills add oyjt/uniapp-vue3-template/antfu. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for antfu?

Key use cases include: Building high-performance web applications with uniapp and vue3, Configuring robust TypeScript projects with strict mode and ESM, Automating testing and linting workflows with Vitest and @antfu/eslint-config.

Which IDEs are compatible with antfu?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for antfu?

Requires pnpm as package manager. Limited to TypeScript and Vue3 ecosystem. Dependent on Vite for development and build processes.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add oyjt/uniapp-vue3-template/antfu. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use antfu immediately in the current project.

Related Skills

Looking for an alternative to antfu or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI