Skip to content

Define and document the complete public API surface #171

Description

@codeforester

Problem

The public API boundary is not fully represented in the READMEs.

Several unprefixed stdlib functions are callable but absent from the stdlib reference, including check_bash_version, dump_trace, get_my_source_dir, print_tty, safe_unalias, file logging helpers, and function enter/leave log helpers. It is therefore unclear which are supported API and which are implementation leftovers that should be private.

Four companion READMEs also point to non-existent test paths such as tests/lib_git.bats; the files live under lib/bash/<module>/tests/.

Scope

  • Inventory every unprefixed function across all seven sourceable libraries.
  • Document each supported public function with arguments, outputs, status, side effects, and a short example.
  • Rename or otherwise classify unintentional public functions as private before the next release.
  • Correct stale test paths in arg, file, git, and list READMEs.
  • Add validation for README test-path references or a maintained API inventory so drift is caught.

Acceptance Criteria

  • Every unprefixed supported function appears in its module README.
  • Internal engines are consistently prefixed and described only where needed.
  • Every documented test command/path exists and runs from the repo root.
  • Top-level library summaries and module READMEs agree on the shipped surface.

Validation

  • documentation/link/path validation
  • ./tests/validate.sh
  • git diff --check

Metadata

Metadata

Assignees

Labels

documentationDocumentation improvements

Type

No type

Fields

No fields configured for issues without a type.

Projects

Status
Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions