docs: add integrations directory with framework tracker#497
Conversation
Adds a checklist of 30+ popular CLI frameworks across 16+ languages that could integrate with usage for spec generation. Organized by priority based on ecosystem popularity. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary of ChangesHello @jdx, 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 introduces comprehensive documentation outlining the strategy for integrating with various CLI frameworks. It establishes a prioritized list of frameworks to target for generating usage specifications, which will enable features like shell completions, documentation, and man pages from a single source. The new Highlights
Changelog
Activity
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this comment.
Code Review
This pull request adds a new documentation file, integrations/README.md, which serves as a tracker for planned integrations with various CLI frameworks. The document is well-organized, categorizing frameworks by priority based on popularity. My review focuses on enhancing the completeness of the information provided. I've suggested adding direct links to the documentation for standard library modules, which will improve the usability of this tracker for developers. Overall, this is a great addition for project planning and transparency.
| - [ ] **urfave/cli** (Go) - [urfave/cli](https://github.com/urfave/cli) ~24k stars | ||
| - [ ] **Typer** (Python) - [fastapi/typer](https://github.com/fastapi/typer) ~19k stars | ||
| - [ ] **Click** (Python) - [pallets/click](https://github.com/pallets/click) ~17k stars | ||
| - [ ] **argparse** (Python) - stdlib |
There was a problem hiding this comment.
For consistency and to help readers, it would be great to add a link to the official documentation for argparse, similar to how other libraries have links to their repositories. This will make the list more useful.
| - [ ] **argparse** (Python) - stdlib | |
| - [ ] **argparse** (Python) - [stdlib](https://docs.python.org/3/library/argparse.html) |
| - [ ] **Getopt::Long** (Perl) - stdlib | ||
| - [ ] **OptionParser** (Elixir) - stdlib | ||
| - [ ] **OptionParser** (Ruby) - stdlib | ||
| - [ ] **getopt** (C) - POSIX stdlib |
There was a problem hiding this comment.
To improve this documentation, please add links to the official documentation for these standard library modules. This will make it easier for developers to look them up.
| - [ ] **Getopt::Long** (Perl) - stdlib | |
| - [ ] **OptionParser** (Elixir) - stdlib | |
| - [ ] **OptionParser** (Ruby) - stdlib | |
| - [ ] **getopt** (C) - POSIX stdlib | |
| - [ ] **Getopt::Long** (Perl) - [stdlib](https://perldoc.perl.org/Getopt::Long) | |
| - [ ] **OptionParser** (Elixir) - [stdlib](https://hexdocs.pm/elixir/OptionParser.html) | |
| - [ ] **OptionParser** (Ruby) - [stdlib](https://docs.ruby-lang.org/en/master/OptionParser.html) | |
| - [ ] **getopt** (C) - [POSIX stdlib](https://man7.org/linux/man-pages/man3/getopt.3.html) |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #497 +/- ##
==========================================
+ Coverage 70.71% 77.81% +7.10%
==========================================
Files 47 47
Lines 6716 6595 -121
Branches 6716 6595 -121
==========================================
+ Hits 4749 5132 +383
+ Misses 1277 1105 -172
+ Partials 690 358 -332 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR adds a comprehensive documentation file tracking CLI framework integration priorities for the Usage project. The document serves as a roadmap for creating usage spec generators across 30+ popular CLI frameworks spanning 16+ languages, organized by implementation priority based on ecosystem popularity (GitHub stars).
Changes:
- Adds
integrations/README.mdwith categorized checklist of CLI frameworks - Includes explanatory "How Integrations Work" section describing the spec generation approach
- References the existing
clap_usageimplementation as a working example
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - [ ] **swift-argument-parser** (Swift) - [apple/swift-argument-parser](https://github.com/apple/swift-argument-parser) ~4k stars | ||
| - [ ] **System.CommandLine** (C#/.NET) - [dotnet/command-line-api](https://github.com/dotnet/command-line-api) ~4k stars | ||
|
|
||
| ### Lower Priority |
There was a problem hiding this comment.
The "Lower Priority" section header implies frameworks with fewer than 3k stars, but Kong is listed with ~3k stars (exactly at the boundary). Consider either updating the section description to "≤3k stars" or moving Kong to the Medium Priority section if you want to maintain strict boundaries.
| ### Lower Priority | |
| ### Lower Priority (≤3k stars) |
### 🚀 Features - add Cobra (Go) integration for generating usage specs by [@jdx](https://github.com/jdx) in [#498](#498) - Add support for nushell by [@abusch](https://github.com/abusch) in [#485](#485) ### 🐛 Bug Fixes - **(docs)** align homepage feature button with integrations page by [@jdx](https://github.com/jdx) in [#496](#496) ### 📚 Documentation - add integrations directory with framework tracker by [@jdx](https://github.com/jdx) in [#497](#497) - add integrations directory with framework tracker by [@jdx](https://github.com/jdx) in [#499](#499) ### 🔍 Other Changes - mise up by [@muzimuzhi](https://github.com/muzimuzhi) in [#492](#492) ### 📦️ Dependency Updates - update actions/checkout digest to de0fac2 by [@renovate[bot]](https://github.com/renovate[bot]) in [#494](#494) - update taiki-e/upload-rust-binary-action digest to f391289 by [@renovate[bot]](https://github.com/renovate[bot]) in [#495](#495) - lock file maintenance by [@renovate[bot]](https://github.com/renovate[bot]) in [#500](#500) ### New Contributors - @abusch made their first contribution in [#485](#485)
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [usage](https://github.com/jdx/usage) | minor | `2.16.2` → `2.17.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> ### [`v2.17.0`](https://github.com/jdx/usage/blob/HEAD/CHANGELOG.md#2170---2026-02-16) [Compare Source](jdx/usage@v2.16.2...v2.17.0) ##### 🚀 Features - add Cobra (Go) integration for generating usage specs by [@​jdx](https://github.com/jdx) in [#​498](jdx/usage#498) - Add support for nushell by [@​abusch](https://github.com/abusch) in [#​485](jdx/usage#485) ##### 🐛 Bug Fixes - **(docs)** align homepage feature button with integrations page by [@​jdx](https://github.com/jdx) in [#​496](jdx/usage#496) ##### 📚 Documentation - add integrations directory with framework tracker by [@​jdx](https://github.com/jdx) in [#​497](jdx/usage#497) - add integrations directory with framework tracker by [@​jdx](https://github.com/jdx) in [#​499](jdx/usage#499) ##### 🔍 Other Changes - mise up by [@​muzimuzhi](https://github.com/muzimuzhi) in [#​492](jdx/usage#492) ##### 📦️ Dependency Updates - update actions/checkout digest to [`de0fac2`](jdx/usage@de0fac2) by [@​renovate\[bot\]](https://github.com/renovate\[bot]) in [#​494](jdx/usage#494) - update taiki-e/upload-rust-binary-action digest to [`f391289`](jdx/usage@f391289) by [@​renovate\[bot\]](https://github.com/renovate\[bot]) in [#​495](jdx/usage#495) - lock file maintenance by [@​renovate\[bot\]](https://github.com/renovate\[bot]) in [#​500](jdx/usage#500) ##### New Contributors - [@​abusch](https://github.com/abusch) made their first contribution in [#​485](jdx/usage#485) </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:eyJjcmVhdGVkSW5WZXIiOiI0My4xNS4yIiwidXBkYXRlZEluVmVyIjoiNDMuMTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90IiwiYXV0b21hdGlvbjpib3QtYXV0aG9yZWQiLCJkZXBlbmRlbmN5LXR5cGU6Om1pbm9yIl19-->
Summary
integrations/README.mdwith a prioritized checklist of 30+ CLI frameworks across 16+ languagesclap_usageas the existing reference implementationHighlights
High priority (>15k stars): Cobra (Go), Commander.js (Node), urfave/cli (Go), Typer/Click (Python), argparse (Python)
Medium priority (4-12k stars): yargs, Spectre.Console (.NET), Symfony Console (PHP), oclif, picocli (Java), Thor (Ruby), swift-argument-parser, and more
Lower priority (<3k stars): Kong, Clikt, argh, zig-clap, optparse-applicative, and others
Test plan
🤖 Generated with Claude Code
Note
Low Risk
Docs-only change that adds planning/overview material without modifying runtime code paths.
Overview
Adds a new
integrations/README.mdthat tracks planned/implemented CLI-framework integrations via a prioritized checklist and links to the existingclap_usagereference implementation.Documents the intended integration flow: extracting framework CLI definitions into the KDL usage spec to drive completions, docs, man pages, and
--helpoutput.Written by Cursor Bugbot for commit 6859f09. This will update automatically on new commits. Configure here.