#1641
fix(install): symlink into ~/.local/bin and update all existing shell profiles
Summary
After running scripts/install.sh, strix often reports command not found in:
- Already-open terminal sessions, IDE terminals, and AI coding agents where
~/.local/binis already on$PATH(via XDG / Ubuntu.profile/pipx/uv), because~/.strix/binis a new directory requiring a shell reload. - Login and non-interactive shells (e.g., when both
~/.bashrcand~/.profileor~/.zshrcand~/.zshenvexist), becausesetup_path()broke after the first matching config file (~/.bashrc), which exits early in non-interactive shells before reaching the appendedexport PATH=...line.
Changes
- Update all existing shell config files for the active shell (e.g. both
~/.bashrcand~/.profile, or~/.zshrcand~/.zshenv) instead of stopping at the first file found. - Symlink
~/.local/bin/strix->~/.strix/bin/strixon POSIX systems when~/.local/binexists or is already on$PATH, makingstriximmediately available in current terminals and non-interactive agent environments without needing to restart the shell. - Preserve the symlink on upgrades/re-runs by skipping symlinks in
check_existing_installation()andverify_installation()whose target resolves to$INSTALL_DIR/strix. - Tests: Add
test_installer_symlinks_local_bin_and_updates_all_existing_shell_configsintests/test_install_script.py.
Activity
4greptile-apps[bot]reviewed6d ago
[Medium impact] The changes affect how Strix is found after installation in users' shells.
Fix the skipped startup-file repairs and fatal optional-link errors before merging.
Findings
Fix with agent prompt
Summary
The installer now updates all existing startup files for the selected shell and adds a link in
~/.local/bin. The new test checks both changes and a repeat install.~/.local/bincommand path.Reviews (1) · Last reviewed commit: "fix(install): symlink into ~/.local/bin ..." · Reviewed by Greptile