Commit graph

2 commits

Author SHA1 Message Date
7b83572f7a Unified command-tool registration via DewToolCommand mixin
- Add DewToolCommand mixin that auto-derives MCP tool JSON Schema from
  ArgParser, eliminating the need to define CLI commands and MCP tools
  separately
- Add schemaFromArgParser() to generate JSON Schema from ArgParser options
- Add CommandRegistry.mcpTools recursive collector for all DewToolCommand
  subcommands
- Refactor all kanban subcommands to use the mixin; switch get/update/delete
  from positional rest args to --id / -i option for schema compatibility
- Promote list to a proper CLI subcommand (was MCP-only before)
- Add search, comment, and config subcommands (CLI + MCP tools)
- Add TicketStore.addComment() for non-destructive comment appending
- Simplify mcp.registerCommands() to take only CommandRegistry
- Simplify CLI entry point (no more KanbanToolProvider/McpToolRegistry)
- Delete stale files: kanban_tool_provider.dart, mcp_tool_provider.dart,
  mcp_tool_registry.dart (superseded by DewToolCommand mixin)
- Add tools/mcp_client.dart debug client for manual MCP server testing
- Update .vscode/mcp.json with correct server config

All 26 tests pass, dart analyze clean.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-23 16:30:43 -04:00
71d5fc0f75 Add MCP debug client and VS Code MCP config
- tools/mcp_client.dart: spawns the compiled dew binary, connects via
  stdioChannel, initializes the MCP handshake, lists all tools, and calls
  kanban_list_tickets — useful for verifying the server without a real client
- .vscode/mcp.json: proper VS Code MCP server config using ${workspaceFolder}
  to point at the compiled binary with 'mcp serve' args

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-23 16:13:53 -04:00