Skip to content
Portfolio Personal project
Personal project 2024

@santi020k/eslint-config-basic

Built a DX-first ESLint toolkit for JavaScript and TypeScript teams that want stronger defaults, less setup friction, and cleaner reviews.

Creator

Mar 1, 2024 - Present

2 yrs 2 mo

20 technologies

@santi020k/eslint-config-basic · Creator

2024

Open source, community work, and practical developer experience.

A closer look at the delivery decisions, technical tradeoffs, and product constraints behind this work.

Active project

Building a DX-first ESLint toolkit

I built @santi020k/eslint-config-basic to remove lint setup friction from the kind of projects I work on most: React, Next.js, Astro, TypeScript, and monorepos with real teams behind them. It is the successor to my original @santi020k/eslint-config-santi020k package, rebuilt from scratch around ESLint’s flat config format with a much wider framework footprint and better DX throughout.

🎯 Goals

  • Reduce setup friction for new projects so teams can get to useful standards faster.
  • Encode strong defaults based on real project work across front-end apps, tooling, Astro sites, and monorepos.
  • Stay composable so different stacks can opt into the pieces they actually need instead of inheriting a giant monolith.

🛠️ What I built

  • A composable ESLint core for JavaScript and TypeScript projects, with auto-detection for the frameworks and tools already in your repo.
  • Optional packages for React, Next.js, Astro, Vue, Svelte, Solid, Angular, NestJS, Expo, Qwik, and Remix.
  • A strict mode that promotes warnings to errors for CI/CD pipelines and stricter team workflows.
  • First-class support for Tailwind CSS, Vitest, and Testing Library, plus documentation and examples that make adoption easier for teams, not just for me.

📈 Results

  • Used by 30+ developers across personal, client, and shared codebases.
  • Less repeated setup work whenever a new project or experiment starts.
  • A reusable expression of my engineering standards in a form other teams can actually adopt and extend.

🧠 Why it matters

Linting is rarely the star of the show, but it changes how teams work. This project reflects how I think about developer tooling in general: remove friction, encode good defaults, and make quality easier to maintain at scale.

NPM Package

More projects in a similar lane.

@santi020k/eslint-config-santi020k
@santi020k/eslint-config-santi020k badge on an indigo and violet geometric cover
Personal project Creator
2023 - 2024

@santi020k/eslint-config-santi020k

Turned internal linting conventions into a reusable package that standardized React and TypeScript projects and paved the way for @santi020k/eslint-config-basic.

  • Shared one reusable lint baseline across multiple React and TypeScript projects
  • Reduced repeated setup work for new apps and experiments
  • Created the foundation later rebuilt into eslint-config-basic