DewConfig in core is now a thin YamlMap wrapper. Feature-specific config classes live in their own packages and expose themselves via Dart extensions: - KanbanConfig, ColumnConfig, TicketTypeConfig + KanbanDewConfig extension moved to packages/kanban/lib/src/kanban_config.dart - McpConfig + McpDewConfig extension added to packages/mcp/lib/src/mcp_config.dart - DewConfig.fromYaml() now trivially wraps the raw YamlMap - All call sites unchanged: context.config.kanban.* / context.config.mcp.* - Added yaml dependency to dew_mcp pubspec - Updated core test to validate raw yaml instead of typed fields - Fixed cross-suite Directory.current isolation (existing issue, not introduced) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
11 lines
503 B
Markdown
11 lines
503 B
Markdown
---
|
|
id: DEW-0007
|
|
title: "Config refactor: DewConfig.raw + per-package extensions"
|
|
type: story
|
|
created: 2026-04-23T23:37:36.822736Z
|
|
links:
|
|
- id: DEW-0001
|
|
type: child_of
|
|
---
|
|
|
|
DewConfig in core becomes a thin wrapper: `class DewConfig { final YamlMap raw; }`. Each package adds a Dart extension with a typed getter (e.g. KanbanDewConfig, McpDewConfig). KanbanConfig/ColumnConfig/TicketTypeConfig move to dew_kanban; McpConfig moves to dew_mcp. Call sites unchanged: context.config.kanban.prefix etc.
|