Skills Plugins MCP Prompt Model 博客 我的中心
开发编程 #javascript #typescript

antfu

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.

DeepseekModel 官方收录技能 质量 优秀 · 90 v1.0.0

获取

https://deepseekmodel.com/api/download.php?id=antfu-skills-skills-antfu-skill-md&format=skill
下载 .skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
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"} 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: // @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 Explicitness 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. Explicit imports : Prefer explicit import statements. Avoid auto-imports — when a framework provides them (e.g. Nuxt/Nitro), turn them off for new projects (see app-development ). No path aliases by default : Use relative imports ( ./foo , ../bar ). Only use path aliases ( @/ , ~/ , #imports , etc.) when they are already configured in the project; don't introduce new ones for greenfield code. 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 <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 ) Checking npm Package Versions Use 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. TypeScript Config { "compilerOptions" : { "target" : "ESNext" , "module" : "ESNext" , "moduleResolution" : "bundler" , "strict" : true , "esModuleInterop" : true , "skipLibCheck" : true , "resolveJsonModule" : true , "isolatedModules" : true , "noEmit" : true } } ESLint Setup // 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 Git Hooks { "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" } } pnpm Catalogs 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. References Topic Description Reference ESLint Config Framework support, formatters, rule overrides, VS Code settings antfu-eslint-config Project Setup .gitignore, GitHub Actions, VS Code extensions setting-up App Development Vue/Nuxt/UnoCSS conventions, auto-import control, Storybook component testing app-development Library Development tsdown bundling, pure ESM publishing library-development Monorepo pnpm workspaces, centralized alias, Turborepo monorepo
Agent 识别该技能的关键词,点击任意一个即可复制。

该技能未提供触发词。

下载的 .skill 包内含以下字段。
字段 说明
format格式标识(skill/v1)
skill_id技能唯一 ID
name技能名称
version版本号
description技能描述
category所属分类(数组)
trigger_words触发词列表
tags标签列表
source来源标识
source_url来源链接(本页地址)
exported_at导出时间(每次下载生成)
system_prompt系统提示词正文
model_config模型参数:provider / model / temperature / max_tokens / top_p
examples示例
install_guide各平台导入说明(Coze / Dify / Claude / 自定义框架)
同一份技能可按不同平台格式导出。
.skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用 下载
.skillpro 增强格式,额外含脚本 / 工具 / 依赖 / 钩子占位 下载
.json 纯 JSON 导出,只含 system_prompt 与模型参数 下载
Coze 带 frontmatter 的 Markdown,Coze 平台导入用 下载
Dify Dify DSL,创建应用后直接导入 下载

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

验证码 --

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。