Thank you for improving this project.
For coding and documentation standards, see 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.
-
Create or choose a GitHub issue before starting implementation work.
-
Use one of the standard issue labels:
bug,enhancement,documentation,ci, orsecurity. -
Create an issue-backed branch:
<category>/<issue>-<YYYYMMDD>-<slug> -
Use a dedicated Git worktree for each pull request so the main checkout can stay on the default branch:
git fetch origin git worktree add -b <branch> ../base-bash-libs-worktrees/<slug> origin/<default-branch>
-
Keep the pull request scoped to the issue and link it with
Fixes #<issue>orCloses #<issue>when merge should close the issue. -
Run the project checks before opening or updating a pull request.
-
Update
CHANGELOG.mdonly for notable user-visible or release-worthy changes. -
After merge, sync the default branch, remove the worktree, and delete merged local and remote branches when safe:
git pull --ff-only origin <default-branch> git worktree remove ../base-bash-libs-worktrees/<slug> git branch -d <branch> git push origin --delete <branch>
Useful commands:
./tests/validate.sh
tests/lint-warnings.sh
basectl check base-bash-libs
basectl doctor base-bash-libs
basectl test base-bash-libs