Inspiration

If there was a tool to view Baseline information from the CLI, developers wouldn't need to open a browser and check multiple sites when researching which features are available for their projects. This would eliminate context-switching costs. I realized this could be achieved using web-features, which motivated me to build this tool.

What it does

  • Search and browse Baseline status of web platform features directly from your terminal
  • View features whose Baseline status changed in the last 28 days, making it easy to stay updated on the latest Baseline information
  • Select any feature in the CLI to view detailed data managed by web-features

How we built it

I built it using ink, a popular framework for modern CLI tools. The tool uses feature information provided by web-features as its data source, and displays baseline information for each feature's compat_features using the getStatus() method from compute-baseline.

Challenges we ran into

Understanding the data structure managed by web-features took considerable time. Since displaying accurate information to users was my top priority, I carefully studied the data model. Additionally, I didn't initially use ink when starting the project, but migrated to it later to provide a more interactive and better user experience. This decision turned out to be the right choice.

Accomplishments that we're proud of

  • No npm install or setup required, with a package size of only about 30kb (at the time of writing), making it easy to access Baseline information directly from the CLI
  • When listing features, Baseline status is represented by color-coded markers, providing superior browsing experience compared to other existing tools

What we learned

  • I learned about CLI tool design and development methodologies
  • When browsing features with baseline-search, I discovered there were more "limited available" features than I expected, which reminded me how actively web development is evolving

What's next for Baseline Search

  • Refactor the codebase for better maintainability
  • Currently, the tool has three main features, but I want to integrate them into a unified interface so users can access the information they need with fewer clicks
  • While the tool currently focuses on features and their Baseline status, I believe it would be even more useful to provide additional information related to Baseline (though I would proceed with extreme caution to avoid spreading misinformation or outdated data)

Built With

Share this project:

Updates