Commit graph

5 commits

Author SHA1 Message Date
bd40758bb2 feat(vault): complete command implementations and testing 2026-05-03 13:42:04 -04:00
c25f32dc12 feat(kanban): add dew kanban tui interactive board TUI
Add an interactive Trello-style kanban TUI powered by dart_console.

Features:
- Side-by-side column layout, adapts to terminal width
- Keyboard navigation: j/k (up/down), h/l or ←/→ (switch column)
- Move selected ticket between columns with < and >
- Ticket cards show ID, type badge (colour-coded), title, labels/milestone
- Scroll indicators (↑ N above / ↓ N below) when a column overflows
- Column headers highlighted in their configured colour; active column
  uses filled background + double-line border
- Live filter with / (fuzzy search across id, title, type, labels, body)
- Detail view (Enter): full ticket info, body and comments with word-wrap,
  scrollable with j/k
- r to reload tickets from disk without leaving the TUI
- Graceful terminal restoration on exit (Esc / q)
- Requires an interactive terminal; prints a clear error otherwise

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-25 03:02:39 -04:00
8d787235b9 Refactor filesystem access to package:file
Replace dart:io File/Directory with package:file abstractions so that
tests can use MemoryFileSystem instead of mutating the process-global
Directory.current.

- Add file: ^7.0.1 to core and kanban dependencies
- ProjectContext.find() accepts FileSystem fs parameter
- TicketStore, KanbanInitHook, InitCommand, all kanban commands accept
  FileSystem fs (defaulting to LocalFileSystem())
- KanbanCommand and registerCommands() thread fs to subcommands
- Tests rewritten to use MemoryFileSystem() — no Directory.current mutation
- Remove dart_test.yaml (concurrency: 1 no longer needed)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-23 22:26:09 -04:00
a74bd94547 Implement MCP tool registry and kanban tool provider
- Add McpTool + McpToolProvider interface to core
- Add McpToolRegistry to mcp package (aggregates providers)
- Add DewMcpServer (MCPServer + ToolsSupport via dart_mcp 0.5.0)
- Add 'mcp serve' subcommand — starts a real stdio MCP server
- Implement KanbanToolProvider with 5 tools:
  kanban_create_ticket, kanban_list_tickets, kanban_get_ticket,
  kanban_update_ticket, kanban_delete_ticket
- Wire McpToolRegistry + KanbanToolProvider in CLI
- 26 tests passing, dart analyze clean

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-23 15:29:46 -04:00
b3201fde7b chore: Initial Commit 2026-04-23 13:09:11 -04:00