Skip to content

Latest commit

 

History

History
52 lines (41 loc) · 1.56 KB

File metadata and controls

52 lines (41 loc) · 1.56 KB

Contributing to base-bash-libs

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.

Workflow

  1. Create or choose a GitHub issue before starting implementation work.

  2. Use one of the standard issue labels: bug, enhancement, documentation, ci, or security.

  3. Create an issue-backed branch:

    <category>/<issue>-<YYYYMMDD>-<slug>
    
  4. 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>
  5. Keep the pull request scoped to the issue and link it with Fixes #<issue> or Closes #<issue> when merge should close the issue.

  6. Run the project checks before opening or updating a pull request.

  7. Update CHANGELOG.md only for notable user-visible or release-worthy changes.

  8. 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