Summary
Seed the Base Platform Tools CLI layer so future utilities have a clear home for Bash and Python command implementations.
Rationale
Base Platform Tools should reuse Base as the workstation control plane instead of copying Base internals. The repository needs a small, documented CLI layout that makes this boundary explicit:
- Base owns
basectl.
- Base owns
base-wrapper.
- Base Platform Tools owns optional tool implementations.
base_manifest.yaml declares runnable project commands that Base can orchestrate.
- Python tools run through Base's wrapper using the
base-platform-tools project virtual environment.
- Bash tools can use the Base runtime through the
#!/usr/bin/env basectl pattern when they need it.
Without this structure, early tools such as future caff and sort migrations could drift into inconsistent layouts.
Scope
- Add the initial
bin/, cli/bash/, and cli/python/ directory structure.
- Add placeholder documentation files that explain where Bash and Python tools belong.
- Add a documented Python launcher pattern that uses Base's
base-wrapper.
- Update
base_manifest.yaml with validation commands for the seeded layout.
- Update README, CONTRIBUTING, changelog, and tooling-boundary docs.
- Extend
tests/validate.sh to assert the CLI scaffold and launcher conventions.
Non-Goals
- Do not migrate
caff or sort yet.
- Do not add production platform tools yet.
- Do not copy
basectl or base-wrapper into this repository.
- Do not change Base core behavior in this issue.
Acceptance Criteria
- The repository has a documented CLI layout for Bash and Python tools.
- Documentation clearly states that this repo reuses Base
basectl and base-wrapper.
- The validation script checks the CLI scaffold and key docs.
tests/validate.sh passes locally.
basectl test base-platform-tools passes.
Summary
Seed the Base Platform Tools CLI layer so future utilities have a clear home for Bash and Python command implementations.
Rationale
Base Platform Tools should reuse Base as the workstation control plane instead of copying Base internals. The repository needs a small, documented CLI layout that makes this boundary explicit:
basectl.base-wrapper.base_manifest.yamldeclares runnable project commands that Base can orchestrate.base-platform-toolsproject virtual environment.#!/usr/bin/env basectlpattern when they need it.Without this structure, early tools such as future
caffandsortmigrations could drift into inconsistent layouts.Scope
bin/,cli/bash/, andcli/python/directory structure.base-wrapper.base_manifest.yamlwith validation commands for the seeded layout.tests/validate.shto assert the CLI scaffold and launcher conventions.Non-Goals
cafforsortyet.basectlorbase-wrapperinto this repository.Acceptance Criteria
basectlandbase-wrapper.tests/validate.shpasses locally.basectl test base-platform-toolspasses.