oxlint

Run and configure oxlint — the high-performance JavaScript/TypeScript linter built on the Oxc compiler stack. Use this skill whenever working in a project that has oxlint installed (check for `oxlint` in package.json devDependencies or an `.oxlintrc.json` / `oxlint.config.ts` config file). This includes when you need to lint code after making changes, fix linting errors, configure oxlint rules/plugins, set up or modify `.oxlintrc.json`, or migrate from ESLint.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "oxlint" with this command: npx skills add delexw/claude-code-misc/delexw-claude-code-misc-oxlint

Oxlint — High-Performance JS/TS Linter

Oxlint is 50-100x faster than ESLint. It ships with 690+ rules covering ESLint core, TypeScript, React, Jest, Unicorn, jsx-a11y, and more. It prioritizes high-signal correctness checks by default — things that are incorrect, unsafe, or useless — so teams can adopt it without drowning in false positives.

Detection

Before linting, confirm the project uses oxlint by checking for any of:

  • oxlint in package.json devDependencies/dependencies
  • An .oxlintrc.json file in the project root
  • An oxlint.config.ts file in the project root
  • An oxlint or lint script in package.json that references oxlint

If none of these exist, the project doesn't use oxlint — don't run it.

Running Oxlint

After code changes

Run oxlint to check your work. Prefer the project's npm script if one exists:

# If package.json has a lint script using oxlint
npm run lint

# Otherwise, run directly
npx oxlint

Fixing issues automatically

npx oxlint --fix

Use --fix for safe automatic fixes. Avoid --fix-dangerously unless the user explicitly asks for it — it can apply unsafe transformations.

Linting specific files

After editing only a few files, you can lint just those:

npx oxlint src/components/Button.tsx src/utils/helpers.ts

Interpreting output

Oxlint prints diagnostics with rule names in parentheses, e.g. (no-unused-vars). When fixing:

  1. Read the diagnostic message carefully — oxlint gives precise, actionable information
  2. Fix the underlying code issue rather than suppressing the rule
  3. Only add // oxlint-ignore comments as a last resort when the diagnostic is a genuine false positive

Output formats

For CI or tooling integration:

npx oxlint --format json        # Machine-readable JSON
npx oxlint --format github      # GitHub Actions annotations
npx oxlint --format unix        # Simple one-line-per-error format

Configuration

Creating a config

npx oxlint --init

This generates an .oxlintrc.json starter config.

Config file format (.oxlintrc.json)

The config uses JSONC (JSON with comments). Key sections:

{
  // Enable/disable individual rules with severity levels
  "rules": {
    "no-unused-vars": "error",
    "no-console": "warn",
    "no-plusplus": ["error", { "allowForLoopAfterthoughts": true }]
  },

  // Enable groups of related rules by category
  "categories": {
    "correctness": "error",   // Definitely-wrong code
    "suspicious": "warn",     // Probably-wrong code
    "pedantic": "off",        // Opinionated style checks
    "perf": "warn",           // Performance anti-patterns
    "style": "off",           // Cosmetic preferences
    "restriction": "off",     // Extra-strict rules (opt-in)
    "nursery": "off"          // Unstable/experimental rules
  },

  // Plugins to enable (setting this overwrites defaults, so list all you want)
  "plugins": ["typescript", "unicorn", "oxc"],

  // File-specific overrides
  "overrides": [
    {
      "files": ["**/*.test.{ts,tsx}"],
      "rules": { "no-console": "off" }
    },
    {
      "files": ["scripts/**"],
      "rules": { "no-console": "off" }
    }
  ],

  // Environment globals
  "env": {
    "browser": true,
    "node": true
  },

  // Plugin-wide settings
  "settings": {
    "react": {
      "linkComponents": [{ "name": "Link", "linkAttribute": "to" }]
    },
    "jsx-a11y": {
      "components": { "Link": "a", "Button": "button" }
    }
  },

  // Type-aware linting (requires tsconfig)
  "options": {
    "typeAware": true
  }
}

Rule severity levels

  • "off" / "allow" — Disable the rule
  • "warn" — Report but don't fail the build
  • "error" / "deny" — Report and exit non-zero

Unique rule names can omit plugin prefix: "no-console" = "eslint/no-console".

Categories

Categories group rules by intent. The recommended starting point:

  • correctness: "error" — Always on. Catches real bugs.
  • suspicious: "warn" — Good signal, occasionally noisy.
  • Everything else: enable incrementally as the team is ready.

Available plugins

Enabled by default: typescript, unicorn, oxc

Opt-in (CLI flags or config):

PluginCLI flagPurpose
react--react-pluginReact-specific rules
jsx-a11y--jsx-a11y-pluginAccessibility rules for JSX
nextjs--nextjs-pluginNext.js best practices
import--import-pluginImport/export validation
jest--jest-pluginJest testing rules
vitest--vitest-pluginVitest testing rules
jsdoc--jsdoc-pluginJSDoc documentation rules
node--node-pluginNode.js-specific rules
promise--promise-pluginPromise best practices
react-perf--react-perf-pluginReact performance rules
vue--vue-pluginVue.js rules

To disable a default plugin: --disable-typescript-plugin, --disable-unicorn-plugin, --disable-oxc-plugin.

Extending shared configs

{
  "extends": ["./configs/base.json", "./configs/frontend.json"]
}

Later entries override earlier ones. Paths resolve relative to the declaring config.

Monorepo support

Oxlint supports nested configs. Each directory can have its own .oxlintrc.json that overrides parent settings. Disable with --disable-nested-config if unwanted.

CLI Quick Reference

FlagWhat it does
-c, --config=PATHUse a specific config file
--tsconfig=PATHTypeScript config for path aliases
--fixAuto-fix safe issues
--fix-suggestionsAlso apply suggested fixes
-A, --allow=RULESuppress a rule (e.g., -A no-console)
-W, --warn=RULEWarn on a rule
-D, --deny=RULEError on a rule
--quietSuppress warnings, show only errors
--deny-warningsTreat warnings as errors (exit non-zero)
--max-warnings=NFail if more than N warnings
-f, --format=FMTOutput format: default, json, github, unix, etc.
--ignore-pattern=PATExclude files matching pattern
--type-awareEnable type-informed rules (needs tsconfig)
--print-configShow resolved config (useful for debugging)
--rulesList all available rules

Categories can also be used with -A/-W/-D:

npx oxlint -D correctness -W suspicious -A pedantic

Suppressing rules inline

// oxlint-ignore no-console -- needed for debug logging
console.log(debugInfo);

// oxlint-ignore-next-line no-unused-vars
const _placeholder = computeValue();

Use oxlint-ignore (not eslint-disable) — oxlint recognizes both, but prefer its native syntax.

Migrating from ESLint

If the project is moving from ESLint to oxlint:

  1. Side-by-side approach — Run both linters, with eslint-plugin-oxlint disabling rules that oxlint already covers:

    npm install -D eslint-plugin-oxlint
    

    Add it as the last plugin in your ESLint config.

  2. Full replacement — Use @oxlint/migrate to convert your ESLint config:

    npx @oxlint/migrate
    

    This generates an .oxlintrc.json from your existing ESLint configuration.

Supported file types

.js, .mjs, .cjs, .ts, .mts, .cts, .jsx, .tsx, .vue, .svelte, .astro

For .vue, .svelte, and .astro files, oxlint lints only the <script> blocks.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

arxiv-paper-writer

Use this skill whenever the user wants Claude Code to write, scaffold, compile, debug, or review an arXiv-style academic paper, especially survey papers with LaTeX, BibTeX citations, TikZ figures, tables, and PDF output. This skill should trigger for requests like writing a full paper, creating an arXiv paper project, turning a research topic into a LaTeX manuscript, reproducing the Paper-Write-Skill-Test agent-survey workflow, or setting up a Windows/Linux Claude Code paper-writing loop.

Archived SourceRecently Updated
Coding

cli-proxy-troubleshooting

排查 CLI Proxy API(codex-api-proxy)的配置、认证、模型注册和请求问题。适用场景包括:(1) AI 请求报错 unknown provider for model, (2) 模型列表中缺少预期模型, (3) codex-api-key/auth-dir 配置不生效, (4) CLI Proxy 启动后 AI 无法调用, (5) 认证成功但请求失败或超时。包含源码级排查方法:模型注册表架构、认证加载链路、 SanitizeCodexKeys 规则、常见错误的真实根因。

Archived SourceRecently Updated
Coding

visual-summary-analysis

Performs AI analysis on input video clips/image content and generates a smooth, natural scene description. | 视觉摘要智述技能,对传入的视频片段/图片内容进行AI分析,生成一段通顺自然的场景描述内容

Archived SourceRecently Updated
Coding

frontend-skill

全能高级前端研发工程师技能。擅长AI时代前沿技术栈(React最新 + shadcn/ui + Tailwind CSS v4 + TypeScript + Next.js),精通动效库与交互特效开发。采用Glue Code风格快速实现代码,强调高质量产品体验与高度友好的UI视觉规范。在组件调用、交互特效、全局Theme上保持高度规范:绝不重复造轮子,相同逻辑出现两次即封装为组件。具备安全意识,防范各类注入攻击。开发页面具有高度自适应能力,响应式设计贯穿始终。当用户无特殊技术栈要求时,默认采用主流前沿技术栈。

Archived SourceRecently Updated