Below you will find pages that utilize the taxonomy term “Javascript”
My ESLint Config Was a Mess. I Asked an AI to Fix It. - Part 2 of 6
Part 2 of 6: The AI-Assisted Development Workflow Series
This is the second installment in a six-part series exploring how AI is transforming modern development workflows. In this series, I’ll walk through my journey of building an AI-assisted development environment, from basic infrastructure setup to advanced architectural enforcement and task orchestration.
Series Overview:
- Part 1: MCP Servers, Ports, and Sharing - Setting up the foundation
- Part 2: ESLint Configuration Refactoring - Cleaning up tooling with AI
- Part 3: Custom Architectural Rules - Teaching AI to enforce design patterns
- Part 4: Task Orchestration - Managing complex refactoring workflows
- Part 5: Project Rules for AI - Creating effective memory banks and guidelines
- Part 6: The Ultimate Design Review - Putting it all together
If you’re a frontend developer, you know the love-hate relationship we have with ESLint. We love that it keeps our code clean and consistent. We hate spending hours wrestling with config files, trying to get plugins to play nicely with each other, especially in a modern TypeScript and Tailwind CSS v4 world.
How I Taught My AI Pair Programmer to Be Our Team's Tailwind CSS Cop - Part 3 of 6
Part 3 of 6: The AI-Assisted Development Workflow Series
This is the third installment in a six-part series exploring how AI is transforming modern development workflows. In this series, I’ll walk through my journey of building an AI-assisted development environment, from basic infrastructure setup to advanced architectural enforcement and task orchestration.
Series Overview:
- Part 1: MCP Servers, Ports, and Sharing - Setting up the foundation
- Part 2: ESLint Configuration Refactoring - Cleaning up tooling with AI
- Part 3: Custom Architectural Rules - Teaching AI to enforce design patterns
- Part 4: Task Orchestration - Managing complex refactoring workflows
- Part 5: Project Rules for AI - Creating effective memory banks and guidelines
- Part 6: The Ultimate Design Review - Putting it all together
We’ve all been there. You start a new project with Tailwind CSS, and everything is beautiful. The utility-first approach is fast, flexible, and keeps you right in your HTML. But as the project grows and the team expands, the CSS landscape can start to feel like the Wild West. Utility classes get sprinkled everywhere, components start to blur the lines between structure and style, and soon you’re overriding margins and fighting for specificity.
From Linter Chaos to Orchestrated Tasks - Part 4 of 6
Part 4 of 6: The AI-Assisted Development Workflow Series
This is the fourth installment in a six-part series exploring how AI is transforming modern development workflows. In this series, I’ll walk through my journey of building an AI-assisted development environment, from basic infrastructure setup to advanced architectural enforcement and task orchestration.
Series Overview:
- Part 1: MCP Servers, Ports, and Sharing - Setting up the foundation
- Part 2: ESLint Configuration Refactoring - Cleaning up tooling with AI
- Part 3: Custom Architectural Rules - Teaching AI to enforce design patterns
- Part 4: Task Orchestration - Managing complex refactoring workflows
- Part 5: Project Rules for AI - Creating effective memory banks and guidelines
- Part 6: The Ultimate Design Review - Putting it all together
In my last post, I talked about how my AI pair programmer and I created a custom ESLint rule to enforce our new frontend architecture. It was a huge success. The linter, now armed with our specific rules, scanned the codebase and… gave us a giant list of things to fix.