Skip to content

Feature: Optional tool registration — only enable needed tools #2

@mystery4f

Description

@mystery4f

Problem

@capyup/capy-tools registers all tools unconditionally. Several tools conflict with other community packages or pi's built-in tools:

Tool Conflict
todo Conflicts with @juicesharp/rpiv-todo and pi's built-in todo
ask_user / ask_question / ask_questionnaire Overlap with pi's built-in ask / ask_user_question
fetch Overlap with pi's built-in web_fetch / batch_web_fetch
enable-builtin-search Redundant when fffind / ffgrep are already active
sourcegraph Overlap with code_search / codegraph MCP

A user who only wants read_block + symbol_outline + apply_patch + repo_map currently has no way to load just those four — the entire bundle comes in and causes conflicts.

Proposed Solution

Add a configuration option (e.g. in ~/.pi/agent/capy-tools.json) to selectively enable/disable individual tools:

{
  "tools": {
    "read_block": true,
    "symbol_outline": true,
    "repo_map": true,
    "apply_patch": true,
    "todo": false,
    "ask_user": false,
    "ask_question": false,
    "ask_questionnaire": false,
    "fetch": false,
    "enable_builtin_search": false,
    "sourcegraph": false
  }
}

Also support this via /capy-tools-settings UI panel — add a "Tools" tab with toggle switches.

Alternative

Split into separate npm packages (e.g. @capyup/read-block, @capyup/apply-patch) so users install only what they need.

Environment

  • pi: latest
  • capy-tools: latest
  • OS: Windows

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions