feat(cli): generate shell completions and a man page#1658
Merged
mergify[bot] merged 1 commit intoJun 23, 2026
Conversation
This was referenced Jun 19, 2026
Contributor
Merge Protections🟢 All 6 merge protections satisfied — ready to merge. Show 6 satisfied protections🟢 🤖 Continuous Integration
🟢 👀 Review Requirements
🟢 Enforce conventional commitMake sure that we follow https://www.conventionalcommits.org/en/v1.0.0/
🟢 🔎 Reviews
🟢 📕 PR description
🟢 🚦 Auto-queueWhen all merge protections are satisfied, this pull request will be queued automatically. |
This was referenced Jun 19, 2026
Contributor
Author
|
This pull request is part of a Mergify stack:
|
6d9065b to
403899f
Compare
7891534 to
0ea6dfa
Compare
Contributor
Author
Revision history
|
0ea6dfa to
bfa432f
Compare
403899f to
2d93dbb
Compare
62fd948 to
eb8a5b7
Compare
1b380ea to
4c2d1ce
Compare
eb8a5b7 to
d2d8ce2
Compare
4c2d1ce to
9a7d375
Compare
d2d8ce2 to
cd0e873
Compare
Base automatically changed from
devs/JulianMaurin/feat/rust-cli-excellence/add-v-vv-verbosity-ladder-backed-tracing--e79b8ade
to
main
June 23, 2026 08:51
A CLI shipped via wheels + curl|sh + self-update should offer tab-completion and a man page; this one had the CommandFactory plumbing but exposed neither. Add a user-facing `mergify completions <bash|zsh|fish|…>` that prints the completion script to stdout (clap_complete), and a hidden `mergify _internal man` that renders the roff man page to stdout (clap_mangen) for packaging to install. Both are pure introspection over the clap command tree, handled before the tokio runtime starts — so now that `stack` is a real subcommand group (not the old shim), completions cover it correctly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Change-Id: I4c27238bee92725e28116717f7eb47d05bff120f
9a7d375 to
eb00a9a
Compare
kozlek
approved these changes
Jun 23, 2026
jd
approved these changes
Jun 23, 2026
Contributor
|
Queued — the merge queue status continues in this comment ↓. |
Contributor
Merge Queue Status
This pull request spent 40 seconds in the queue, including 3 seconds running CI. Required conditions to merge
|
mergify Bot
pushed a commit
that referenced
this pull request
Jun 23, 2026
The CLI's contract (every flag, subcommand, value-hint, help string, exit code) was only spot-checked structurally, so a dropped flag or renamed leaf could regress unnoticed. Add an `insta` JSON golden of the full generated schema (version redacted, since it's release-stamped) — intentional CLI changes are accepted with `cargo insta review`, accidental drift shows as a red diff. Also assert directly that the stack subcommands in the schema equal the `NATIVE_COMMANDS` registry, closing the two-list drift that the old shim allowed (a deleted leaf used to vanish silently). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Depends-On: #1658
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A CLI shipped via wheels + curl|sh + self-update should offer
tab-completion and a man page; this one had the CommandFactory
plumbing but exposed neither.
Add a user-facing
mergify completions <bash|zsh|fish|…>that printsthe completion script to stdout (clap_complete), and a hidden
mergify _internal manthat renders the roff man page to stdout(clap_mangen) for packaging to install. Both are pure introspection
over the clap command tree, handled before the tokio runtime starts —
so now that
stackis a real subcommand group (not the old shim),completions cover it correctly.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com