Inspiration
Every time browsers evolve, developers get caught between outdated lint rules and the latest web-platform features. You can be using an evergreen Chrome build and still have no idea which APIs are safe for production. The gap between “supported” and “usable” is wide and I kept seeing teams ship code that worked only by accident.
I wanted to close that gap.
So I built Base Lint, a CI-integrated linting framework that enforces evolving web-feature baselines. Instead of freezing to one moment in time, Base Lint checks what browsers actually support today and keeps your codebase modern by default.
What it does
- The NPM package runs a local audit (npx base-lint check) and outputs a report.
- The GitHub Action integrates that audit into CI so pull requests fail if they include non-baseline APIs.
Pro Tip: Run npm -D i base-lint && npx base-lint init to initialize the Base Lint GitHub Action in your project.
How I built it
Codex + Cursor, lots of manual testing and getting really comfortable with npm publishing and cutting releases and creating tags for GitHub Actions.
Challenges I ran into
Versioning was a challenge and not correctly building and publishing the base lint packages would cause some version drift or publishing old builds by mistake, and other common gotchas.
Accomplishments that I'm proud of
This was my first NPM Package and GitHub Action and it's pretty cool to see my project in those registries + marketplaces.
What I learned
I learned that developer tools are they’re about trust. If a rule is too strict, people turn it off. Too vague, and it’s ignored. Similarly, MVPs should be correct for dev tools or you won't gain that trust in the first place.
Balancing those forces taught me that the best developer experience feels invisible, seemless. This was why I created the npm package to initialize the GitHub Action and the CI bot would annotate and give helpful, targeted comments.
I also learned more about GitHub Actions metadata, semantic versioning for Actions (so tagging matters), and how publishing a small package can still teach you about API design, ergonomics, and version discipline.
What's next for Base Lint
I will be actively maintaining the project to support the dev community that means so much to me!
Built With
- baseline
- codex
- typescript
Log in or sign up for Devpost to join the conversation.