Inspiration

I’ve tried out various solutions, but the GitHub Action form factor seems to be the most suitable, as it’s not tied to any specific development environment.

What it does

Baseline CI automatically scans every pull request for JavaScript and CSS features, checking them against W3C Baseline data to identify browser compatibility issues. It posts detailed reports directly on PRs, showing which features are widely supported, newly available, or have limited browser support - helping teams catch compatibility problems before merging.

How we built it

Built with TypeScript and GitHub Actions, using Babel parser for JS/TS analysis and PostCSS for CSS. Implemented a modular plugin architecture where each web feature (Promise.try, container queries, etc.) has its own detector module. Integrated the web-features NPM package for compatibility data and used GitHub's API to post formatted markdown reports on PRs.

Challenges we ran into

  • Performance: Parsing large codebases was slow until we optimized to only analyze changed files
  • False positives: Required precise AST pattern matching and extensive test coverage

Accomplishments that we're proud of

Created a plugin architecture where adding new feature detectors is as simple as dropping in a module—making it truly community-maintainable. The system currently detects 5 key JavaScript and CSS features with near-zero false positives, with the architecture ready to scale to hundreds more. The PR comments strike the perfect balance between helpful and concise.

What we learned

AST parsing is incredibly powerful for reliable feature detection. Plugin architectures scale beautifully for maintainability. Developer experience matters more than pure functionality - actionable PR comments beat cryptic CI failures. The web platform evolves rapidly with new features shipping monthly.

What's next for Baseline CI

Expanding detector coverage to 1000+ web features and adding support for HTML features and Web APIs

Built With

Share this project:

Updates