STANDARDS.md is still mostly inherited from the earlier Bash-focused version of Base. Current Base has a clearer layered architecture and Python CLI conventions that should be captured as contributor standards.
Scope:
- Keep the existing Bash standards, but make them part of a broader Base contributor standard.
- Add Base architecture/layering standards:
basectl control plane, Bash bootstrap/runtime layer, Python manifest/project layer, base-wrapper, public bin/ surface, and project venv boundaries.
- Add Python standards: PEP 8-oriented style,
from __future__ import annotations, pathlib.Path, dataclasses where useful, explicit main(argv) -> int, base_cli.App, ctx.log, structured JSON through json.dumps, no import-time side effects beyond command registration.
- Make it explicit that Python CLIs intended for direct execution should use
base-wrapper in the shebang so they run in the selected project virtual environment.
- Add a short “where does this code belong?” table to guide future contributors.
- Add CLI behavior, manifest/artifact, testing, documentation, and GitHub workflow standards at a concise level with links to deeper docs.
Acceptance criteria:
STANDARDS.md covers Bash, Python, CLI behavior, layering, manifests, testing, docs, and GitHub workflow.
- The
base-wrapper shebang convention for Python CLIs is explicit.
- The document remains readable and normative rather than becoming a long design essay.
- The PR is documentation-only unless a tiny supporting reference update is needed.
STANDARDS.mdis still mostly inherited from the earlier Bash-focused version of Base. Current Base has a clearer layered architecture and Python CLI conventions that should be captured as contributor standards.Scope:
basectlcontrol plane, Bash bootstrap/runtime layer, Python manifest/project layer,base-wrapper, publicbin/surface, and project venv boundaries.from __future__ import annotations,pathlib.Path, dataclasses where useful, explicitmain(argv) -> int,base_cli.App,ctx.log, structured JSON throughjson.dumps, no import-time side effects beyond command registration.base-wrapperin the shebang so they run in the selected project virtual environment.Acceptance criteria:
STANDARDS.mdcovers Bash, Python, CLI behavior, layering, manifests, testing, docs, and GitHub workflow.base-wrappershebang convention for Python CLIs is explicit.