dew/docs/index.md
Chris Hendrickson 198d65b7e2 Update stale documentation (DEW-0009)
- 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>
2026-04-23 19:56:08 -04:00

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.