Skip to content

feat(kmutil): add completion spec - #2629

Open
ump45nose wants to merge 1 commit into
withfig:masterfrom
ump45nose:contrib/kmutil-missing-spec-937
Open

ump45nose wants to merge 1 commit into
withfig:masterfrom
ump45nose:contrib/kmutil-missing-spec-937

Conversation

@ump45nose

Copy link
Copy Markdown

Closes #937

Adds a completion spec for kmutil, the Apple kernel-extension/collection management tool
(kmutil(1) on macOS 11+).

The spec covers the shared options (--variant-suffix, --arch, --no-authorization,
--verbose, --help), the extension/collection selectors (--bundle-path,
--bundle-identifier), and the subcommands check, clear-staging, create,
find, inspect, install, list, load, logs, showloaded, stat, unload,
uninstall, dumpstate, help and print-diagnostics.

Every option and subcommand name and description was taken from kmutil help,
kmutil <subcommand> help and the kmutil(1) man page, so nothing is invented.

Testing: npx tsc --noEmit on src/kmutil.ts succeeds, and yarn run lint reports no new
findings. I cannot launch the Fig client on this machine, so the spec was not exercised
end-to-end in a shell.

This pull request was prepared with the assistance of an AI coding agent and has not yet
been reviewed by a human.

Add a completion spec for kmutil, the KernelManagement utility for
managing kernel extensions (kexts) and kext collections on macOS.

Cover all 17 subcommands (create, rebuild, load, unload, log,
libraries, dumpstate, inspect, clear-staging, configure-boot, find,
showloaded, trigger-panic-medic, check, print-diagnostics, emit-macho,
and path-for-identifier) along with their options.

Shared option groups that kmutil repeats across subcommands (global,
bundle, identifier, filter, repository, version and collection options)
are declared once and spread into the subcommands that accept them, so
the spec stays in sync with how the tool groups its flags.

Options and their arguments were taken from kmutil's own help output on
macOS 26 and cross-checked against the kmutil(8) man page.
@withfig-bot

Copy link
Copy Markdown
Contributor


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@withfig-bot

Copy link
Copy Markdown
Contributor

Overview

src/kmutil.ts:

Info:

@withfig-bot

Copy link
Copy Markdown
Contributor

Hello @ump45nose,
thank you very much for creating a Pull Request!
Here is a small checklist to get this PR merged as quickly as possible:

  • Do all subcommands / options which take arguments include the args property (args: {})?
  • Are all options modular? E.g. -a -u -x instead of -aux
  • Have all other checks passed?

Please add a 👍 as a reaction to this comment to show that you read this.

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.

[kmutil] missing spec

2 participants