- index.md: rewrite architecture section to reflect DewToolCommand mixin, CommandRegistry, and per-package config extension pattern - config.md: update default columns to backlog/doing/done - features/mcp.md: replace McpToolProvider references with DewToolCommand, add all 12 tools to the table, add link types table - features/kanban.md: replace stub with full docs covering storage layout, ticket format, CLI command reference, link types, and config Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
43 lines
2 KiB
Markdown
43 lines
2 KiB
Markdown
# Dew Documentation
|
|
|
|
Welcome to the documentation for the Dew project management tool!
|
|
|
|
## Contents
|
|
|
|
- [Configuration](./config.md) — Configuring Dew via `dew.yaml`
|
|
|
|
### Features
|
|
|
|
- [Kanban Board](./features/kanban.md) — Visualize and manage tasks in a column-based workflow
|
|
- [MCP Server](./features/mcp.md) — AI agent integration via the Model Context Protocol
|
|
|
|
## Package Architecture
|
|
|
|
Dew is structured as a Dart workspace with the following packages:
|
|
|
|
| Package | Description |
|
|
| ----------------- | ----------------------------------------------------------------------------------------------- |
|
|
| `packages/cli` | The `dew` command-line tool. Wires all packages together at startup. |
|
|
| `packages/core` | Shared foundation: `DewCommand`, `DewToolCommand` mixin, `CommandRegistry`, and `DewConfig`. |
|
|
| `packages/kanban` | Kanban board logic. Each command automatically registers itself as an MCP tool. |
|
|
| `packages/mcp` | The MCP server. Collects tools from `CommandRegistry` and serves them over stdio. |
|
|
|
|
### How commands become MCP tools
|
|
|
|
Every CLI command that mixes in `DewToolCommand` is automatically registered as an MCP tool — no separate registration needed. The mixin derives the JSON Schema for the tool's input from the command's own `ArgParser`, so argument definitions are written exactly once.
|
|
|
|
```
|
|
ArgParser definition
|
|
│
|
|
├─► dew kanban create (human CLI)
|
|
└─► kanban_create_ticket (MCP tool with schema)
|
|
```
|
|
|
|
### Config architecture
|
|
|
|
`DewConfig` in `core` is a thin wrapper around the raw YAML map. Feature packages add typed accessors via Dart extensions:
|
|
|
|
- `dew_kanban` defines `KanbanDewConfig` — exposes `context.config.kanban`
|
|
- `dew_mcp` defines `McpDewConfig` — exposes `context.config.mcp`
|
|
|
|
This keeps feature-specific config classes out of `core` while leaving all call sites unchanged.
|