feat(cli): add bash/zsh tab completion for bin/moko #239

Closed
opened 2026-05-31 14:21:14 +00:00 by jmiller · 2 comments
Owner

Problem

With 55+ commands (and growing), users must remember exact command names or run php bin/moko list. No tab completion exists.

Proposal

Add a completion:generate command that outputs a bash/zsh completion script derived from COMMAND_MAP + plugin commands.

Usage:

eval "$(php bin/moko completion:bash)"
# or
php bin/moko completion:bash > /etc/bash_completion.d/moko

Should complete:

  • Command names (moko rel -> release:*)
  • Common flags (--path, --dry-run, --verbose, --json)

Acceptance Criteria

  • completion:bash command generates valid bash completion
  • completion:zsh command generates valid zsh completion
  • Completes all COMMAND_MAP + plugin commands
  • Completes common flags
## Problem With 55+ commands (and growing), users must remember exact command names or run php bin/moko list. No tab completion exists. ## Proposal Add a completion:generate command that outputs a bash/zsh completion script derived from COMMAND_MAP + plugin commands. Usage: ```bash eval "$(php bin/moko completion:bash)" # or php bin/moko completion:bash > /etc/bash_completion.d/moko ``` Should complete: - Command names (moko rel<TAB> -> release:*) - Common flags (--path, --dry-run, --verbose, --json) ## Acceptance Criteria - [ ] completion:bash command generates valid bash completion - [ ] completion:zsh command generates valid zsh completion - [ ] Completes all COMMAND_MAP + plugin commands - [ ] Completes common flags
jmiller added the buildpriority: low labels 2026-05-31 14:21:15 +00:00
Author
Owner

Branch created: feature/239-feat-cli-add-bash-zsh-tab-completion-for

git fetch origin
git checkout feature/239-feat-cli-add-bash-zsh-tab-completion-for
Branch created: [`feature/239-feat-cli-add-bash-zsh-tab-completion-for`](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/src/branch/feature/239-feat-cli-add-bash-zsh-tab-completion-for) ```bash git fetch origin git checkout feature/239-feat-cli-add-bash-zsh-tab-completion-for ```
Author
Owner

Tab completion implemented in cli/completion.php, registered as completion command.

Usage:

eval "$(php bin/moko completion bash)"
php bin/moko completion zsh > ~/.zsh/completions/_moko

Parses COMMAND_MAP keys via regex (no eval). Completes command names and common flags (--help, --verbose, --quiet, --dry-run, --json, --no-color, --path).

Tab completion implemented in `cli/completion.php`, registered as `completion` command. Usage: ```bash eval "$(php bin/moko completion bash)" php bin/moko completion zsh > ~/.zsh/completions/_moko ``` Parses COMMAND_MAP keys via regex (no eval). Completes command names and common flags (--help, --verbose, --quiet, --dry-run, --json, --no-color, --path).
Sign in to join this conversation.
No labels build priority: low
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/moko-platform#239