██████╗ ██████╗ ███╗   ██╗███████╗██╗ ██████╗ 
██╔════╝██╔═══██╗████╗  ██║██╔════╝██║██╔════╝ 
██║     ██║   ██║██╔██╗ ██║█████╗  ██║██║  ███╗
██║     ██║   ██║██║╚██╗██║██╔══╝  ██║██║   ██║
╚██████╗╚██████╔╝██║ ╚████║██║     ██║╚██████╔╝
 ╚═════╝ ╚═════╝ ╚═╝  ╚═══╝╚═╝     ╚═╝ ╚═════╝

One command.
Zero configuration.

Stop wasting time on manual ESLint, Prettier, and Biome configs. Config automatically sets up your linter and formatter with sensible defaults for your JavaScript/TypeScript stack.

Everything you need,
nothing you don't

Config analyzes your project and automatically configures only the tools compatible with your tech stack.

Automatic Configuration

Generates config files for ESLint, Prettier, Biome and more with a single command. No manual setup required.

🎯

Smart Detection

Automatically detects your package manager and project technologies to configure only what you need.

🔧

Multiple Linters

Support for ESLint, Oxlint and Biome. Choose the one that best fits your project.

Multiple Formatters

Support for Prettier, Oxfmt and Biome. Optimized configuration for each one.

🚀

Modern Frameworks

Native support for React, Vue, Astro, Next.js and more.

🎨

Tailwind CSS

Automatic Tailwind plugin configuration for ESLint and Prettier with class sorting.

🔒

Git Hooks

Optional integration with Husky and lint-staged to run linters and formatters before each commit.

⚙️

VSCode Settings

Automatically configures .vscode/settings.json with formatOnSave and the correct formatter.

📦

Ready Scripts

Adds lint, lint:fix, fmt and fmt:check scripts to your package.json automatically.

Consistent by default,
compatible everywhere

All formatters share the same opinionated style, and we support the frameworks you love.

Formatting Style

No semicolons semi: false
Single quotes quoteStyle: 'single'
Print width 100 characters
Indent style Spaces
Indent width 2 spaces

Applied consistently across Prettier, Biome and Oxfmt.

Supported Technologies

JavaScript
TypeScript
React
React Native
Next.js
Vue
Solid
Astro
Lit
Tailwind CSS
HTML
CSS
J

Why I built Config

by Jannael

I was tired of starting a project with one linter and formatter, only to realize halfway through that the tech stack I chose wasn't fully supported. Then came the migration: uninstall, reinstall, reconfigure, debug the new config, repeat.

Even when you stick with one tool, the setup is painful. You have to search for the right ESLint plugins, figure out which parser you need, install everything, write the config file, then do it all over again for your formatter. Every. Single. Project.

Sure, you could ask an AI to generate the config for you. But that burns tokens, and you still need to verify it's correct, install the dependencies, and tweak it to your liking. It's not a real solution, it's just shifting the problem.

Config solves this by analyzing your tech stack upfront and generating a complete, compatible configuration in one command. No migrations, no plugin hunting, no wasted tokens.