Token导航 LogoToken导航TokenDH.com
研究检索external-servicegithub未标认证来源可访问许可证需确认审计通过

eslint-biome埃斯林特生物群系

Agent Skill

eslint-biome 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

635

周安装

27

GitHub Stars

12

下载量

222
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:eslint-biome(埃斯林特生物群系)
来源仓库:https://github.com/claude-dev-suite/claude-dev-suite
仓库路径:skills/eslint-biome
安装命令:
npx skills add https://github.com/claude-dev-suite/claude-dev-suite --skill eslint-biome
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/claude-dev-suite/claude-dev-suite --skill eslint-biome

简介

eslint-biome 提供 ESLint 9 与 Biome 的联合 lint 配置方案,适合在现代 JavaScript/TypeScript 项目中统一代码风格。

  • 适用于新项目初始化或多技术栈共存时的 lint 工具整合。
  • 支持规则映射、迁移策略与 CI 集成,避免重复配置。
  • 安装命令:npx skills add https://github.com/claude-dev-suite/claude-dev-suite --skill eslint-biome。
  • 使用前请确认项目是否已安装对应依赖,并检查是否会触发文件修改或网络请求。

SKILL.md

ESLint 9 & Biome Linting

When NOT to Use This Skill

  • Legacy ESLint (.eslintrc) - Use eslint skill for old config format
  • TypeScript-only rules - Use typescript-eslint skill for deep TypeScript linting
  • Java/Kotlin linting - Use sonarqube skill
  • Code quality principles - Use quality-common for SOLID/Clean Code
Deep Knowledge: Use mcp__documentation__fetch_docs with technology: eslint or biome for comprehensive documentation.

Official References


ESLint 9 Flat Config

Basic Setup

npm install --save-dev eslint @eslint/js typescript typescript-eslint
// eslint.config.mjs
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';

export default tseslint.config(
  eslint.configs.recommended,
  ...tseslint.configs.recommended,
);

TypeScript with Type Checking

// eslint.config.mjs
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';

export default tseslint.config(
  eslint.configs.recommended,
  ...tseslint.configs.recommendedTypeChecked,
  {
    languageOptions: {
      parserOptions: {
        projectService: true,
        tsconfigRootDir: import.meta.dirname,
      },
    },
  },
);

Full Configuration Example

// eslint.config.mjs
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import reactPlugin from 'eslint-plugin-react';
import reactHooksPlugin from 'eslint-plugin-react-hooks';

export default tseslint.config(
  // Ignores
  {
    ignores: ['dist/**', 'node_modules/**', '*.config.js'],
  },

  // Base configs
  eslint.configs.recommended,
  ...tseslint.configs.strictTypeChecked,
  ...tseslint.configs.stylisticTypeChecked,

  // TypeScript files
  {
    files: ['**/*.ts', '**/*.tsx'],
    languageOptions: {
      parserOptions: {
        projectService: true,
        tsconfigRootDir: import.meta.dirname,
      },
    },
    rules: {
      // Prevent bugs
      '@typescript-eslint/no-floating-promises': 'error',
      '@typescript-eslint/no-misused-promises': 'error',
      '@typescript-eslint/await-thenable': 'error',

      // Code quality
      '@typescript-eslint/no-explicit-any': 'error',
      '@typescript-eslint/explicit-function-return-type': 'warn',
      '@typescript-eslint/consistent-type-imports': 'error',

      // Complexity
      'complexity': ['warn', 10],
      'max-depth': ['warn', 4],
      'max-lines-per-function': ['warn', 50],
    },
  },

  // React files
  {
    files: ['**/*.tsx'],
    plugins: {
      react: reactPlugin,
      'react-hooks': reactHooksPlugin,
    },
    rules: {
      ...reactPlugin.configs.recommended.rules,
      ...reactHooksPlugin.configs.recommended.rules,
      'react/react-in-jsx-scope': 'off',
    },
    settings: {
      react: { version: 'detect' },
    },
  },

  // Test files
  {
    files: ['**/*.test.ts', '**/*.test.tsx', '**/*.spec.ts'],
    rules: {
      '@typescript-eslint/no-explicit-any': 'off',
      'max-lines-per-function': 'off',
    },
  },
);

typescript-eslint Presets

PresetDescription
recommendedCore rules without type checking
recommendedTypeCheckedRecommended + type-aware rules
strictAll recommended + stricter rules
strictTypeCheckedStrict + type-aware rules
stylisticStyle/convention rules
stylisticTypeCheckedStylistic + type-aware

Key Type-Checked Rules

rules: {
  // Async/Promise safety
  '@typescript-eslint/no-floating-promises': 'error',
  '@typescript-eslint/no-misused-promises': 'error',
  '@typescript-eslint/await-thenable': 'error',
  '@typescript-eslint/require-await': 'error',

  // Type safety
  '@typescript-eslint/no-unsafe-argument': 'error',
  '@typescript-eslint/no-unsafe-assignment': 'error',
  '@typescript-eslint/no-unsafe-call': 'error',
  '@typescript-eslint/no-unsafe-member-access': 'error',
  '@typescript-eslint/no-unsafe-return': 'error',

  // Best practices
  '@typescript-eslint/no-unnecessary-condition': 'error',
  '@typescript-eslint/prefer-nullish-coalescing': 'error',
  '@typescript-eslint/prefer-optional-chain': 'error',
}

Biome

Installation

npm install --save-dev @biomejs/biome
npx @biomejs/biome init

Configuration (biome.json)

{
  "$schema": "https://biomejs.dev/schemas/1.9.0/schema.json",
  "organizeImports": {
    "enabled": true
  },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": true,
      "complexity": {
        "noExcessiveCognitiveComplexity": {
          "level": "warn",
          "options": { "maxAllowedComplexity": 15 }
        }
      },
      "correctness": {
        "noUnusedImports": "error",
        "noUnusedVariables": "error",
        "useExhaustiveDependencies": "warn"
      },
      "suspicious": {
        "noExplicitAny": "error",
        "noConsoleLog": "warn"
      },
      "style": {
        "useConst": "error",
        "noNonNullAssertion": "warn"
      },
      "security": {
        "noDangerouslySetInnerHtml": "error"
      }
    }
  },
  "formatter": {
    "enabled": true,
    "indentStyle": "space",
    "indentWidth": 2
  },
  "javascript": {
    "formatter": {
      "quoteStyle": "single",
      "semicolons": "always"
    }
  }
}

Rule Categories

CategoryRulesDescription
a11y40+Accessibility problems
complexity15+Code simplification
correctness60+Guaranteed errors
performance10+Efficiency improvements
security5+Security flaws
style50+Consistent code style
suspicious50+Likely incorrect patterns
nursery100+Experimental rules

Commands

# Check all
npx biome check .

# Fix auto-fixable issues
npx biome check --write .

# Lint only
npx biome lint .

# Format only
npx biome format --write .

# CI mode (no writes)
npx biome ci .

Migration: ESLint to Biome

# Automatic migration
npx @biomejs/biome migrate eslint --write

# With inspired rules
npx @biomejs/biome migrate eslint --include-inspired --write

# Migrate prettier config too
npx @biomejs/biome migrate prettier --write

Supported ESLint Plugins

PluginBiome Support
@typescript-eslintFull
eslint-plugin-reactFull
eslint-plugin-react-hooksFull
eslint-plugin-jsx-a11yFull
eslint-plugin-unicornPartial
eslint-plugin-importPartial

Rule Name Mapping

ESLintBiome
no-unused-varsnoUnusedVariables
no-consolenoConsoleLog
prefer-constuseConst
@typescript-eslint/no-explicit-anynoExplicitAny

ESLint vs Biome

FeatureESLint 9Biome
Speed~3-5s/10k lines~200ms/10k lines
ConfigJavaScriptJSON/JSONC
Plugins1000+Built-in only
FormatterNeeds PrettierBuilt-in
Type-awareFull support~85% coverage
LanguagesJS/TS + pluginsJS/TS/JSON/CSS

When to Use ESLint

  • Need specific plugins (import sorting, testing rules)
  • Require full type-aware linting
  • Have complex dynamic configuration

When to Use Biome

  • Speed is critical (large codebase, CI)
  • Want unified linting + formatting
  • Don't need extensive plugin ecosystem

CI Integration

ESLint (GitHub Actions)

- name: Lint
  run: npx eslint . --max-warnings=0

# With caching
- name: Lint with cache
  run: npx eslint . --cache --cache-location node_modules/.cache/eslint

Biome (GitHub Actions)

- name: Setup Biome
  uses: biomejs/setup-biome@v2
  with:
    version: latest

- name: Run Biome
  run: biome ci .

Checklist

ESLint Setup

  • Using flat config (eslint.config.mjs)
  • Type-checked rules enabled
  • No deprecated eslintrc format
  • Strict TypeScript rules
  • CI caching configured

Biome Setup

  • biome.json configured
  • Recommended rules enabled
  • Formatter settings match team style
  • CI mode in pipeline

Metrics

MetricTarget
Lint warnings0
Lint errors0
Type coverage> 95%
Lint time (CI)< 30s

Anti-Patterns

Anti-PatternWhy It's BadCorrect Approach
Using ESLint without type checkingMisses 50% of TS issuesUse recommendedTypeChecked
Biome + ESLint both linting same filesDuplicate work, conflictsChoose one per file type
No ignores in flat configLints dist/, node_modules/Add ignores at top of config
Type checking all JS filesSlow, JS has no typesLimit to **/*.ts files only
Not using Biome CI modeDifferent results locally vs CIUse biome ci. in pipelines
Mixing.eslintrc and flat configConfusing, deprecated patternMigrate fully to flat config

Quick Troubleshooting

IssueLikely CauseSolution
ESLint not finding typesprojectService not enabledAdd projectService: true to parserOptions
Biome migration creates 1000+ errorsStricter rules than ESLintUse --write to auto-fix, adjust rules
Linting takes 2+ minutesType checking entire codebaseUse files: ['**/*.ts'] for type rules
Biome doesn't support plugin XLimited plugin ecosystemStick with ESLint or find alternative
Flat config not recognizedWrong file nameMust be eslint.config.mjs (not.js)
Rules overriding each otherOrder in config arrayLater configs override earlier ones

Related Skills

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.33%
按下载量换算78

Claude

31.43%
按下载量换算70

Cursor

19.08%
按下载量换算42

Gemini CLI

9.4%
按下载量换算21

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills