github-action-readme-generator 1.12.5 → 1.12.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [1.12.7](https://github.com/bitflight-devops/github-action-readme-generator/compare/v1.12.6...v1.12.7) (2026-08-15)
2
+
3
+
4
+ ### Performance Improvements
5
+
6
+ * **bundle:** prettier/standalone, working pretty input, config precedence, debug_config ([#634](https://github.com/bitflight-devops/github-action-readme-generator/issues/634)) ([74398bd](https://github.com/bitflight-devops/github-action-readme-generator/commit/74398bd3c268a00a47001b292a5db7fe1c878d96))
7
+
8
+ ## [1.12.6](https://github.com/bitflight-devops/github-action-readme-generator/compare/v1.12.5...v1.12.6) (2026-08-15)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **markdown:** preserve pipes after literal backslashes ([#673](https://github.com/bitflight-devops/github-action-readme-generator/issues/673)) ([bcf3590](https://github.com/bitflight-devops/github-action-readme-generator/commit/bcf3590168dd603fa03fd4d47e23f3111b51cc82))
14
+
1
15
  ## [1.12.5](https://github.com/bitflight-devops/github-action-readme-generator/compare/v1.12.4...v1.12.5) (2026-08-15)
2
16
 
3
17
 
package/README.md CHANGED
@@ -58,20 +58,71 @@ Run the generator, and content between these markers is automatically updated fr
58
58
 
59
59
  **Works as both CLI and GitHub Action** - configure via [`.ghadocs.json`](./.ghadocs.json), command line args, or the Action's `with:` section.
60
60
 
61
+ ### What to expect on your README
62
+
63
+ Before your first run:
64
+
65
+ **You add the markers; the tool never inserts them.** A README with no section
66
+ markers comes back with nothing filled in — the run still succeeds. Copy the
67
+ pairs you want from [`README.example.md`](./README.example.md) first. Only the
68
+ sections whose markers you added are touched.
69
+
70
+ **Text outside the markers is yours and stays yours.** The tool replaces only
71
+ the span between a `start`/`end` pair.
72
+
73
+ **With `pretty` on (the default), the whole file is reformatted.** That is the
74
+ one exception to the rule above: prettier runs over the entire README, so a
75
+ first run on a file that was not already prettier-formatted will also reflow
76
+ prose the tool did not generate. Run with `--pretty=false` if you would rather
77
+ it left your formatting alone.
78
+
79
+ **Only yaml and markdown code blocks are reformatted; every other fence is left
80
+ as you wrote it.** Formatting needs a prettier plugin per language, and this tool
81
+ ships only the two an action's README is known in advance to hold. Reformatted:
82
+ ` ```yaml `, ` ```yml `, and the whole markdown family — ` ```markdown `,
83
+ ` ```md `, ` ```mdx `, and rarer spellings such as ` ```mdwn `, ` ```ronn ` and
84
+ ` ```workbook `. Returned byte-for-byte: every other language, ` ```ts `,
85
+ ` ```json `, ` ```css ` and ` ```html ` among them. Every plugin left out is
86
+ weight the CLI binary does not carry, and code the tool does not rewrite.
87
+ Naming extra plugins per project is
88
+ [issue #660](https://github.com/bitflight-devops/github-action-readme-generator/issues/660).
89
+
90
+ **Check convergence by generating three times and comparing passes 2 and 3.**
91
+ Run three consecutive generations without external changes; passes 2 and 3
92
+ must be byte-identical. Changes to this convergence rule are owned by
93
+ [issue #649](https://github.com/bitflight-devops/github-action-readme-generator/issues/649).
94
+
61
95
  ## CLI Usage
62
96
 
63
- | Usage Options | Description | Default |
64
- | ---------------------------------- | ------------------------------------------------------------------------------------------- | ---------------- |
65
- | --help | Show help | [boolean] |
66
- | --paths:action, --action | Path to the action.yml | [default: ""] |
67
- | --paths:readme, --readme | Path to the README.md | [default: ""] |
68
- | --show_logo, --logo | Display the action's logo in the README | [default: false] |
69
- | --prettier, --pretty | Format the markdown using prettier formatter | [default: false] |
70
- | --versioning:enabled, --versioning | Enable the update of the usage version to match the latest version in the package.json file | [default: false] |
71
- | --versioning:override, --version | Show version number[boolean] | [default: ""] |
72
- | --versioning:prefix, --vp | Prefix the version with this value (if it isn't already prefixed) | [default: ""] |
73
- | --versioning:branch, --branch | If versioning is disabled show this branch instead | [default: ""] |
74
- | --title_prefix, --prefix | Add a prefix to the README title | [default: ""] |
97
+ Every option can be given by its canonical name or by any of its aliases. The
98
+ defaults below are the ones declared in this action's own `action.yml`, so they
99
+ apply to the CLI and the Action alike.
100
+
101
+ | Usage Options | Description | Default |
102
+ | ---------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------ |
103
+ | --help | Show help | [boolean] |
104
+ | --paths:action, --action | Path to the action.yml | `action.yml` |
105
+ | --paths:readme, --readme | Path to the README file | `README.md` |
106
+ | --owner | The GitHub Action repository owner | autodetected |
107
+ | --repo | The GitHub Action repository name | autodetected |
108
+ | --prettier, --pretty | Format the markdown using prettier formatter | `true` |
109
+ | --versioning:enabled, --versioning | Enable the update of the usage version to match the latest version | `true` |
110
+ | --versioning:source, --version_source | How to detect the version: `git-tag`, `git-branch`, `git-sha`, `package-json`, `explicit` | `git-tag` |
111
+ | --versioning:override, --version_override, --setversion | Set a specific version to display in the README.md | unset |
112
+ | --versioning:prefix, --version_prefix, --vp | Prefix the version with this value (if it isn't already prefixed) | `v` |
113
+ | --versioning:branch, --versioning_default_branch, --branch | If versioning is disabled show this branch instead | `main` |
114
+ | --versioning:badge, --version-badge | Display the current version as a badge | `true` |
115
+ | --title_prefix, --prefix | Add a prefix to the README title | `"GitHub Action: "` |
116
+ | --branding_svg_path, --svg | Save and load the branding svg image in the README from this path | `.github/ghadocs/branding.svg` |
117
+ | --branding_as_title_prefix, --branding_prefix | Use the branding svg as a prefix for the README title | `true` |
118
+ | --save | Save this config to `.ghadocs.json` | `false` |
119
+ | --debug_config, --debug_nconf | Print out the resolved config with all values, then continue | off |
120
+
121
+ To turn formatting off, pass the flag explicitly:
122
+
123
+ ```sh
124
+ npx github-action-readme-generator --pretty=false
125
+ ```
75
126
 
76
127
  ### Stand Alone Usage - if you have a Docker Action
77
128
 
@@ -139,20 +190,57 @@ This configuration will automatically regenerate your README whenever `action.ym
139
190
  "action": "action.yml",
140
191
  "readme": "README.md"
141
192
  },
142
- "show_logo": true,
143
193
  "versioning": {
144
194
  "enabled": true,
195
+ "source": "git-tag",
145
196
  "override": "",
146
197
  "prefix": "v",
147
- "branch": "main"
198
+ "branch": "main",
199
+ "badge": true
148
200
  },
149
201
  "owner": "bitflight-devops",
150
202
  "repo": "github-action-readme-generator",
151
203
  "title_prefix": "GitHub Action: ",
204
+ "branding_svg_path": ".github/ghadocs/branding.svg",
205
+ "branding_as_title_prefix": true,
152
206
  "prettier": true
153
207
  }
154
208
  ```
155
209
 
210
+ ### Where a setting can come from, and which one wins
211
+
212
+ A value can arrive from three places. They resolve in this order, and the first
213
+ one holding a key wins:
214
+
215
+ 1. **Command line arguments** — `--pretty=false`
216
+ 2. **`.ghadocs.json`** — `{ "prettier": false }`
217
+ 3. **Action inputs** (`INPUT_*` environment variables) — the `with:` block
218
+
219
+ So when you run this as an Action **and** the repository has a `.ghadocs.json`,
220
+ that file wins over your `with:` block for any key it sets. Remove the key from
221
+ `.ghadocs.json` to drive it from the workflow instead.
222
+
223
+ Action inputs sit at the bottom on purpose. The GitHub Actions runner exports an
224
+ `INPUT_*` variable for every input that carries a default in `action.yml`,
225
+ whether or not your workflow named it under `with:` — so `INPUT_PRETTY` and
226
+ `INPUT_README` are set on essentially every run. If those metadata defaults
227
+ outranked the config file, a project could not use `.ghadocs.json` to change any
228
+ defaulted setting while running as an Action.
229
+
230
+ Anything left unset after all three falls back to the default in this action's
231
+ own `action.yml`, listed in the [CLI Usage](#cli-usage) table above.
232
+
233
+ To see exactly what was resolved, and from where, run with `--debug_config`
234
+ (`--debug_nconf` is an accepted alias). It prints the merged configuration and
235
+ then carries on with the run.
236
+
237
+ That dump is meant to be pasteable into a bug report, so it only prints values
238
+ for the keys this tool actually reads. Anything else you supplied — an
239
+ unrecognised CLI flag, an extra `.ghadocs.json` entry, an `INPUT_*` variable
240
+ from a `with:` key this action does not declare — is shown by name with its
241
+ value replaced by `***REDACTED***`. Keys whose names look sensitive (`auth`,
242
+ `credential`, `key`, `passw`, `secret`, `token`) are masked the same way.
243
+
156
244
  <!-- start contents -->
157
245
 
158
246
  ## Table of Contents
@@ -160,6 +248,7 @@ This configuration will automatically regenerate your README whenever `action.ym
160
248
  - [Quick Start](#quick-start)
161
249
  - [Features](#features)
162
250
  - [How It Works](#how-it-works)
251
+ - [What to expect on your README](#what-to-expect-on-your-readme)
163
252
  - [CLI Usage](#cli-usage)
164
253
  - [Stand Alone Usage - if you have a Docker Action](#stand-alone-usage-if-you-have-a-docker-action)
165
254
  - [Install with Yarn or NPM as a dev dependency](#install-with-yarn-or-npm-as-a-dev-dependency)
@@ -167,6 +256,7 @@ This configuration will automatically regenerate your README whenever `action.ym
167
256
  - [Using as a Pre-commit Hook](#using-as-a-pre-commit-hook)
168
257
  - [Configuration](#configuration)
169
258
  - [Example `.ghadocs.json` with all possible values](#example-ghadocsjson-with-all-possible-values)
259
+ - [Where a setting can come from, and which one wins](#where-a-setting-can-come-from-and-which-one-wins)
170
260
  - [Usage](#usage)
171
261
  - [Inputs](#inputs)
172
262
 
@@ -177,7 +267,7 @@ This configuration will automatically regenerate your README whenever `action.ym
177
267
  <!-- start usage -->
178
268
 
179
269
  ```yaml
180
- - uses: bitflight-devops/github-action-readme-generator@v1.12.4
270
+ - uses: bitflight-devops/github-action-readme-generator@v1.12.6
181
271
  with:
182
272
  # Description: The absolute or relative path to the `action.yml` file to read in
183
273
  # from.
@@ -212,10 +302,13 @@ This configuration will automatically regenerate your README whenever `action.ym
212
302
  # Default: true
213
303
  pretty: ""
214
304
 
215
- # Description: Enable the update of the usage version to match the latest version
216
- # in the `package.json` file Output if your action repo is
217
- # `reviewdog/action-eslint` and version in package.json is `1.0.1`:
218
- # `uses: reviewdog/action-eslint@1.0.1`
305
+ # Description: Enable the update of the usage version in the `uses:` example. The
306
+ # version comes from whichever `version_source` selects. The default, `git-tag`,
307
+ # uses the latest git tag, and falls back to `package.json`, then to
308
+ # `$npm_package_version`, then to `0.0.0` when no tag is found — a shallow or
309
+ # tagless checkout takes that path. Output if your action repo is
310
+ # `reviewdog/action-eslint` and the latest tag is `v1.0.1`:
311
+ # `uses: reviewdog/action-eslint@v1.0.1`
219
312
  #
220
313
  # Default: true
221
314
  versioning_enabled: ""
@@ -239,7 +332,8 @@ This configuration will automatically regenerate your README whenever `action.ym
239
332
 
240
333
  # Description: How to detect the action version for the usage example. Options:
241
334
  #
242
- # - `git-tag` - Latest git tag (default, standard for GitHub Actions)
335
+ # - `git-tag` - Latest git tag (default, standard for GitHub Actions). Falls back
336
+ # to `package.json`, then `$npm_package_version`, then `0.0.0`
243
337
  # - `git-branch` - Current branch name (for bleeding edge users)
244
338
  # - `git-sha` - Current commit SHA (for exact pinning)
245
339
  # - `package-json` - Read from package.json version field
@@ -264,7 +358,7 @@ This configuration will automatically regenerate your README whenever `action.ym
264
358
  # Description: Create the branding svg image from the branding object in
265
359
  # `action.yml` then save it to this path. Then update the `README.md` file to
266
360
  # source the branding image from this path. You can use a section template like
267
- # this: `<!-- start branding --><!-- stop branding -->` or use the action input:
361
+ # this: `<!-- start branding --><!-- end branding -->` or use the action input:
268
362
  # `branding_as_title_prefix: true` to prefix the 'title' section with the image.
269
363
  # The title template looks like this:
270
364
  #
@@ -288,23 +382,23 @@ This configuration will automatically regenerate your README whenever `action.ym
288
382
 
289
383
  <!-- start inputs -->
290
384
 
291
- | **Input** | **Description** | **Default** | **Required** |
292
- | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | ------------ |
293
- | <b><code>action</code></b> | The absolute or relative path to the <code>action.yml</code> file to read in from. | <code>action.yml</code> | **false** |
294
- | <b><code>readme</code></b> | The absolute or relative path to the markdown output file that contains the formatting tokens within it. | <code>README.md</code> | **false** |
295
- | <b><code>owner</code></b> | The GitHub Action repository owner, this field is autodetected by default.<br />Example: <code>bitflight-devops</code> or <code>your-gh-username</code> | | **false** |
296
- | <b><code>repo</code></b> | The GitHub Action repository name, this field is autodetected by default.<br />Example: <code>github-action-readme-generator</code> | | **false** |
297
- | <b><code>save</code></b> | Save the provided values in a <code>.ghadocs.json</code> file.<br />This will update any existing <code>.ghadocs.json</code> file that is in place. | | **false** |
298
- | <b><code>pretty</code></b> | Use <code>prettier</code> to pretty print the new README.md file | <code>true</code> | **false** |
299
- | <b><code>versioning_enabled</code></b> | Enable the update of the usage version to match the latest version in the <code>package.json</code> file<br />Output if your action repo is <code>reviewdog/action-eslint</code> and version in package.json is <code>1.0.1</code>:<br /><code>uses: reviewdog/action-eslint@1.0.1</code> | <code>true</code> | **false** |
300
- | <b><code>version_override</code></b> | Set a specific version to display in the README.md, maybe you want to use a major or minor version | | **false** |
301
- | <b><code>version_prefix</code></b> | Prefix the version with this value, if it isn't already prefixed | <code>v</code> | **false** |
302
- | <b><code>versioning_default_branch</code></b> | If versioning is disabled, use this branch in the usage example, where the default is <code>main</code><br />Output if your action repo is <code>reviewdog/action-eslint</code>:<br /><code>uses: reviewdog/action-eslint@main</code> | <code>main</code> | **false** |
303
- | <b><code>version_source</code></b> | How to detect the action version for the usage example.<br />Options:<br />- <code>git-tag</code> - Latest git tag (default, standard for GitHub Actions)<br />- <code>git-branch</code> - Current branch name (for bleeding edge users)<br />- <code>git-sha</code> - Current commit SHA (for exact pinning)<br />- <code>package-json</code> - Read from package.json version field<br />- <code>explicit</code> - Use value from <code>version_override</code> input only | <code>git-tag</code> | **false** |
304
- | <b><code>title_prefix</code></b> | Add a prefix to the README title.<br />The title template looks like this:<br /># {brand}{prefix}{title} | <code>GitHub Action: </code> | **false** |
305
- | <b><code>include_github_version_badge</code></b> | Include additional badge showing latest tag | <code>true</code> | **false** |
306
- | <b><code>branding_svg_path</code></b> | Create the branding svg image from the branding object in <code>action.yml</code><br />then save it to this path.<br />Then update the <code>README.md</code> file to source the branding image from this path.<br />You can use a section template like this:<br /><code>\<!-- start branding -->\<!-- stop branding --></code><br />or use the action input:<br /><code>branding_as_title_prefix: true</code><br />to prefix the 'title' section with the image.<br />The title template looks like this:<br /># {brand}{prefix}{title} | <code>.github/ghadocs/branding.svg</code> | **false** |
307
- | <b><code>branding_as_title_prefix</code></b> | Prefix the title in the <code>\<!-- start title --></code> section with the svg branding image<br />The title template looks like this:<br /># {brand}{prefix}{title} | <code>true</code> | **false** |
385
+ | **Input** | **Description** | **Default** | **Required** |
386
+ | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | ------------ |
387
+ | <b><code>action</code></b> | The absolute or relative path to the <code>action.yml</code> file to read in from. | <code>action.yml</code> | **false** |
388
+ | <b><code>readme</code></b> | The absolute or relative path to the markdown output file that contains the formatting tokens within it. | <code>README.md</code> | **false** |
389
+ | <b><code>owner</code></b> | The GitHub Action repository owner, this field is autodetected by default.<br />Example: <code>bitflight-devops</code> or <code>your-gh-username</code> | | **false** |
390
+ | <b><code>repo</code></b> | The GitHub Action repository name, this field is autodetected by default.<br />Example: <code>github-action-readme-generator</code> | | **false** |
391
+ | <b><code>save</code></b> | Save the provided values in a <code>.ghadocs.json</code> file.<br />This will update any existing <code>.ghadocs.json</code> file that is in place. | <code>false</code> | **false** |
392
+ | <b><code>pretty</code></b> | Use <code>prettier</code> to pretty print the new README.md file | <code>true</code> | **false** |
393
+ | <b><code>versioning_enabled</code></b> | Enable the update of the usage version in the <code>uses:</code> example.<br />The version comes from whichever <code>version_source</code> selects. The default, <code>git-tag</code>, uses the latest git tag, and falls back to <code>package.json</code>, then to <code>$npm_package_version</code>, then to <code>0.0.0</code> when no tag is found — a shallow or tagless checkout takes that path.<br />Output if your action repo is <code>reviewdog/action-eslint</code> and the latest tag is <code>v1.0.1</code>:<br /><code>uses: reviewdog/action-eslint@v1.0.1</code> | <code>true</code> | **false** |
394
+ | <b><code>version_override</code></b> | Set a specific version to display in the README.md, maybe you want to use a major or minor version | | **false** |
395
+ | <b><code>version_prefix</code></b> | Prefix the version with this value, if it isn't already prefixed | <code>v</code> | **false** |
396
+ | <b><code>versioning_default_branch</code></b> | If versioning is disabled, use this branch in the usage example, where the default is <code>main</code><br />Output if your action repo is <code>reviewdog/action-eslint</code>:<br /><code>uses: reviewdog/action-eslint@main</code> | <code>main</code> | **false** |
397
+ | <b><code>version_source</code></b> | How to detect the action version for the usage example.<br />Options:<br />- <code>git-tag</code> - Latest git tag (default, standard for GitHub Actions). Falls back to <code>package.json</code>, then <code>$npm_package_version</code>, then <code>0.0.0</code><br />- <code>git-branch</code> - Current branch name (for bleeding edge users)<br />- <code>git-sha</code> - Current commit SHA (for exact pinning)<br />- <code>package-json</code> - Read from package.json version field<br />- <code>explicit</code> - Use value from <code>version_override</code> input only | <code>git-tag</code> | **false** |
398
+ | <b><code>title_prefix</code></b> | Add a prefix to the README title.<br />The title template looks like this:<br /># {brand}{prefix}{title} | <code>GitHub Action: </code> | **false** |
399
+ | <b><code>include_github_version_badge</code></b> | Include additional badge showing latest tag | <code>true</code> | **false** |
400
+ | <b><code>branding_svg_path</code></b> | Create the branding svg image from the branding object in <code>action.yml</code><br />then save it to this path.<br />Then update the <code>README.md</code> file to source the branding image from this path.<br />You can use a section template like this:<br /><code>\<!-- start branding -->\<!-- end branding --></code><br />or use the action input:<br /><code>branding_as_title_prefix: true</code><br />to prefix the 'title' section with the image.<br />The title template looks like this:<br /># {brand}{prefix}{title} | <code>.github/ghadocs/branding.svg</code> | **false** |
401
+ | <b><code>branding_as_title_prefix</code></b> | Prefix the title in the <code>\<!-- start title --></code> section with the svg branding image<br />The title template looks like this:<br /># {brand}{prefix}{title} | <code>true</code> | **false** |
308
402
 
309
403
  <!-- end inputs -->
310
404
  <!-- start outputs -->
package/action.yml CHANGED
@@ -38,15 +38,19 @@ inputs:
38
38
  description: |
39
39
  Use `prettier` to pretty print the new README.md file
40
40
  required: false
41
- default: "true"
41
+ default: 'true'
42
42
  versioning_enabled:
43
43
  description: >
44
- Enable the update of the usage version to match the latest version
45
- in the `package.json` file
44
+ Enable the update of the usage version in the `uses:` example.
46
45
 
47
- Output if your action repo is `reviewdog/action-eslint` and version in package.json is `1.0.1`:
46
+ The version comes from whichever `version_source` selects. The default,
47
+ `git-tag`, uses the latest git tag, and falls back to `package.json`, then
48
+ to `$npm_package_version`, then to `0.0.0` when no tag is found — a shallow
49
+ or tagless checkout takes that path.
48
50
 
49
- `uses: reviewdog/action-eslint@1.0.1`
51
+ Output if your action repo is `reviewdog/action-eslint` and the latest tag is `v1.0.1`:
52
+
53
+ `uses: reviewdog/action-eslint@v1.0.1`
50
54
  required: false
51
55
  default: true
52
56
  version_override:
@@ -75,7 +79,8 @@ inputs:
75
79
 
76
80
  Options:
77
81
 
78
- - `git-tag` - Latest git tag (default, standard for GitHub Actions)
82
+ - `git-tag` - Latest git tag (default, standard for GitHub Actions). Falls
83
+ back to `package.json`, then `$npm_package_version`, then `0.0.0`
79
84
 
80
85
  - `git-branch` - Current branch name (for bleeding edge users)
81
86
 
@@ -92,7 +97,7 @@ inputs:
92
97
  The title template looks like this:
93
98
  # {brand}{prefix}{title}
94
99
  required: false
95
- default: "GitHub Action: "
100
+ default: 'GitHub Action: '
96
101
  include_github_version_badge:
97
102
  description: |
98
103
  Include additional badge showing latest tag
@@ -109,7 +114,7 @@ inputs:
109
114
 
110
115
  You can use a section template like this:
111
116
 
112
- `<!-- start branding --><!-- stop branding -->`
117
+ `<!-- start branding --><!-- end branding -->`
113
118
 
114
119
  or use the action input:
115
120
 
@@ -146,5 +151,5 @@ outputs:
146
151
  description: |
147
152
  The content of the readme file after the changes were made
148
153
  runs:
149
- using: "node24"
150
- main: "./dist/bin/index.js"
154
+ using: 'node24'
155
+ main: './dist/bin/index.js'