[V2:06] Add Workspace Init Baseline#20
Open
ritorhymes wants to merge 3 commits into
Open
Conversation
This was referenced May 5, 2026
42594ea to
eb30d98
Compare
eb30d98 to
a71fe3a
Compare
Add workspace-local `.build-eips.toml` loading and starter configuration. Introduce `config::ActiveRepo` to load the selected checkout’s `Build.toml`, validate explicit `-C` roots, and expose active repository context to later commands. Keep source materialization, initialization, and diagnostics in their owning later branches.
Add clean and dirty source materialization for the active repository and sibling content. Use `config::RepositoryUse` throughout the runtime path, preserve tracked working-tree materialization and `index_path`, and reject dirty active manifests in clean modes. Build, check, and serve prepare sources without fetching the active upstream; `changed` retains upstream fetching for comparison.
Add workspace initialization from the selected active `Build.toml`. Clone missing sibling repositories from declared locations and initialize a missing theme checkout from the manifest repository and pin. Preserve existing usable checkouts and fail without deleting unusable paths. Write `.build-eips.toml` only when absent and generate `WORKSPACE.md` for the initialized workspace.
a71fe3a to
b0cc9a0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds the baseline
build-eips init <path>workspace bootstrap command. It initializes a local workspace around an already-checked-out active proposal repository with a validBuild.toml, using that active-repository configuration to obtain declared sibling repositories and the shared theme source.initcreates missing workspace directories, clones missing declared sibling repositories andtheme/, optionally clonestemplate/, creates.local-build/, writes a starter.build-eips.tomlonly when absent, and regeneratesWORKSPACE.md.It does not clone the active repository itself, add doctor diagnostics, add platform-development repositories, or define runtime execution policy. Review should focus on active-repository
Build.tomlvalidation, declared workspace-source setup, and idempotent initialization.build-eips init <path>for bootstrapping a local multi-repo workspace.Build.tomlas the workspace bootstrap contract.theme/repository when missing.--templateto optionally clone the proposaltemplate/repository..local-build/, write starter.build-eips.tomlonly when missing, and regenerateWORKSPACE.md.Review Notes
This is the first user-facing workspace lifecycle command. It establishes the local workspace shape that later doctor and runtime commands consume.
initoperates around an existing active proposal checkout. It does not clone or infer the active repository through a fallback identity layer; the active repository must already be available and provide validBuild.tomlconfiguration.The active repository’s declared workspace configuration supplies the sibling and theme sources needed to complete the local workspace. Missing declared repositories are cloned into the workspace; existing checkouts are preserved.
Existing
.build-eips.tomlfiles remain untouched, whileWORKSPACE.mdis regenerated from the embedded workspace guide.Doctor validates the initialized workspace in V2:07. V2:08 resolves the local-first runtime policy from that workspace. V2:17 later adds optional platform-development setup.
Verification
src/cli.rsandsrc/main.rsfor theinitcommand surface and dispatch.src/workspace.rsfor workspace-root creation, activeBuild.tomlvalidation, declared sibling/theme cloning, optional template cloning, starter-config writing, andWORKSPACE.mdgeneration.src/workspace_doc.mdfor the generated base workspace guide.