Skip to content

feat(init)!: install configured key bindings by default #47

Closed

Description

@benbenbang

Parent

Part of #43. Depends on #44, #45, and #46.

Summary

Make configured navigation key bindings part of normal shell initialization while retaining an explicit one-shot opt-out.

CLI behavior

cj init zsh                         # includes configured binding
cj init zsh --no-setup-key-binding  # wrapper/completion only

Acceptance criteria

  • cj init <shell> installs the configured binding by default unless its behavior chain is empty
  • add --no-setup-key-binding and expose it in generated CLI completions
  • decide whether the old positive --setup-key-binding remains as a compatibility no-op or is removed before v1, and document the decision
  • the opt-out affects only the configurable Ctrl/Alt+O binding, never cd -jw<Tab>
  • dependency checks happen when the widget is invoked, allowing install/removal of zoxide or fzf without regenerating integration
  • do not add cj --keybinding-rehash; TOML changes continue to use cj init <shell> -o <path> followed by reload/restart
  • generated output remains deterministic for the same configuration
  • README examples, migration notes, and Bash/Zsh/Nushell/PowerShell CLI completions reflect the new default

Activity

  1. ptah-bw-technical-app commented on Sep 10, 2026

    @ptah-bw-technical-app
    Contributor

    🎉 This issue has been resolved in version 0.4.0 🎉

    The release is available on GitHub release

    Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions