Skip to content

Seed CLI layer for platform tools #2

@codeforester

Description

@codeforester

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or product improvement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions