Repository navigation
feat(zsh): reach parity with the fish profile - #91
Conversation
Prepares the move from fish to zsh on every machine. - profile-helpers.zsh ports hbarbatdev, hrefactoria, gbarbatdev, grefactoria and herdr-screens. - cortex-dotfiles.zsh mirrors fish/conf.d/10-core.fish: per-OS PATH list, the Herdr clipboard guard, CORTEX_HOME/ROOT/MULTIPLEXER, GENTLE_AI_CHANNEL, ~/.gentle-ai/bin, and the fish defaults for PERSONAL_PROJECTS_DIR and TOOLS_DIR; `o` only on macOS. - Drop the gs() git-status function, which shadowed bin/gs. - install.sh links the shell fragment ~/.zshrc sources, which was unmanaged and could point at another checkout. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A9D7ph123Jn8iB1eGbr8Nz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A9D7ph123Jn8iB1eGbr8Nz
Fleet review (deepseek)Lens: evidence + test design. Ports the fish profile to zsh: per-OS PATH list, the #86 Herdr clipboard guard, project dirs, the Herdr/Ghostty profile helpers and install.sh now managing the shell fragment. I compared the diff against fish/conf.d/10-core.fish, zsh/zshrc and install.sh at this head: the PATH lists match element for element, the Suggestion (2)
Question (1)
Verdict: ready to merge |
Post-merge QA (glm)First step of the fish-to-zsh move: zsh/scripts/profile-helpers.zsh ports the Herdr/Ghostty profile launchers and herdr-screens with the same guards and messages, cortex-dotfiles.zsh mirrors the fish 10-core PATH order per OS (with the .local/go-(N) glob and unconditional ~/.local/bin), ports the Herdr clipboard guard from #86 (DISPLAY/WAYLAND_DISPLAY dropped only in local Herdr terminals), aligns PERSONAL_PROJECTS_DIR/TOOLS_DIR with fish, adds the CORTEX_ env block and removes the gs() alias that shadowed bin/gs. install.sh now manages the ~/.config/cortex-dotfiles/shell fragment. Syntax checks, isolated profile tests, the clipboard guard cases and install.sh --check pass. The PR body discloses the one unchecked box (not yet run on Linux at merge time); the follow-up PR #94 confirms all machines now run zsh, which covers that gap after the fact. No findings. Verdict: clean |
Post-merge QA (deepseek)Lens: evidence + test design. The parity port is faithful where it counts: the per-OS PATH list keeps the fish order, the Herdr clipboard guard keeps the same condition, the fragment link becomes managed so the shell reads the clone in place, and profile-helpers.zsh reproduces the four profile launchers and the screens helper with their checks. The test plan, though, only exercises the refusal branches of the two new interactive helpers and never their success path, and one refusal guard keys on a variable the linked issue never names. Suggestion (1)
Question (1)
Verdict: clean |
Summary
First step of moving every machine (Mac, agent-dev, agent-gentle) from fish to zsh. Fish keeps working unchanged; removing it comes in a later PR.
zsh/scripts/profile-helpers.zsh(new): portshbarbatdev,hrefactoria,gbarbatdev,grefactoriaandherdr-screenswith the same checks and messages.zsh/cortex-dotfiles.zshmirrorsfish/conf.d/10-core.fish:~/.gentle-ai/binDISPLAY/WAYLAND_DISPLAYin Herdr terminals outside SSH)CORTEX_HOME,CORTEX_ROOT,CORTEX_MULTIPLEXER,GENTLE_AI_CHANNEL=betaPERSONAL_PROJECTS_DIR/TOOLS_DIRdefaults now match fish (barbatdev/products,barbatdev/tools)oalias only on macOSgs()(git status), which shadowed thebin/gsworktree tool.install.shnow manages~/.config/cortex-dotfiles/shell/cortex-dotfiles.zsh, the fragment~/.zshrcsources. It was unmanaged; on the Mac it still points at an oldcortex-dotfiles-maincheckout.Test plan
zsh -n,bash -n install.shherdr-screens xandhbarbatdevinside Herdr fail with their messages;gsresolves to the command./install.sh --check: only new warning is the expected stale shell fragment link🤖 Generated with Claude Code
https://claude.ai/code/session_01A9D7ph123Jn8iB1eGbr8Nz