Skip to content

Add string helper library#49

Merged
codeforester merged 2 commits into
mainfrom
enhancement/42-20260621-add-string-library
Jun 21, 2026
Merged

Add string helper library#49
codeforester merged 2 commits into
mainfrom
enhancement/42-20260621-add-string-library

Conversation

@codeforester

@codeforester codeforester commented Jun 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add lib/bash/str/lib_str.sh as a guarded companion library for Bash string helpers.
  • Add stdlib enhancements from the stacked train: loaded guard, cleanup hooks/paths, temp helpers, command/function introspection, and timeout-aware command execution.
  • Document the new library/helper contracts and wire coverage through README/STANDARDS/changelog and BATS validation.

Validation

  • RED-focused BATS for each slice before implementation.
  • Focused BATS for changed libraries.
  • git diff --check
  • ./tests/validate.sh
  • GitHub Actions Validate (macos-latest) and Validate (ubuntu-latest) green on each stacked PR before merge.

Fixes #42
Fixes #50
Fixes #54
Fixes #53
Fixes #52
Fixes #51

@codeforester codeforester marked this pull request as ready for review June 21, 2026 05:03
## Summary
- Add readonly `BASE_BASH_LIBS_STDLIB_LOADED=1` after `lib_std.sh`
initializes.
- Switch companion library dependency guards to the explicit stdlib
marker.
- Cover the marker and fake-logger guard bypass cases in BATS.

## Validation
- RED: focused BATS failed on missing marker and weak companion guards.
- `bats lib/bash/std/tests/lib_std.bats
lib/bash/file/tests/lib_file.bats lib/bash/git/tests/lib_git.bats
lib/bash/str/tests/lib_str.bats`
- `./tests/validate.sh`
- `git diff --check`

Stacked on #49.

Fixes #50
@codeforester codeforester merged commit 2ef4b88 into main Jun 21, 2026
2 checks passed
@codeforester codeforester deleted the enhancement/42-20260621-add-string-library branch June 21, 2026 05:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant