majordomus completion
Completion for any surface, answered from the command graph: the candidates a shell asks for, and the one-time integration that asks
majordomus completion
Usage
majordomus completion [OPTIONS] [COMMAND]Commands
- majordomus completion query The candidates for one command line, from the command graph. What a shell adapter calls on every TAB
- majordomus completion init The shell integration to load once, which carries no command of its own and asks this executable for every candidate
- majordomus completion install Put that integration into the shell's startup file, between managed markers, so that no one maintains it by hand
Arguments
| argument | value | default | description |
|---|---|---|---|
| --repo | <PATH> | — | Start the search for the repository root here (default: the current directory) (accepted by every subcommand) |
| --discovery | vcs | filesystem | vcs | How declarative files are enumerated (accepted by every subcommand)
|
| --strict | flag | — | Refuse to proceed when any file of the layer carries an error diagnostic (accepted by every subcommand) |
| --share | <DIR> | — | The tool distribution's share directory (kinds.yaml, schemas/); default: $MAJORDOMUS_SHARE, then the repository's own share/, then the one beside the executable (accepted by every subcommand) |
Examples
-
The integration a person installs once
With no subcommand, the shell integration for zsh. It contains no command, no flag and no identifier: every candidate comes from a query against the command graph of the repository the shell is in, so one integration serves every checkout and never goes stale.
$ majordomus completionVerified by the example tests: exits 0; prints completion query, compdef.
Where this comes from
Declared once in apps/majordomus-cli/src/cli.rs: clap for the structure, typed Rust metadata beside it for the examples. This page, majordomus completion --help, docs/generated/cli.md and docs/generated/cli.json are projections of that one declaration.
The whole command line on one page: the registry's command-line page. The task lifecycle (init, start, finish, doctor, ...) belongs to the shell tool, a different program: Commands and its specification.