Skip to content

✨ feat: add configurable tool path resolution#59

Merged
vaayne merged 9 commits intomainfrom
feat/tool-resolution-settings
Apr 13, 2026
Merged

✨ feat: add configurable tool path resolution#59
vaayne merged 9 commits intomainfrom
feat/tool-resolution-settings

Conversation

@vaayne
Copy link
Copy Markdown
Owner

@vaayne vaayne commented Apr 13, 2026

Summary

  • add shared binary resolution for tmux, lazygit, and yazi
  • persist explicit tool path overrides in Settings > Tools
  • use resolved local executable paths when launching companion tools and tmux-backed flows

Why

Issue #54 reports Mori failing to detect tmux installed in a custom Homebrew prefix like ~/homebrew/bin/tmux. The root problem was broader than tmux availability: different code paths used different PATH assumptions, and local launches for tmux/lazygit/yazi still depended on the app's inherited environment.

This change introduces a single resolver with explicit user overrides, common package-manager fallback directories, and PATH lookup, then applies it consistently across tmux detection and local tool launching.

Changes

  • add ToolSettings persistence in MoriCore
  • add shared BinaryResolver in MoriCore
  • update TmuxCommandRunner to use configured paths + shared resolution
  • add Settings > Tools UI for tmux/lazygit/yazi path overrides
  • update local tool detection to use the shared resolver instead of /usr/bin/which
  • update local command launches to use resolved executable paths
  • add tests for tool settings + binary resolution
  • update changelog and localizations

Validation

  • mise run test:core
  • mise run test:tmux
  • mise run test
  • swift build -c release --product Mori

Closes #54

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b82f9e9749

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Sources/Mori/App/AppDelegate.swift Outdated
Comment thread Sources/Mori/App/WorkspaceManager.swift
@vaayne
Copy link
Copy Markdown
Owner Author

vaayne commented Apr 13, 2026

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 012f777af5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Packages/MoriCore/Sources/MoriCore/Tools/BinaryResolver.swift Outdated
Comment thread Packages/MoriCore/Sources/MoriCore/Tools/BinaryResolver.swift Outdated
@vaayne vaayne merged commit 29262a5 into main Apr 13, 2026
5 checks passed
@vaayne vaayne deleted the feat/tool-resolution-settings branch April 13, 2026 06:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: tmux not found

1 participant