Skip to content

refactor: rename 'tool' terminology to 'agent' or 'provider' #52

Description

@varkart

Problem

The codebase uses "tool" to mean two completely different things:

Usage Means
AiTool, tool_id, get_tools() A coding agent/provider (Claude Code, Cursor, Windsurf…)
MCP "tools" The callable functions an MCP server exposes

This creates confusion in code, UI copy, and user communication. A user reading "Open MCPs page" from inside a "tool" doesn't know if "tool" = the agent or the MCP function.

Proposed rename

AiTool / tool (the agent/provider) → Agent or Provider

Leaning toward Agent since the home page already calls them "Coding Agents".

Before After
AiTool (TypeScript type) Agent
tool_id field agent_id
get_tools() Tauri command get_agents()
AiToolDetector trait (Rust) AgentDetector
selectedTool in router state selectedAgent
tool-detail view name agent-detail
useTools hook useAgents
"Coding Agents" in UI (already correct) keep

Scope

Large but mechanical rename. Touches:

  • All Rust detector files (src-tauri/src/detectors/)
  • Rust models, commands in lib.rs
  • TypeScript types (src/types.ts)
  • Router state and actions (src/viewRouter.ts)
  • All React components that reference tool/AiTool
  • Tests

Approach

Do in one PR — partial renames are worse than none. Use sed/find-replace for the bulk, then verify TypeScript + Rust compile clean.

Not in scope

  • MCP "tool" terminology (MCP spec owns that word, we don't control it)
  • UI copy changes beyond what's already labelled incorrectly

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or improvement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions