convex-eslint

Configure eslint.config.js to enforce @convex-dev/eslint-plugin rules on Convex functions.

Updated Feb 1, 2026
One-click install
npx skills add https://github.com/EricJamesCrow/smartpockets --skill convex-eslint
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: convex-eslint
Source: https://github.com/EricJamesCrow/smartpockets/tree/main/.claude/skills/convex-eslint
Command: npx skills add https://github.com/EricJamesCrow/smartpockets --skill convex-eslint

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Write Convex code that passes @convex-dev/eslint-plugin rules by default to prevent bugs, security issues, and maintain high code quality across a Convex project.

Core Features & Use Cases

  • Enforces object syntax with a handler for Convex queries, mutations, and actions to ensure consistent patterns.
  • Validates argument definitions to require an args object for every function, reducing surprises and improving type-safety.
  • Provides migration guidance and best practices to maintain compliance as the code evolves.

Quick Start

Install the @convex-dev/eslint-plugin and configure eslint.config.js to enable the recommended rules, then run ESLint on your Convex codebase.

Frequently Asked Questions about convex-eslint

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure ESLint for Convex functions to pass linting rules by default?

To configure ESLint for Convex, install @convex-dev/eslint-plugin and enable its recommended rules in eslint.config.js. This ensures Convex queries, mutations, and actions automatically pass code quality checks.

Why does Convex ESLint require an args object for every function definition?

Convex ESLint requires an args object for every function definition to improve type-safety and reduce surprises. Enforcing consistent argument definitions prevents common mistakes and security issues across your Convex project.

What is the recommended ESLint rule pattern for Convex queries and mutations?

The recommended pattern for Convex queries and mutations uses object syntax with a handler. Enforcing object syntax through @convex-dev/eslint-plugin ensures consistent patterns and prevents common coding mistakes.

Can I use @convex-dev/eslint-plugin with an existing TypeScript ESLint configuration?

Yes, @convex-dev/eslint-plugin integrates with existing TypeScript ESLint setups by adding the plugin and enabling recommended rules in eslint.config.js. It validates Convex function definitions without disrupting standard JavaScript linting.

How do I migrate existing Convex code to comply with strict ESLint rules?

Migrating Convex code to comply with ESLint rules involves updating function definitions to use object syntax with a handler and ensuring an args object is defined. The plugin provides migration guidance to maintain compliance as code evolves.