Skip to content

AdamBien/zbaseline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zbaseline

Convert the machine-readable Baseline data from webstatus.dev into a greppable markdown snapshot.

Vision: Every Baseline verdict is a lookup in a fresh snapshot, never a guess.

Capabilities

  • features — Fetch the complete feature set from the web-platform feature source. · spec
  • snapshot — Render fetched features into the single-table markdown Baseline snapshot. · spec
  • report — Render fetched features into a human-readable HTML report with additional details and links. · spec
  • archive — Store a run's artifacts — origin feature data, the snapshot document, and the report — as files in the working folder. · spec

Components

flowchart LR
  features -->|Feature data| snapshot
  features -->|Feature data| report
  features -->|origin data| archive
  snapshot -->|document| archive
  report -->|document| archive
Loading

About

A zero-dependency Java 25 CLI application, built and packaged with zb. Cloned from the bce.design / airails.dev java-cli-app template.

Why it exists: LLM-based Baseline checks in web skills (the web-static / web-conventions verification loop) guess a CSS/HTML feature's Google Baseline status from stale model memory — subgrid crossed into Widely Available on 2026-03-15, after most training cutoffs. zbaseline converts the machine-readable Baseline data from webstatus.dev into a greppable markdown snapshot that skills bundle as ground truth. The /web-conventions skill's bundled references/baseline-snapshot.md is generated by this project.

Aspiration (seeds the distilled ## Vision): Every Baseline verdict is a lookup in a fresh snapshot, never a guess.

Intended capabilities (seed the BC carving — each becomes a business component):

  • fetch features — page through GET https://api.webstatus.dev/v1/features (page_size, metadata.next_page_token pagination, no query filter — group-filtered queries proved structurally incomplete) and collect the raw feature JSON
  • render snapshot — transform the collected features into the single-table markdown document defined under ## Output format

Conventions

  • writes the markdown snapshot to stdout (java -jar zbo/app.jar > baseline-snapshot.md), errors to stderr, non-zero exit when the API is unreachable
  • no arguments — every run fetches the complete feature set, so the snapshot covers CSS, HTML, and JS platform features alike
  • JSON parsing per /zjson: copy the org.json sources (JSONObject, JSONArray, JSONTokener) into the project — no external dependency
  • escape | and </> in feature names inside table cells

Output format

Header with snapshot date, source, and the missing-feature rule; then one flat table sorted by feature id:

# Baseline Snapshot — 2026-07-08
Source: https://api.webstatus.dev/v1/features
Missing feature = no Baseline status or newer than snapshot → treat as uncertain.

| Feature id | Name | Status | Newly since | Widely since |
|---|---|---|---|---|
| anchor-positioning | Anchor positioning | limited | | |
| dialog | &lt;dialog&gt; | widely | 2022-03-14 | 2024-09-14 |
| nesting | CSS nesting | widely | 2023-08-29 | 2026-02-28 |
| subgrid | Subgrid | widely | 2023-09-15 | 2026-03-15 |

Mapping from the API's baseline object: Status = baseline.status (widely / newly / limited); a feature without a baseline object is limited. Newly since = baseline.low_date, Widely since = baseline.high_date; absent dates stay empty. Snapshot date = run date.

Data source

  • GET https://api.webstatus.dev/v1/features returns {data: [...], metadata: {total, next_page_token}} — no auth, no API key
  • pagination via page_size and metadata.next_page_token (absent on the last page)
  • volume: ~1171 features unfiltered (measured 2026-07-08); group: queries were dropped — the group taxonomy misses cross-cutting groups (scrolling, view-transitions, …) and ~55 groupless CSS/HTML features (::before, object-fit, …)

Prerequisites

Java 25+, zb

Build & run

zb
java -jar zbo/app.jar

/sbce Quickstart

Spec-driven BCE 👉 sbce.space: one capability spec ≡ one business component. The spec lives in the BC's package-info.java and is the boundary contract; a green test run is the only definition of done. The /sbce skill and its companions are installed from 👉 airails.dev.

/sbce new          # bootstraps from the `## About` prose above — proposes the BC carving, confirm first
/sbce apply <bc>   # converge: close the spec-vs-code gap until the test loop is green

powered by airhacks.industries

About

Zero-dependency Java 25 CLI that converts machine-readable Baseline data from webstatus.dev into a greppable markdown snapshot. Replaces stale LLM guesses about a feature's Google Baseline status with fresh ground truth and generates the baseline-snapshot.md bundled by the /web-conventions skill.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Contributors

Languages

Generated from AdamBien/java-cli-app