Skip to content

majordomus completion install

Put that integration into the shell's startup file, between managed markers, so that no one maintains it by hand

majordomus completion install

Usage

majordomus completion install [OPTIONS]

Arguments

argumentvaluedefaultdescription
--shell zsh | bash | fish zsh Which shell to install for; decides the startup file when --rc is not given
  • zsh — zsh
  • bash — bash
  • fish — fish
--rc <PATH> The startup file to write, instead of the shell's usual one
--remove flag Take the block out again, leaving the rest of the file as it was
--dry-run flag Say what would change and write nothing
--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)
  • vcs — Tracked files, through the version-control index (the layer's contract)
  • filesystem — A walk of the work tree with the same glob semantics; untracked files included
--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 one line a person adds to their shell, added for them

    Writes the integration into the shell's startup file between `# >>> MAJORDOMUS >>>` markers: nothing outside them is touched, running it twice changes nothing, and `--remove` takes it out again. It is never a side effect of anything else — installing into a person's home directory is its own decision, so it is its own command. `--dry-run` says what would change and writes nothing.

    $ majordomus completion install --shell zsh --dry-run

    Verified by the example tests: exits 0.

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 install --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.