@@ -25,17 +25,19 @@ This repo uses `just` (command runner) for all development tasks. The workflow i
2525- ` just release <version> ` - Create a GitHub release with auto-generated notes
2626- ` just clean_readme ` - Generate a clean README from template (strips template documentation)
2727- ` just compliance_check ` - Run custom repo compliance checks
28+ - ` just shellcheck ` - Run shellcheck on all bash scripts in just recipes
2829- ` just utcdate ` - Print UTC date in ISO format (used in branch names)
2930
3031## Architecture
3132
3233### Modular justfile structure
3334
34- The main ` justfile ` imports three modules:
35+ The main ` justfile ` imports four modules:
3536
3637- ` .just/compliance.just ` - Custom compliance checks for repo health (validates all GitHub community standards)
3738- ` .just/gh-process.just ` - Git/GitHub workflow automation (core PR lifecycle)
3839- ` .just/pr-hook.just ` - Optional pre-PR hooks for project-specific automation (e.g., Hugo rebuilds)
40+ - ` .just/shellcheck.just ` - Shellcheck linting for bash scripts in just recipes
3941
4042### Git/GitHub workflow details
4143
@@ -47,6 +49,16 @@ The `.just/gh-process.just` module implements the entire PR lifecycle:
4749- ** AI integration** - After PR checks complete, displays GitHub Copilot and Claude Code review comments in terminal
4850- ** Merge automation** - Squash merge, delete remote branch, return to main, pull latest
4951
52+ ### Shellcheck integration
53+
54+ The ` .just/shellcheck.just ` module extracts and validates bash scripts:
55+
56+ - ** Script extraction** - Uses awk to identify recipes with bash shebangs (` #!/usr/bin/env bash ` or ` #!/bin/bash ` )
57+ - ** Automatic detection** - Scans all justfiles in repo (main ` justfile ` and ` .just/*.just ` )
58+ - ** Temporary file handling** - Creates temporary files for each script and runs shellcheck with ` -x -s bash ` flags
59+ - ** Detailed reporting** - Shows which file and recipe each issue is in, with colored output
60+ - ** Exit code** - Returns 1 if issues found, 0 if all scripts pass
61+
5062### GitHub Actions
5163
5264Six workflows run on PRs and pushes to main:
@@ -86,3 +98,4 @@ Run `just clean_readme` to strip template documentation from README.
8698- The ` pr ` recipe runs optional pre-PR hooks if ` .just/pr-hook.just ` exists
8799- PR checks poll every 5 seconds for faster feedback
88100- Release notes for workflow changes are tracked in ` .just/RELEASE_NOTES.md `
101+ - The ` .just ` directory contains modular just recipes that can be copied to other projects for updates
0 commit comments