Inspiration
Every web developer asks the same question before shipping new code: “Is this feature safe to use everywhere yet?” The official Baseline initiative already answers that—but the information lives outside the tools developers actually use. We wanted to change that by embedding Baseline awareness directly into editors, linters, and CI pipelines.
What it does
Baseline Guardian is a developer-tooling suite that brings the official Baseline web-features data directly into everyday workflows. It scans your code (JS/TS, CSS, HTML) to detect APIs or properties not yet part of the Baseline standard, warning developers before they ship incompatible code. The toolkit includes: A CLI for local and CI scans (pretty, JSON, SARIF output) An ESLint rule for real-time linting A VS Code extension showing inline diagnostics A GitHub Action that uploads Baseline reports and generates a pass/fail badge It helps teams confidently adopt modern web features while ensuring cross-browser reliability and standards compliance.
How we built it
Baseline Guardian integrates the Baseline dataset (via the web-features package) into real-world developer workflows. It includes: CLI Scanner — detects non-Baseline APIs and CSS in JS/TS, CSS, and HTML. ESLint Plugin — warns about non-Baseline usage as you type. VS Code Extension — provides inline diagnostics with zero configuration. Husky Pre-commit Hook — prevents incompatible code from being committed. GitHub Action + SARIF Output — automates scans in CI and generates a status badge. GitHub Pages Demo Site — shows a sample Baseline report and how findings look. Together, these tools make Baseline guidance visible at every step—from code editor to pull request.
Challenges we ran into
Creating reliable reverse-lookups from code identifiers to Baseline feature IDs. Keeping scan performance fast without compromising accuracy. Integrating the same dataset across multiple contexts (CLI, ESLint, VS Code, CI) while maintaining consistency. Simplifying setup so developers can start scanning immediately without extra configuration.
Accomplishments that we're proud of
Mapping abstract feature IDs (e.g. api.clipboard.writeText) to the tokens developers actually write. Building fast, lightweight parsing (Babel + PostCSS + Cheerio) that works in seconds across large projects. Designing output formats (Pretty, JSON, SARIF) that fit human and machine workflows.
What we learned
learned that transforming open data into practical developer feedback requires: Mapping abstract feature IDs (e.g. api.clipboard.writeText) to the tokens developers actually write. Building fast, lightweight parsing (Babel + PostCSS + Cheerio) that works in seconds across large projects. Designing output formats (Pretty, JSON, SARIF) that fit human and machine workflows. We also discovered how powerful Baseline can be when integrated into existing toolchains—it turns compatibility knowledge into automatic guardrails.
What's next for Baseline_Guardian
being approved and put to work
Built With
- babel
- baseline
- cheerio
- ci
- cli
- code
- css
- eslint-rule
- extension
- files
- html
- javascript
- logic.
- node.js)
- parsing
- postcss
- scans.
- scripts.
- typescript-?-for-the-cli
- vs
Log in or sign up for Devpost to join the conversation.