[codex] Constrain dev setup to Base project#76
Merged
codeforester merged 1 commit intoMay 26, 2026
Merged
Conversation
fc15fc0 to
311ae63
Compare
311ae63 to
99baf48
Compare
99baf48 to
9192d52
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
Clarifies and enforces the
basectl setup --devboundary: Base developer dependencies are only valid for the Base project.What Changed
base_manifest.yamlwhen no positional project argument is provided.basectl setupfrom a project checkout can still use the manifest project name.--devis used for any project other thanbase, without emitting a fatal stack trace.basectl setup base --devnow uses$BASE_HOME/base_manifest.yamlinstead of discovering the current repo's manifest.--devproject boundary has been validated.BASE_PROJECT=<project>for artifact reconciliation.--devfailure path.Why
--devcurrently means "install Base developer/test tooling" such as BATS and GitHub CLI. It should not apply to downstream projects likebrew. From/Users/rameshhp/work/brew,basectl setup --devshould produce a normal usage error. Butbasectl setup base --devis explicit Base setup, so it should not accidentally readbrew/base_manifest.yamljust because that is the current working directory.Impact
basectl setupfrom a Base-compatible project checkout can still infer the project frombase_manifest.yaml.basectl setup --devis allowed only forbase.basectl setup --devfrombrewexits 1 with a cleanERROR:message before installing BATS/ghor running project artifact setup.basectl setup base --devfrombrewtargets Base's own manifest and completes as Base setup.Validation
bats cli/bash/commands/basectl/tests/setup.batspassed all 42 tests./Users/rameshhp/work/brewthat/Users/rameshhp/work/base/bin/basectl setup --devexits with:ERROR: --dev is only supported for the Base project. Run without --dev for project 'brew'./Users/rameshhp/work/brewthat/Users/rameshhp/work/base/bin/basectl setup base --devreads/Users/rameshhp/work/base/base_manifest.yamland completes successfully.