diff --git a/CHANGELOG.md b/CHANGELOG.md index 698813b..e89cd26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,3 +15,5 @@ and versions are tracked in the repo-root `VERSION` file. - Declared `base-bash-libs` as a required source dependency, kept `base-cli` required, and made the first-party CLI and Bash-library demos optional. +- Narrowed the canonical manifest to Base's required repositories and optional + first-party demos, removing personal and adjacent integration repositories. diff --git a/README.md b/README.md index f27d249..18043d0 100644 --- a/README.md +++ b/README.md @@ -14,12 +14,17 @@ basectl workspace doctor --manifest workspace.yaml basectl workspace clone --manifest workspace.yaml --dry-run ``` -The manifest keeps Base's source dependencies required: `base`, -`base-bash-libs`, and `base-cli`. The first-party `base-cli-demo` and -`base-bash-libs-demo` repositories remain listed for discovery and workspace -updates, but are optional for a normal Base checkout. Use -`basectl workspace clone --manifest workspace.yaml --include-optional` when a -local checkout also needs those demos. +The manifest keeps Base's source and workspace dependencies required: `base`, +`base-bash-libs`, `base-cli`, and `base-workspace`. The first-party +`base-demo`, `base-cli-demo`, and `base-bash-libs-demo` repositories remain +listed for validation and workspace updates, but are optional for a normal +Base checkout. Use `basectl workspace clone --manifest workspace.yaml --include-optional` +when a local checkout also needs those demos. + +Personal projects and adjacent integration repositories are intentionally not +members of this canonical manifest. They may still exist under the same local +workspace root; use a separate manifest when they need to be cloned or updated +as a group. ## Base diff --git a/tests/validate.sh b/tests/validate.sh index fa0b919..decae7b 100755 --- a/tests/validate.sh +++ b/tests/validate.sh @@ -55,7 +55,22 @@ assert_manifest_repo() { assert_manifest_repo base git@github.com:basefoundry/base.git true assert_manifest_repo base-bash-libs git@github.com:basefoundry/base-bash-libs.git true assert_manifest_repo base-cli git@github.com:basefoundry/base-cli.git true +assert_manifest_repo base-workspace git@github.com:basefoundry/base-workspace.git true +assert_manifest_repo base-demo https://github.com/basefoundry/base-demo.git false assert_manifest_repo base-cli-demo https://github.com/basefoundry/base-cli-demo.git false assert_manifest_repo base-bash-libs-demo https://github.com/basefoundry/base-bash-libs-demo.git false +manifest_repo_count="$(awk '/^ - name:/ { count += 1 } END { print count + 0 }' workspace.yaml)" +if [[ "$manifest_repo_count" != "7" ]]; then + printf 'workspace.yaml must contain exactly 7 canonical repositories; found %s.\n' "$manifest_repo_count" >&2 + exit 1 +fi + +for removed_repo in banyanlabs bankbuddy brew base-platform-tools blend bleach; do + if grep -Eq "^ - name: ${removed_repo}$" workspace.yaml; then + printf 'workspace.yaml must not include unrelated repository: %s.\n' "$removed_repo" >&2 + exit 1 + fi +done + printf 'Repository baseline is present.\n' diff --git a/workspace.yaml b/workspace.yaml index 3297b63..7f0dc6f 100644 --- a/workspace.yaml +++ b/workspace.yaml @@ -19,51 +19,22 @@ repos: default_branch: main required: true - - name: base-cli-demo - url: https://github.com/basefoundry/base-cli-demo.git - default_branch: main - required: false - - name: base-workspace url: git@github.com:basefoundry/base-workspace.git default_branch: main required: true - - name: banyanlabs - url: git@github.com:basefoundry/banyanlabs.git - default_branch: main - required: true - - - name: bankbuddy - url: git@github.com:codeforester/bankbuddy.git - default_branch: main - required: true - - - name: brew - url: git@github.com:codeforester/brew.git - default_branch: main - required: true - - name: base-demo url: https://github.com/basefoundry/base-demo.git default_branch: main - required: true - - - name: base-bash-libs-demo - url: https://github.com/basefoundry/base-bash-libs-demo.git - default_branch: main required: false - - name: base-platform-tools - url: https://github.com/basefoundry/base-platform-tools.git + - name: base-cli-demo + url: https://github.com/basefoundry/base-cli-demo.git default_branch: main - required: true + required: false - - name: blend - url: git@github.com:codeforester/blend.git + - name: base-bash-libs-demo + url: https://github.com/basefoundry/base-bash-libs-demo.git default_branch: main - required: true - - - name: bleach - url: https://github.com/codeforester/bleach.git required: false