Files
vibe-kanban/frontend
Alex Netsch 4535149405 Find installed executors (vibe-kanban) (#610)
* feat: add availability check for coding agents and set smart defaults for new users

* Add executor discovery (vibe-kanban d65d61aa)

Plan: Add executor discovery with appropriate checks
Understanding
You're absolutely right! Checking if npx is available is useless for Opencode/Qwen since it doesn't tell us if those specific agents have been set up. We should follow the pattern used by other executors:

Binary-based executors (like Cursor): Check if the binary exists
NPX-based executors (like Claude, Gemini, Opencode, Qwen): Check for their settings files
Implementation Plan
1. Cursor executor (cursor.rs, after line 407)
Since Cursor uses a standalone binary:

async fn check_availability(&self) -> bool {
    utils::shell::resolve_executable_path("cursor-agent").is_some()
}
Import needed: Add shell::resolve_executable_path to the utils import
2. Opencode executor (opencode.rs, after line 188)
Follow the pattern of other NPX-based executors - check for settings file:

async fn check_availability(&self) -> bool {
    self.default_mcp_config_path()
        .map(|path| path.exists())
        .unwrap_or(false)
}
This will check for the opencode.json file in the appropriate location (XDG on Unix, config_dir on Windows).

3. QwenCode executor (qwen.rs, after line 140)
Same approach as other NPX-based executors:

async fn check_availability(&self) -> bool {
    self.default_mcp_config_path()
        .map(|path| path.exists())
        .unwrap_or(false)
}
This will check for ~/.qwen/settings.json.

Why this approach is correct:
Cursor: Has a specific binary that must be installed → check for binary
Opencode/Qwen: Are NPX-based like Claude/Gemini → check for settings files
Consistency: Follows the existing pattern where NPX-based executors check for settings files
Meaningful detection: Settings files indicate the agent has been configured/used before, which is what we want for "availability"
This gives us meaningful availability detection that matches the existing patterns in the codebase.

* Remove duplicated config paths (vibe-kanban 207e0410)

In  some executors, like crates/executors/src/executors/amp.rs , Paths for checking availability and mcp server are identical but not reused. We should not duplicate code. Consider changing the default availability check to just check for the mcp config

* feat: implement recommended executor profile retrieval for new users

* fmt
2025-09-03 18:14:50 +01:00
..
2025-07-11 15:57:30 +01:00
2025-06-25 09:36:07 +01:00
2025-06-14 15:14:08 -04:00
2025-08-27 23:59:26 +01:00
2025-08-27 23:59:26 +01:00
2025-08-27 23:59:26 +01:00
2025-06-14 15:14:08 -04:00
2025-08-28 16:34:55 +01:00
2025-06-14 16:26:48 -04:00
2025-06-14 15:14:08 -04:00
2025-07-04 11:11:45 +02:00