Skip to content

[Automated] Update shellcheck CLI Options - #4733

Open
thomhurst wants to merge 1 commit into
mainfrom
automated/update-cli-options-shellcheck
Open

[Automated] Update shellcheck CLI Options#4733
thomhurst wants to merge 1 commit into
mainfrom
automated/update-cli-options-shellcheck

Conversation

@thomhurst

@thomhurst thomhurst commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Summary

This PR contains automatically generated updates to shellcheck CLI options classes.

The generator scraped the latest CLI help output from the installed tool.

Changes

  • Updated options classes to reflect latest CLI documentation
  • Added new commands if any were detected
  • Updated option types and descriptions

Assembly-wide public API impact

Affected API families: Shellcheck.

  • Added APIs: 8
  • Removed or changed APIs: 8
  • Members with matching names but changed signatures: 0

Breaking changes are present. Consumers may need to update method arguments, option property types or nullability, enum members, and references to removed APIs.

Representative removed or changed members:

  • ModularPipelines.Shellcheck.Enums.ShellcheckColor.Always = 1 -> ModularPipelines.Shellcheck.Enums.ShellcheckColor
  • ModularPipelines.Shellcheck.Enums.ShellcheckColor.Auto = 0 -> ModularPipelines.Shellcheck.Enums.ShellcheckColor
  • ModularPipelines.Shellcheck.Enums.ShellcheckSeverity.Info = 2 -> ModularPipelines.Shellcheck.Enums.ShellcheckSeverity
  • ModularPipelines.Shellcheck.Enums.ShellcheckSeverity.Style = 3 -> ModularPipelines.Shellcheck.Enums.ShellcheckSeverity
  • ModularPipelines.Shellcheck.Enums.ShellcheckSeverity.Warning = 1 -> ModularPipelines.Shellcheck.Enums.ShellcheckSeverity

Representative added members:

  • ModularPipelines.Shellcheck.Enums.ShellcheckColor.Always = 0 -> ModularPipelines.Shellcheck.Enums.ShellcheckColor
  • ModularPipelines.Shellcheck.Enums.ShellcheckColor.Auto = 1 -> ModularPipelines.Shellcheck.Enums.ShellcheckColor
  • ModularPipelines.Shellcheck.Enums.ShellcheckSeverity.Info = 1 -> ModularPipelines.Shellcheck.Enums.ShellcheckSeverity
  • ModularPipelines.Shellcheck.Enums.ShellcheckSeverity.Style = 2 -> ModularPipelines.Shellcheck.Enums.ShellcheckSeverity
  • ModularPipelines.Shellcheck.Enums.ShellcheckSeverity.Warning = 3 -> ModularPipelines.Shellcheck.Enums.ShellcheckSeverity

Command coverage

Command coverage report:

  • shellcheck (ShellCheck - shell script analysis tool version: 0.11.0 license: GNU General Public License, version 3 website: https://www.shellcheck.net): 1 commands, tree e0feeff705f2c41109aa86a93c5d59e3b3bcad2e39dc7621ab911897e22c7bc4
    • Baseline comparison: 1 commands at ShellCheck - shell script analysis tool version: 0.11.0 license: GNU General Public License, version 3 website: https://www.shellcheck.net -> 1 commands at ShellCheck - shell script analysis tool version: 0.11.0 license: GNU General Public License, version 3 website: https://www.shellcheck.net

Verification

  • Solution builds successfully

🤖 Generated with ModularPipelines.OptionsGenerator

@thomhurst thomhurst added automated dependencies Pull requests that update a dependency file labels Sep 6, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 6, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-07T15:53:06.196242Z 2941951 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: b8128e7c-cece-498a-8d68-a8495758218e

📥 Commits

Reviewing files that changed from the base of the PR and between 49f5b9b and 55f7ed8.

⛔ Files ignored due to path filters (4)
  • src/ModularPipelines.Shellcheck/Enums/ShellcheckColor.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Shellcheck/Enums/ShellcheckSeverity.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Shellcheck/Enums/ShellcheckShell.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Shellcheck/Generated/Shellcheck.Generation.json is excluded by !**/generated/**
📒 Files selected for processing (2)
  • src/ModularPipelines.Shellcheck/PublicAPI.Shipped.txt
  • src/ModularPipelines.Shellcheck/PublicAPI.Unshipped.txt
💤 Files with no reviewable changes (1)
  • src/ModularPipelines.Shellcheck/PublicAPI.Shipped.txt

Included review availability: Your plan provides up to 4 included reviews per hour; 2 remain after this review.


📝 Walkthrough

Walkthrough

The Shellcheck public API tracking files update enum values, move API entries between shipped and unshipped records, remove shipped enum members, and change IShellcheck.ExecuteAsync to return ModularPipelines.CommandResult.

Changes

Shellcheck API tracking

Layer / File(s) Summary
Shellcheck public API baseline
src/ModularPipelines.Shellcheck/PublicAPI.Unshipped.txt, src/ModularPipelines.Shellcheck/PublicAPI.Shipped.txt
The API records renumber enum members, remove shipped enum entries, clear removal markers, and update the IShellcheck.ExecuteAsync return type.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Merge Risk: ⚪ Minimal · up to 55f7e

This updates ShellCheck option and API contracts for the current CLI help output, including intentional breaking enum and return-type changes. No remaining merge-blocking runtime or data-integrity risk is evidenced.

Poem

A rabbit checks the enum trail
New numbers hop where old ones fail
The API ledger marks the way
CommandResult joins the day
Shipped names rest, clean and bright
Carrot-approved by moonlight

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the automated update of ShellCheck CLI options, which is the main purpose of the pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch automated/update-cli-options-shellcheck

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Review: PR #4733

This PR is a fully mechanical, generator-produced change: it alphabetizes the members of three generated Shellcheck enums (ShellcheckColor, ShellcheckSeverity, ShellcheckShell) along with the corresponding Shellcheck.Generation.json and PublicAPI.Shipped.txt/PublicAPI.Unshipped.txt updates.

Verification performed:

  • Confirmed the changed files are all generated/generator-metadata (*.Generated.cs, Generated/*.json, PublicAPI.*.txt) — consistent with CLAUDE.md's guidance that generated options should only change via the scraper/generator, not by hand.
  • Confirmed CommandArgumentBuilder.ParseEnum resolves enum values by field name / EnumValueAttribute, not by ordinal position, so reordering enum members has no effect on runtime behavior or serialized CLI arguments.
  • Cross-checked the new ordinal values in each .Generated.cs file against the corresponding *REMOVED*/added entries in PublicAPI.Shipped.txt/PublicAPI.Unshipped.txt — internally consistent.
  • Checked existing tests referencing these enums; they reference members by name, not ordinal, so they're unaffected by the reordering.

No actionable, correctness, or design issues found. This is a clean, self-consistent generated-code update.

@thomhurst
thomhurst enabled auto-merge (squash) September 6, 2026 09:51
@thomhurst
thomhurst disabled auto-merge September 6, 2026 14:12
@thomhurst
thomhurst force-pushed the automated/update-cli-options-shellcheck branch from c44657f to 55f7ed8 Compare September 6, 2026 14:13
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Review: PR #4733

This PR is a fully mechanical, generator-produced update: it reorders the members of three generated Shellcheck enums (ShellcheckColor, ShellcheckSeverity, ShellcheckShell, now alphabetized) along with the matching Shellcheck.Generation.json and PublicAPI.Shipped.txt/PublicAPI.Unshipped.txt entries.

Verification performed:

  • Confirmed every changed file is generated/generator-metadata (*.Generated.cs, Generated/*.json, PublicAPI.*.txt), consistent with CLAUDE.md's rule that generated options only change via the scraper/generator.
  • Reordering changes each enum's implicit ordinal (int) values, which the PublicAPI analyzer correctly flags as a breaking change (Always = 1 -> 0, etc.). Confirmed this has no runtime impact: CommandArgumentBuilder.ParseEnum (src/ModularPipelines/Helpers/Internal/CommandArgumentBuilder.cs) resolves the CLI argument via GetField(rawValue.ToString()) — i.e. by the enum member's name, then reads its [EnumValue] attribute — never by ordinal. So the actual shellcheck CLI arguments emitted are unaffected by this reorder.
  • Checked ShellcheckOptionsTests.cs — it references enum members by name (ShellcheckColor.Always, ShellcheckShell.Busybox, ShellcheckSeverity.Warning), not ordinal, so the existing tests aren't affected either.
  • This matches the prior automated review on this PR (commit c44657f, now superseded by 55f7ed84 after what looks like a no-op rebase/amend — file contents are identical), which reached the same conclusion.

No actionable, correctness, or design issues found. This is a clean, self-consistent generated-code update; nothing here needs a fix in the scraper/generator.

@thomhurst
thomhurst force-pushed the automated/update-cli-options-shellcheck branch from 55f7ed8 to 2941951 Compare September 7, 2026 15:49
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Review Summary

This PR is a small (134-line), fully auto-generated diff produced by ModularPipelines.OptionsGenerator that reorders the members of three Shellcheck enums (ShellcheckColor, ShellcheckSeverity, ShellcheckShell) into deterministic alphabetical-by-CLI-value order, along with the matching PublicAPI.Shipped.txt/PublicAPI.Unshipped.txt and Shellcheck.Generation.json (generator source hash) updates.

Verification performed

  • Confirmed enum → CLI argument mapping goes through EnumValueAttribute read via reflection in src/ModularPipelines/Helpers/Internal/CommandArgumentBuilder.cs:685, not the underlying int value — so reordering (and thus renumbering) the enum members does not change runtime CLI behavior.
  • Confirmed the reordering matches CliEnumDefinition.OrderValues (already on main, unchanged by this diff) in tools/ModularPipelines.OptionsGenerator/src/ModularPipelines.OptionsGenerator/Models/CliEnumDefinition.cs:32-37, which sorts by CliValue deterministically — this PR is simply the regenerated output reflecting a generator fix that predates it.
  • Checked all repo usages of ShellcheckColor/ShellcheckSeverity/ShellcheckShell (test/ModularPipelines.Shellcheck.UnitTests/Commands/ShellcheckOptionsTests.cs) — all reference enum members symbolically (e.g. ShellcheckColor.Always), never by numeric value, so the renumbering breaks nothing.
  • Confirmed the properties using these enums (src/ModularPipelines.Shellcheck/Options/ShellcheckExecuteOptions.Generated.cs) are all nullable (ShellcheckColor? etc.), so no code relies on default(enum) == 0 as a sentinel.
  • Confirmed PublicAPI.Shipped.txt/PublicAPI.Unshipped.txt changes are internally consistent (removed entries reappear with *REMOVED* prefix and new values, no duplicates).
  • No hand-editing of generated files occurred (per repo guidance: never hand-edit generated options) — everything changed is itself generated output (enum files, PublicAPI.*.txt, Generation.json).
  • Verified the updated generatorSourceSha256 value is a well-formed 64-character hex string.

Verdict

No correctness bugs, regressions, or maintainability concerns found. This is a clean, mechanical regeneration — approved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant