Skip to content

feat(cli): publish native completions in packslip - #85

Merged
jdx merged 2 commits into
mainfrom
codex/publish-packslip-completions
Sep 5, 2026
Merged

feat(cli): publish native completions in packslip#85
jdx merged 2 commits into
mainfrom
codex/publish-packslip-completions

Conversation

@jdx

@jdx jdx commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Add native completion generation and callbacks to both pacvamp and pacvamp-repo for Bash, Zsh, Fish, and PowerShell. Publish all eight scripts and both CLI specifications, with each signed Packslip resource explicitly bound to its executable. Preserve the existing license resource and refresh the CLI references.

Release publishing checks every script with its native shell parser and exercises each callback. Local generation, all eight callbacks and syntax checks, both binaries' unit tests, strict Clippy across their targets, formatting, and workflow lint pass.

Companion installer support: jdx/mise#12848. pacvamp has no published release yet, so this does not add a mise registry entry.

AI-assisted — Tool: Codex; model: OpenAI/GPT-6; version: unavailable.


Note

Low Risk
Changes are additive CLI and release packaging with validation gates; no auth, data, or install-path behavior changes at runtime.

Overview
Adds completion <SHELL> (bash, zsh, fish, powershell) to pacvamp and pacvamp-repo, enabled via usage_rs completion generation and early completion_request handling before normal parsing.

The release packslip job now extracts the musl binary, emits __usage KDL and per-shell scripts for both programs, validates non-empty output, __complete_word__ callbacks, and native shell syntax (including PowerShell parse checks), uploads resources/* to the GitHub release, and wires those assets into packslip alongside the existing license.

CLI usage KDL and docs list the new subcommand.

Reviewed by Cursor Bugbot for commit af0f5f6. Bugbot is set up for automated code reviews on this repo. Configure here.

Summary by CodeRabbit

  • New Features

    • Added shell completion generation for pacvamp and pacvamp-repo.
    • Supports Bash, Zsh, Fish, and PowerShell.
    • Added built-in help for the new completion <SHELL> command.
  • Documentation

    • Added usage references and command documentation for shell completions.
    • Release packages now include generated usage specifications and completion scripts.

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

Next included review available in 50 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Team

Run ID: 0c853cea-c040-44ef-84f8-1b1d7b3aacfe

📥 Commits

Reviewing files that changed from the base of the PR and between c021a7b and af0f5f6.

📒 Files selected for processing (1)
  • .github/workflows/release.yml

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Team

Run ID: 10b0be98-13ac-46ef-9702-9489829f7567

📥 Commits

Reviewing files that changed from the base of the PR and between 34cc036 and c021a7b.

📒 Files selected for processing (9)
  • .github/workflows/release.yml
  • crates/pacvamp-repo/src/main.rs
  • crates/pacvamp/src/cli/mod.rs
  • docs/cli/pacvamp-repo.usage.kdl
  • docs/cli/pacvamp-repo/completion.md
  • docs/cli/pacvamp-repo/index.md
  • docs/cli/pacvamp.usage.kdl
  • docs/cli/pacvamp/completion.md
  • docs/cli/pacvamp/index.md

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

Both pacvamp and pacvamp-repo now generate completions for bash, zsh, fish, and PowerShell. The release workflow validates and packages the generated usage specifications and completion scripts. CLI documentation includes the new command.

Changes

Shell completion support

Layer / File(s) Summary
CLI completion commands
crates/pacvamp/src/cli/mod.rs, crates/pacvamp-repo/src/main.rs
Both CLIs add a completion <SHELL> command, validate shell names, print generated scripts, and handle early completion requests.
Completion usage documentation
docs/cli/pacvamp.usage.kdl, docs/cli/pacvamp-repo.usage.kdl, docs/cli/pacvamp/*, docs/cli/pacvamp-repo/*
Usage definitions and generated documentation describe the new completion command and supported shells.
Release resource generation
.github/workflows/release.yml
The release workflow generates usage and completion resources, validates them with shell-specific checks, and uploads them through packslip.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Merge Risk: ⚪ Minimal · up to c021a

This change adds Bash, Zsh, Fish, and PowerShell completion generation and release packaging for both CLIs. The documented commands and packaged resources are aligned, with no material current merge-readiness risk identified.

Sequence Diagram(s)

sequenceDiagram
  participant ReleaseWorkflow
  participant Pacvamp
  participant PacvampRepo
  participant ShellValidators
  ReleaseWorkflow->>Pacvamp: Generate usage and completion scripts
  ReleaseWorkflow->>PacvampRepo: Generate usage and completion scripts
  ReleaseWorkflow->>ShellValidators: Validate bash, zsh, fish, and PowerShell output
  ShellValidators-->>ReleaseWorkflow: Return validation results
  ReleaseWorkflow->>ReleaseWorkflow: Package resources with packslip
Loading

Poem

A rabbit checks each shell with care
Completion scripts bloom everywhere
Bash and zsh hop in a row
Fish and PowerShell start to glow
Release bundles them for the show

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 2 files. (7 skipped: 7 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: publishing native shell completions through Packslip for the CLI tools.
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.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 2 files. (7 skipped: 7 unsupported.)


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.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit c021a7b. Configure here.

Comment thread crates/pacvamp/src/cli/mod.rs
@jdx
jdx merged commit 52ae3d4 into main Sep 5, 2026
14 checks passed
@jdx
jdx deleted the codex/publish-packslip-completions branch September 5, 2026 23:48
@jdx jdx mentioned this pull request Sep 5, 2026
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.

1 participant