Skip to content

feat: add devnet spec page#134

Open
barnabasbusa wants to merge 2 commits intoethereum:mainfrom
barnabasbusa:bbusa/devnet-spec-page
Open

feat: add devnet spec page#134
barnabasbusa wants to merge 2 commits intoethereum:mainfrom
barnabasbusa:bbusa/devnet-spec-page

Conversation

@barnabasbusa
Copy link
Member

@barnabasbusa barnabasbusa commented Feb 9, 2026

Screenshot 2026-02-09 at 14 41 35 Screenshot 2026-02-09 at 14 41 51

feat(ci): add script and route to fetch PR statuses for devnet specs
chore(deps): add fetch-pr-statuses script to package.json
feat(navigation): add route for individual devnet spec sheets

feat(DevnetSpecPage): add DevnetSpecPage component to display EIP specs and implementation status

This adds a new page component dedicated to displaying the specification details for a given development network ('Devnet').

The component fetches spec data using useDevnetSpec, sets appropriate meta tags via useMetaTags, and renders:

  1. General metadata (launch date, spec versions, upgrade name).
  2. A matrix showing implementation status for Execution Layer (EL) and Consensus Layer (CL) clients based on their version or support status.
  3. A tracker for related Pull Requests (PRs) merged/open for each EIP relevant to this devnet.

This provides users with a centralized view of what EIPs are targeted and which client implementations have achieved the required status. Utility components like ChangeStatusBadge, ImplStatusCell, and PRStatusBadge are introduced to format status indicators consistently.

feat(ui): display EIP status and implementation matrices

Introduce rendering logic for EIP status and implementation tracking for both Execution Layer (EL) and Consensus Layer (CL) clients.

This provides users with a clear, responsive view (desktop table and mobile cards) detailing:

  1. Associated PRs for each EIP.
  2. Client implementation status against each EIP, facilitating better tracking of Ethereum Upgrade progress.

refactor(ui): group and style tracked PRs in DevnetSpecPage for clarity

Organize the display of tracked Pull Requests (PRs) by grouping them according to their repository using predefined category order.

This change improves readability and scannability by:

  1. Grouping PRs associated with 'ethereum/EIPs', 'execution-specs', 'consensus-specs', and 'execution-apis' together, with clear section headers.
  2. Sorting the groups based on this predefined order.
  3. Implementing consistent table layout for desktop views and card layout for mobile views, including status badges.

feat(devnet-specs): add bal-devnet-2 genesis specification file

Add the specification file for the fictional 'bal-devnet-2'. This file details the EIPs included, consensus/execution spec versions, and implementation statuses for a hypothetical devnet upgrade named "glamsterdam".

chore(deps): update EIP metadata to include recent PRs

This updates the cached data about related EIPs by incorporating recent pull requests from various Ethereum repositories (execution-specs and execution-apis). This is necessary to keep the tracking of EIP statuses and specifications up-to-date.

feat(hooks, types): introduce useDevnetSpec hook and DevnetSpec types

Introduce a new React hook useDevnetSpec to fetch and manage the data for a specific devnet specification located in a local JSON file.

This required creating new TypeScript types (DevnetSpec, DevnetSpecEip, etc.) in src/types/devnet-spec.ts to model the structure of the devnet specification data. The main types file is updated to re-export these new types.

feat(build): introduce Makefile for streamlined build, dev, and clean operations
docs(readme): add development instructions using Docker and locally
feat(ci): create docker-compose.yml to facilitate development environment setup
chore(deps): add fetch-pr-statuses script to package.json
feat(navigation): add route for individual devnet spec sheets

feat(DevnetSpecPage): add DevnetSpecPage component to display EIP specs and implementation status

This adds a new page component dedicated to displaying the specification details for a given development network ('Devnet').

The component fetches spec data using `useDevnetSpec`, sets appropriate meta tags via `useMetaTags`, and renders:
1. General metadata (launch date, spec versions, upgrade name).
2. A matrix showing implementation status for Execution Layer (EL) and Consensus Layer (CL) clients based on their version or support status.
3. A tracker for related Pull Requests (PRs) merged/open for each EIP relevant to this devnet.

This provides users with a centralized view of what EIPs are targeted and which client implementations have achieved the required status. Utility components like `ChangeStatusBadge`, `ImplStatusCell`, and `PRStatusBadge` are introduced to format status indicators consistently.

feat(ui): display EIP status and implementation matrices

Introduce rendering logic for EIP status and implementation tracking for both Execution Layer (EL) and Consensus Layer (CL) clients.

This provides users with a clear, responsive view (desktop table and mobile cards) detailing:
1. Associated PRs for each EIP.
2. Client implementation status against each EIP, facilitating better tracking of Ethereum Upgrade progress.

refactor(ui): group and style tracked PRs in DevnetSpecPage for clarity

Organize the display of tracked Pull Requests (PRs) by grouping them according to their repository using predefined category order.

This change improves readability and scannability by:
1. Grouping PRs associated with 'ethereum/EIPs', 'execution-specs', 'consensus-specs', and 'execution-apis' together, with clear section headers.
2. Sorting the groups based on this predefined order.
3. Implementing consistent table layout for desktop views and card layout for mobile views, including status badges.

feat(devnet-specs): add bal-devnet-2 genesis specification file

Add the specification file for the fictional 'bal-devnet-2'. This file details the EIPs included, consensus/execution spec versions, and implementation statuses for a hypothetical devnet upgrade named "glamsterdam".

chore(deps): update EIP metadata to include recent PRs

This updates the cached data about related EIPs by incorporating recent pull requests from various Ethereum repositories (`execution-specs` and `execution-apis`). This is necessary to keep the tracking of EIP statuses and specifications up-to-date.

feat(hooks, types): introduce useDevnetSpec hook and DevnetSpec types

Introduce a new React hook `useDevnetSpec` to fetch and manage the data for a specific devnet specification located in a local JSON file.

This required creating new TypeScript types (`DevnetSpec`, `DevnetSpecEip`, etc.) in `src/types/devnet-spec.ts` to model the structure of the devnet specification data. The main types file is updated to re-export these new types.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant