diff --git a/README.md b/README.md index b6fc64c..f7aa939 100644 --- a/README.md +++ b/README.md @@ -38,3 +38,42 @@ To perform a full bootstrap from a clean Ubuntu or Pop!_OS install do: sudo apt-get update && sudo apt-get install -y curl git && \ source <(curl -fsSL https://raw.githubusercontent.com/mapitman/linux-bootstrap/main/bootstrap) ``` + +## Contributing + +### Local Validation + +Before submitting changes, run the local validation script to check for bash syntax errors and shellcheck issues: + +```sh +bash scripts/check.sh +``` + +This script: +- Finds all bash scripts (files with a bash shebang). +- Runs `bash -n` to check for syntax errors. +- Runs ShellCheck to report style and correctness issues. +- Suggests installation steps if ShellCheck is not available. + +### ShellCheck Installation + +If ShellCheck is not installed, run one of the following depending on your distribution: + +```sh +# Debian/Ubuntu/Pop!_OS +sudo apt-get update && sudo apt-get install -y shellcheck + +# Fedora +sudo dnf install -y ShellCheck + +# Arch +sudo pacman -S shellcheck +``` + +### CI Checks + +When you open a pull request or push to the repository, GitHub Actions will automatically run: +- **Syntax checks** (`bash -n`) on all shell scripts. +- **ShellCheck** with error-level severity (warnings are advisory, errors block the merge). + +See [`.github/copilot-instructions.md`](.github/copilot-instructions.md) for detailed guidance on project patterns and conventions. diff --git a/fedora/install-packages b/fedora/install-packages index 7071f70..598ad0c 100644 --- a/fedora/install-packages +++ b/fedora/install-packages @@ -45,6 +45,7 @@ sudo dnf install -y \ genisoimage \ gh \ gimp \ + git-extras \ git-gui \ gitk \ gnome-shell-extension-caffeine \ @@ -90,6 +91,7 @@ sudo dnf install -y \ rclone \ rpmdevtools \ rpmlint \ + shellcheck \ spice-gtk-tools \ starship \ tito \