Skip to content

V2: Multi-repo local build system #15

Description

@ritorhymes

Description

This is a coordinating document for the PR's made across Preprocessor, ERC, EIP, Theme, and Template repos for the V2 Multi-repo local build system.

Given the system is composed of interdependent parts, the PRs are scoped by reviewable system boundary, including feature slices and shared foundations, rather than merge boundary. They are intended to be merged as one coordinated system, not as independently mergeable changes. Some intermediate branches may have expected lint or CI failures from foundation code that is consumed later in the stack, while the final stack tips are expected to pass checks and match the intended V2 end-state snapshot.

Making every intermediate branch independently green would require temporary scaffolding annotations, artificial code movement, or recombining feature slices. Those options would make the review story less faithful to the final architecture and likely add noise to the review process. This sequence is intended as the cleanest review-oriented decomposition of the final V2 state.

Here are documents recommended to read for understanding the system and the PR stack.

  • Workspace Guide — Explains what users can now do; the user commands and configuration available in a local workspace.
  • ARCHITECTURE.md — Gives a high-level overview of the system design.
  • Preprocessor module README — Defines module ownership and responsibilities inside the preprocessor.
  • EIPs README — Shows the end-user entrypoint for what the local build system offers the community as a tool to participate in the EIP process.

PR Sequence

NOTE: This sequence currently has 25 PRs, not 24. V2:15b was inserted after V2:15 to isolate the cross-proposal asset-link fix without renumbering the existing downstream PRs.

Theme Foundation

  1. V2:01 - Prepare Theme for Local Build Rendering

Preprocessor Foundation

  1. V2:02 - Split Preprocessor CLI and Command Modules
  2. V2:03 V2:03 - Add Repository Manifest Identity
  3. V2:04 - Add Workspace Configuration Discovery
  4. V2:05 - Add Source Materialization Layer

Workspace Lifecycle

  1. V2:06 - Add Workspace Init Baseline
  2. V2:07 - Add Workspace Doctor

Runtime Path

  1. V2:08 - Resolve Workspace Execution Policy
  2. V2:09 - Run Zola With Workspace Theme
  3. V2:10 - Add Prepared Runtime Build Pipeline
  4. V2:11 - Add Serve Runtime
  5. V2:12 - Add Static Preview Runtime

Proposal Selection And Editorial

  1. V2:13 - Add Proposal Selection Foundation
  2. V2:14 - Add Editorial Command Integration

Targeted Rendering

  1. V2:15 - Add Targeted Build Rendering — 15b. V2:15b - Fix Cross-Proposal Asset Links
  2. V2:16 - Add Targeted Serve Rendering

Platform And Final Integration

  1. V2:17 - Add Platform Development Setup
  2. V2:18 - Add Final Preprocessor Integration

Repository Rollout

  1. V2:19 - Add Theme Development Setup
  2. V2:20 - Add Repo Manifest for EIPs
  3. V2:21 - Add Repo Manifest for ERCs
  4. V2:22 - Roll Out Local Build Workspace (for EIPs)
  5. V2:23 - Roll Out Local Build Workspace (for ERCs)
  6. V2:24 - Add Template Workspace Deferment

Post-Merge Tasks

  • Tag a new build-eips release from the preprocessor repo so release automation can publish binaries and checksum sidecars needed for each repo's workspace startup scripts.
  • Add tracked .build-eips.repo.toml manifests to the upstream repos that need manifest-backed identity, environment metadata, and sibling topology.
  • After upstream manifests are in place and released tooling supports them, remove the legacy EIPs/ERCs identity fallback from the preprocessor.

What's Changed in V2

  • Replaced the generated justfile workflow with direct build-eips commands and a smaller command surface.
  • Repurposed .build-eips.toml as workspace local build configuration with added support for base URL, server binding, and targeted proposal rendering.
  • Added targeted proposal rendering for significantly faster local build and serve loops.
  • Defined a single fixed workspace layout for the EIPs, ERCs, theme, template, and preprocessor repos.
  • Added one-shot workspace setup scripts for each repo (except template).
  • Added tracked Build.toml manifests so each proposal repo declares its own identity, related proposal repos, canonical base URLs, and theme pin.
  • Split the preprocessor into bounded modules with clearer ownership.
  • Expanded test coverage across config, identity, source resolution, materialization, targeted rendering, serving, editorial validation, and workspace setup.
  • Added detailed documentation for end-user workflows, workspace structure, and system architecture.
  • Moved EIPs/ERCs homepage badges into structured extra.homepage_badges front matter consumed by the theme renderer, including the ERCRef Discord badge. This resolves Fix stale homepage badge links with structured badge metadata #14.
  • Fixed cross-proposal asset links. This resolves Cross-proposal asset links do not work #6.
  • Added build-eips editorial lint and build-eips editorial check, with eipw running against the prepared merged EIPs/ERCs source tree so cross-repo proposal references resolve correctly. This resolves ethereum/EIPs#8689.
  • Local explicit, batch, and working-tree editorial lint avoid fetching the active upstream; --against-upstream still fetches upstream for changed-file selection.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions