Skip to content

Added an integration with ruby's OptionParser#533

Merged
jdx merged 1 commit intojdx:mainfrom
packrat386:option_parser_usage
Mar 11, 2026
Merged

Added an integration with ruby's OptionParser#533
jdx merged 1 commit intojdx:mainfrom
packrat386:option_parser_usage

Conversation

@packrat386
Copy link
Copy Markdown
Contributor

No description provided.

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request updates the project's documentation to include a newly implemented integration for Ruby's OptionParser. The change ensures that the list of supported command-line interface frameworks is current, accurately reflecting the availability of this new tool for extracting CLI definitions.

Highlights

  • New Integration: Added Ruby's OptionParser to the list of available CLI integrations.
  • Documentation Update: Updated the integrations.md documentation to reflect the new OptionParser integration, moving it from the 'Planned' section to the 'Available' section.
Changelog
  • docs/spec/integrations.md
    • Added Ruby's OptionParser to the 'Available' integrations table.
    • Removed Ruby's OptionParser from the 'Planned' integrations table.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds an integration for Ruby's OptionParser by updating the docs/spec/integrations.md file. The changes correctly move the integration from the 'Planned' section to the 'Available' section. I've found a broken link in the new entry and suggested a fix. Additionally, please note that a related file, integrations/README.md, also tracks integration status and has not been updated in this PR. You may want to update it as well to keep documentation consistent.

Note: Security Review has been skipped due to the limited scope of the PR.

Comment thread docs/spec/integrations.md
| [Cobra](https://github.com/spf13/cobra) | Go | [`cobra_usage`](/spec/integrations/cobra) |
| [clap](https://crates.io/crates/clap) | Rust | [`clap_usage`](/spec/integrations/clap) |
| [argparse](https://docs.python.org/3/library/argparse.html) | Python | [`argparse-usage`](https://github.com/acidghost/argparse-usage) |
| [OptionParser](https://docs.ruby-lang.org/en/4.0/OptionParser.html) | Ruby | [`option_parser_usage`](https://github.com/packrat386/option_parser_usage) |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The link to the OptionParser documentation is broken as it returns a 404 error. It seems to point to version 4.0, which is not yet available. Please consider updating it to a valid link, such as the one for the master branch, to ensure users can access the documentation.

Suggested change
| [OptionParser](https://docs.ruby-lang.org/en/4.0/OptionParser.html) | Ruby | [`option_parser_usage`](https://github.com/packrat386/option_parser_usage) |
| [OptionParser](https://docs.ruby-lang.org/en/master/OptionParser.html) | Ruby | [`option_parser_usage`](https://github.com/packrat386/option_parser_usage) |

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Mar 9, 2026

Greptile Summary

This PR adds documentation for a new Ruby OptionParser integration (option_parser_usage) to the usage project. The changes move the Ruby OptionParser entry from the "Lower Priority" planned table to the "Available" table in integrations.md, and add a corresponding sidebar navigation entry in config.mts.

  • Ruby OptionParser is promoted from "Planned (Lower Priority)" to "Available" in the integrations list.
  • A new sidebar entry is added in config.mts, linking directly to the external GitHub repo (consistent with the existing argparse entry pattern).
  • The "Available" table correctly links to option_parser_usage as the implementing package.
  • No code logic is changed — this is a purely documentation update.

Confidence Score: 5/5

  • This PR is safe to merge — it is a documentation-only change with no code logic affected.
  • The changes are purely additive documentation updates. The Ruby OptionParser entry is correctly moved from planned to available, and the new sidebar entry follows the established pattern for external integrations.
  • No files require special attention.

Important Files Changed

Filename Overview
docs/.vitepress/config.mts Adds OptionParser (Ruby) sidebar navigation entry with an external GitHub link, consistent with the existing argparse entry pattern.
docs/spec/integrations.md Moves Ruby OptionParser from "Lower Priority" planned table to "Available" table, and adds the package link. Table reformatting is clean and correct.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[CLI Framework] --> B{Integration Layer}
    B --> C[cobra_usage\nGo / Cobra]
    B --> D[clap_usage\nRust / clap]
    B --> E[argparse-usage\nPython / argparse]
    B --> F[option_parser_usage\nRuby / OptionParser]
    C --> G[usage spec KDL]
    D --> G
    E --> G
    F --> G
    G --> H[Shell Completions]
    G --> I[Markdown Docs]
    G --> J[Man Pages]
Loading

Last reviewed commit: 8318dd8

Comment thread docs/spec/integrations.md
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.94%. Comparing base (ba1f57b) to head (8318dd8).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #533   +/-   ##
=======================================
  Coverage   77.94%   77.94%           
=======================================
  Files          48       48           
  Lines        6682     6682           
  Branches     6682     6682           
=======================================
  Hits         5208     5208           
  Misses       1114     1114           
  Partials      360      360           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@packrat386 packrat386 force-pushed the option_parser_usage branch from 134a721 to 8318dd8 Compare March 10, 2026 21:41
@jdx jdx merged commit 7562574 into jdx:main Mar 11, 2026
8 checks passed
jdx pushed a commit that referenced this pull request Mar 13, 2026
### 🚀 Features

- **(spec)** **breaking** add support for license, before/after help
metadata by [@jdx](https://github.com/jdx) in
[#542](#542)

### 🐛 Bug Fixes

- **(cobra)** escape newlines, tabs, and carriage returns in
kdlQuoteAlways by [@thecodesmith](https://github.com/thecodesmith) in
[#539](#539)
- bump major version for breaking changes in release automation by
[@jdx](https://github.com/jdx) in
[#544](#544)
- add custom_major_increment_regex for breaking change detection by
[@jdx](https://github.com/jdx) in
[#545](#545)
- handle all breaking change commit formats in major bump regex by
[@jdx](https://github.com/jdx) in
[27e1ab1](27e1ab1)
- normalize breaking change commit format in preprocessor by
[@jdx](https://github.com/jdx) in
[aa72b92](aa72b92)

### 📚 Documentation

- add argparse-usage integration by [@jdx](https://github.com/jdx) in
[#531](#531)
- mark KDL code blocks as KDL and use correct inline-comment `//` by
[@muzimuzhi](https://github.com/muzimuzhi) in
[#536](#536)
- fix include syntax to match implementation by
[@jdx](https://github.com/jdx) in
[#540](#540)
- consolidate integration list to single source by
[@jdx](https://github.com/jdx) in
[#541](#541)
- fix link to integrations by [@muzimuzhi](https://github.com/muzimuzhi)
in [#543](#543)

### 🛡️ Security

- **(deps)** update dependency eslint to v10 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#526](#526)

### 🔍 Other Changes

- Added an integration with ruby's OptionParser by
[@packrat386](https://github.com/packrat386) in
[#533](#533)

### 📦️ Dependency Updates

- update actions/setup-node digest to 53b8394 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#525](#525)
- update jdx/mise-action action to v3 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#528](#528)
- update rust crate roff to v1 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#529](#529)

### New Contributors

- @thecodesmith made their first contribution in
[#539](#539)
- @packrat386 made their first contribution in
[#533](#533)
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Apr 2, 2026
⚠️ **CAUTION: this is a major update, indicating a breaking change!** ⚠️

This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [usage](https://github.com/jdx/usage) | major | `2.18.2` → `3.2.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>jdx/usage (usage)</summary>

### [`v3.2.0`](https://github.com/jdx/usage/blob/HEAD/CHANGELOG.md#320---2026-03-23)

[Compare Source](jdx/usage@v3.1.0...v3.2.0)

##### 🚀 Features

- Support env-backed choices with `choices env=...` by [@&#8203;mustafa0x](https://github.com/mustafa0x) in [#&#8203;548](jdx/usage#548)

##### 🐛 Bug Fixes

- **(zsh)** escape parentheses and brackets in completion descriptions by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;559](jdx/usage#559)

##### New Contributors

- [@&#8203;mustafa0x](https://github.com/mustafa0x) made their first contribution in [#&#8203;548](jdx/usage#548)

### [`v3.1.0`](https://github.com/jdx/usage/blob/HEAD/CHANGELOG.md#310---2026-03-22)

[Compare Source](jdx/usage@v3.0.0...v3.1.0)

##### 🚀 Features

- **(cli)** render all doc-related fields in --help output by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;554](jdx/usage#554)
- **(cli)** support reading spec from stdin via --file - by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;555](jdx/usage#555)

##### 🐛 Bug Fixes

- **(zsh)** remove trailing space from completions and add directory slash by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;556](jdx/usage#556)
- use field assignment for non-exhaustive Spec in benchmarks by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;552](jdx/usage#552)

##### 📦️ Dependency Updates

- update apple-actions/import-codesign-certs digest to [`fe74d46`](jdx/usage@fe74d46) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;550](jdx/usage#550)
- update codecov/codecov-action digest to [`1af5884`](jdx/usage@1af5884) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;551](jdx/usage#551)
- lock file maintenance by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;547](jdx/usage#547)

### [`v3.0.0`](https://github.com/jdx/usage/blob/HEAD/CHANGELOG.md#300---2026-03-13)

[Compare Source](jdx/usage@v2.18.2...v3.0.0)

##### 🚀 Features

- **(spec)** **breaking** add support for license, before/after help metadata by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;542](jdx/usage#542)

##### 🐛 Bug Fixes

- **(cobra)** escape newlines, tabs, and carriage returns in kdlQuoteAlways by [@&#8203;thecodesmith](https://github.com/thecodesmith) in [#&#8203;539](jdx/usage#539)
- bump major version for breaking changes in release automation by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;544](jdx/usage#544)
- add custom\_major\_increment\_regex for breaking change detection by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;545](jdx/usage#545)
- handle all breaking change commit formats in major bump regex by [@&#8203;jdx](https://github.com/jdx) in [27e1ab1](jdx/usage@27e1ab1)
- normalize breaking change commit format in preprocessor by [@&#8203;jdx](https://github.com/jdx) in [aa72b92](jdx/usage@aa72b92)

##### 📚 Documentation

- add argparse-usage integration by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;531](jdx/usage#531)
- mark KDL code blocks as KDL and use correct inline-comment `//` by [@&#8203;muzimuzhi](https://github.com/muzimuzhi) in [#&#8203;536](jdx/usage#536)
- fix include syntax to match implementation by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;540](jdx/usage#540)
- consolidate integration list to single source by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;541](jdx/usage#541)
- fix link to integrations by [@&#8203;muzimuzhi](https://github.com/muzimuzhi) in [#&#8203;543](jdx/usage#543)

##### 🛡️ Security

- **(deps)** update dependency eslint to v10 by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;526](jdx/usage#526)

##### 🔍 Other Changes

- Added an integration with ruby's OptionParser by [@&#8203;packrat386](https://github.com/packrat386) in [#&#8203;533](jdx/usage#533)

##### 📦️ Dependency Updates

- update actions/setup-node digest to [`53b8394`](jdx/usage@53b8394) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;525](jdx/usage#525)
- update jdx/mise-action action to v3 by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;528](jdx/usage#528)
- update rust crate roff to v1 by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;529](jdx/usage#529)

##### New Contributors

- [@&#8203;thecodesmith](https://github.com/thecodesmith) made their first contribution in [#&#8203;539](jdx/usage#539)
- [@&#8203;packrat386](https://github.com/packrat386) made their first contribution in [#&#8203;533](jdx/usage#533)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTAiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlJlbm92YXRlIEJvdCIsImF1dG9tYXRpb246Ym90LWF1dGhvcmVkIiwiZGVwZW5kZW5jeS10eXBlOjptYWpvciJdfQ==-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants