Skip to content

Publish v2 API and module manifest - #254

Merged
codeforester merged 2 commits into
mainfrom
enhancement/225-20260805-api-manifest
Aug 5, 2026
Merged

Publish v2 API and module manifest#254
codeforester merged 2 commits into
mainfrom
enhancement/225-20260805-api-manifest

Conversation

@codeforester

Copy link
Copy Markdown
Collaborator

Closes #225

What changed

  • Added base_api_manifest.yaml, a versioned v2.0.0 API/module manifest covering the namespace contract, modules, dependencies, Bash minimum, symbols, API metadata, environment/globals, optional commands, documentation, tests, and artifact membership.
  • Added the Bash-native scripts/api-manifest checker/generator. It validates missing and duplicate symbols, source drift, unsafe paths, dependency cycles, packaging membership, metadata, and stale generated documentation, and exposes manifest-driven source/test/artifact paths.
  • Added generated docs/api-reference.md and the schema/consumer guide at docs/api-manifest-schema.md.
  • Rewired tests/validate.sh to discover module source files, BATS suites, ShellCheck targets, and artifacts from the API manifest rather than a second hardcoded module inventory.
  • Corrected STANDARDS.md and the changelog to use the finalized base_ public namespace.
  • Updated Publish a machine-readable API and module manifest #225 to use the v2.0.0 RC baseline and explicitly preserve the single-file library boundary.

Design notes

base_manifest.yaml remains the Base release/developer-tooling manifest. The API
manifest is separate so Base's existing manifest schema is not extended with
library-specific fields. The API manifest uses a documented line-oriented YAML
subset and has no mandatory Python, Ruby, yq, or jq runtime for consumers.

Validation

  • ./tests/validate.sh </dev/null
  • 486 BATS tests passed
  • ShellCheck error profile passed
  • Bash logging/release smoke tests passed
  • All eight caller-option combinations passed
  • tests/lint-warnings.sh reports only the repository's existing warning baseline
  • git diff --check passed

@codeforester
codeforester merged commit b56c96b into main Aug 5, 2026
5 checks passed
@codeforester
codeforester deleted the enhancement/225-20260805-api-manifest branch August 5, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Publish a machine-readable API and module manifest

1 participant