Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions .ai-context/manifest.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ base-demo's manifest is intentional and maps to a visible Base workflow.
| `ide.vscode` | `basectl setup` | Declares VS Code Python extensions and project venv auto-injection when IDE setup is enabled |
| `commands` | `basectl run --list` | Named commands: hello, env, manifest, python-info, uv-info, services, environments; `env` prints Base runtime metadata including `BASE_OS`, `BASE_PLATFORM`, and `BASE_HOST` |
| `commands[*].runner` | `basectl run base-demo uv-info` | Routes only the uv-info command through `uv run --` |
| `build.targets` | `basectl build` | `info` target runs `src/build-info.sh` |
| `build.targets` | `basectl build` | Default `info` target plus Go, Python, Java, C/C++, and demo-console service build targets |
| `build.targets[*].working_dir` | `basectl build base-demo go-api` | Runs the Go build from `services/go-api` without the command changing directories |
| `test.command` | `basectl test` | Runs `tests/validate.sh` |
| `demo.script` | `basectl demo` | Runs `demo/demo.sh` |
Expand All @@ -32,6 +32,11 @@ can prove setup, activation, run, build, test, and demo behavior quickly. The
`env` command makes the Base v1.5.0 runtime platform contract visible through
`BASE_OS`, `BASE_PLATFORM`, and `BASE_HOST`.

The representative environment direction will add service, infrastructure, UI,
and environment-modeling commands in focused slices while preserving this
readable manifest contract.
The representative environment is now part of the committed manifest surface.
The `services` command reads `services/catalog.json`, reports catalog health,
and exercises dry-run startup through `BASE_DEMO_SERVICES_DRY_RUN=1`.
Compose-backed infrastructure lives in `infra/compose.yaml`.
Current multi-language service fixtures live under `services/`.
The React/Vite console provides the catalog UI. The `environments` command
validates the `dev`/`staging`/`prod` configuration model while keeping only
local `dev` operational by default.
2 changes: 2 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ jobs:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
repository: basefoundry/base-bash-libs
ref: 34a71d08decf715f5767ab064197f7e63f418448
path: .dependencies/base-bash-libs

- name: Set up Base
Expand Down Expand Up @@ -141,6 +142,7 @@ jobs:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
repository: basefoundry/base-bash-libs
ref: 34a71d08decf715f5767ab064197f7e63f418448
path: .dependencies/base-bash-libs

- name: Prepare Base runtime
Expand Down
26 changes: 26 additions & 0 deletions tests/validate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,14 @@ grep -Fq -- '--branch v1.5.0' .github/workflows/tests.yml || {
exit 1
}

base_bash_libs_pin_count="$(
grep -Fc 'ref: 34a71d08decf715f5767ab064197f7e63f418448' .github/workflows/tests.yml || true
)"
if [[ "$base_bash_libs_pin_count" -ne 2 ]]; then
printf '.github/workflows/tests.yml must pin both base-bash-libs checkouts to the Base v1.5.0-compatible SHA.\n' >&2
exit 1
fi

grep -Fq 'validate-ubuntu:' .github/workflows/tests.yml || {
printf '.github/workflows/tests.yml does not declare the Ubuntu read-only validation job.\n' >&2
exit 1
Expand Down Expand Up @@ -607,6 +615,24 @@ grep -Fq 'BASE_OS' .ai-context/manifest.md && grep -Fq 'BASE_PLATFORM' .ai-conte
exit 1
}

if grep -Fq 'will add service, infrastructure, UI' .ai-context/manifest.md; then
printf '.ai-context/manifest.md still describes committed representative environment commands as future work.\n' >&2
exit 1
fi

for ai_context_token in \
'services/catalog.json' \
'infra/compose.yaml' \
'multi-language service fixtures' \
'React/Vite console' \
'BASE_DEMO_SERVICES_DRY_RUN=1'
do
grep -Fq "$ai_context_token" .ai-context/manifest.md || {
printf '.ai-context/manifest.md does not document current representative environment token: %s.\n' "$ai_context_token" >&2
exit 1
}
done

grep -Fq 'Brewfile currently installs mise, uv, Gradle, and Maven' README.md || {
printf 'README.md does not document current Brewfile dependencies.\n' >&2
exit 1
Expand Down
Loading