|
2 | 2 |
|
3 | 3 | Just recipe files live in this directory. |
4 | 4 |
|
| 5 | +## Source of Truth |
| 6 | + |
5 | 7 | The master copy of these project files lives in the |
6 | 8 | [FINI template-repo](https://github.com/fini-net/template-repo) |
7 | 9 | and you should be able to copy them into your |
8 | 10 | project for updates. |
9 | 11 |
|
10 | | -We use the [repos-summary script](https://github.com/chicks-net/chicks-home/blob/main/bin/repos-summary) |
| 12 | +You should read our |
| 13 | +[release notes](https://github.com/fini-net/template-repo/blob/main/.just/RELEASE_NOTES.md) |
| 14 | +to learn more about the history of how we have evolved the github PR process. |
| 15 | + |
| 16 | +We use the |
| 17 | +[repos-summary script](https://github.com/chicks-net/chicks-home/blob/main/bin/repos-summary) |
11 | 18 | to see which of our repos need updates of the just files. |
12 | 19 |
|
13 | | -You can read our [release notes](RELEASE_NOTES.md) to learn more about |
14 | | -the history of how we have evolved the github PR process. |
| 20 | +## Included Just Files |
| 21 | + |
| 22 | +### gh-process.just - Git/GitHub Workflow Automation |
| 23 | + |
| 24 | +Core PR lifecycle management with these features: |
| 25 | + |
| 26 | +- **Branch creation** - `just branch <name>` creates dated branches in `$USER/YYYY-MM-DD-<name>` format |
| 27 | +- **PR creation** - `just pr` creates PRs using first commit message as title, all commits in body |
| 28 | +- **PR checks monitoring** - Watches GitHub Actions checks with 5-second polling |
| 29 | +- **AI integration** - Displays GitHub Copilot and Claude Code review comments after checks complete |
| 30 | +- **PR merge** - `just merge` squash merges, deletes remote branch, returns to main, and pulls latest |
| 31 | +- **Branch escape** - `just sync` returns to main branch and pulls latest changes |
| 32 | +- **Web viewing** - `just prweb` opens current PR in browser |
| 33 | +- **Releases** - `just release <version>` creates GitHub releases with auto-generated notes |
| 34 | +- **Sanity checks** - Hidden recipes (`_on_a_branch`, `_has_commits`, `_main_branch`) prevent mistakes |
| 35 | +- **Pre-PR hooks** - Optional integration with `pr-hook.just` for project-specific automation |
| 36 | + |
| 37 | +### compliance.just - Repository Health Checks |
| 38 | + |
| 39 | +Custom compliance validation for GitHub community standards: |
| 40 | + |
| 41 | +- **README.md** validation |
| 42 | +- **LICENSE** file check |
| 43 | +- **Code of Conduct** verification (`.github/CODE_OF_CONDUCT.md`) |
| 44 | +- **Contributing Guide** check (`.github/CONTRIBUTING.md`) |
| 45 | +- **Security Policy** validation (`.github/SECURITY.md`) |
| 46 | +- **Pull Request Template** check (`.github/pull_request_template.md`) |
| 47 | +- **Issue Templates** directory validation (`.github/ISSUE_TEMPLATE/`) |
| 48 | +- **Repository description** check via GitHub API |
| 49 | +- **CODEOWNERS** file validation |
| 50 | +- **`.gitignore`** file check |
| 51 | +- **`.gitattributes`** file verification |
| 52 | +- **`justfile`** presence check |
| 53 | +- **`.editorconfig`** validation |
| 54 | + |
| 55 | +All checks include colorized output with helpful (and sometimes sarcastic) messages. |
| 56 | + |
| 57 | +### shellcheck.just - Bash Script Linting |
| 58 | + |
| 59 | +Automated shellcheck validation for bash scripts in just recipes: |
| 60 | + |
| 61 | +- **Automatic detection** - Scans all justfiles in repo (`justfile` and `.just/*.just`) |
| 62 | +- **Script extraction** - Uses awk to extract bash scripts (looks for `#!/usr/bin/env bash` or `#!/bin/bash`) |
| 63 | +- **Temporary file handling** - Creates temp files for each script and cleans up on exit |
| 64 | +- **Shellcheck execution** - Runs shellcheck with `-x -s bash` flags for thorough validation |
| 65 | +- **Detailed reporting** - Shows which file and recipe each issue is in, with colorized output |
| 66 | +- **Statistics** - Reports total scripts checked and issues found |
| 67 | +- **Exit codes** - Returns 1 if issues found, 0 if all scripts pass |
| 68 | + |
| 69 | +### pr-hook.just - Pre-PR Hook Template |
| 70 | + |
| 71 | +Optional pre-PR automation hook: |
| 72 | + |
| 73 | +- **Called automatically** - Invoked by `just pr` if this file exists |
| 74 | +- **Placeholder implementation** - Currently just prints a message |
| 75 | +- **Customizable** - Replace with project-specific tasks (e.g., Hugo rebuilds, asset compilation) |
| 76 | +- **Hidden recipe** - Uses `_pr-hook` naming to indicate internal use only |
0 commit comments