Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

Thank you for improving this project.

For coding and documentation standards, see [STANDARDS.md](STANDARDS.md). This
repository inherits Base's shell-library standards, including the convention
that each sourceable shell library remains a single file at its library
boundary.

## Workflow

1. Create or choose a GitHub issue before starting implementation work.
Expand Down
27 changes: 27 additions & 0 deletions STANDARDS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# base-bash-libs Standards

`base-bash-libs` inherits the Base shell standards as its upstream policy. See
[Base Standards](https://github.com/basefoundry/base/blob/master/STANDARDS.md),
especially the
[single-file library boundary](https://github.com/basefoundry/base/blob/master/STANDARDS.md#single-file-library-boundary)
guidance.

## Shell Library Shape

Each public sourceable Bash library in this repository should remain a single
physical `.sh` file at its library boundary:

- `lib/bash/std/lib_std.sh`
- `lib/bash/file/lib_file.sh`
- `lib/bash/git/lib_git.sh`

Do not split one library into internal concern files such as separate logging,
path, string, prompt, or command-runner fragments. That kind of split adds a
source-order and import graph for callers without improving the public library
contract.

A new library file is appropriate when the repository adds a distinct reusable
library boundary, such as the existing `file` and `git` libraries. Large
libraries should stay navigable through section ordering, consistent function
prefixes, README coverage, and focused tests rather than a shell module loader
or chained source fragments.
Loading