dew/pubspec.yaml
Chris Hendrickson 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

47 lines
1.5 KiB
YAML

name: dew_workspace
description: A Dart workspace for the dew project management tool.
version: 0.1.0
# repository: https://github.com/my_org/my_repo
publish_to: none
environment:
sdk: ^3.11.4
workspace:
- packages/cli
- packages/core
- packages/kanban
- packages/mcp
dev_dependencies:
file: ^7.0.1
lints: ^6.0.0
melos: ^7.0.0
melos:
scripts:
analyze:
description: Run static analysis across workspace packages.
run: melos exec --fail-fast -- dart analyze
test:
description: Run package tests across workspace packages that define tests.
run: melos exec --fail-fast --dir-exists=test -- dart test
format:
description: Format the workspace.
run: dart format .
dew:
description: >-
Run the Dew CLI via 'dart run' (for development). Pass subcommands and
args directly (e.g. melos run dew kanban). Use 'help <command>' for
usage (e.g. melos run dew help kanban).
NOTE: 'mcp serve' must be run via the compiled binary (see compile
script) because melos pollutes stdout, which breaks the stdio MCP
transport.
run: dart run packages/cli/bin/dew.dart
compile:
description: >-
Compile the Dew CLI to a native binary at .project/toolchain/bin/dew
(.project/toolchain/bin/dew.exe on Windows). Use the compiled binary to
run 'dew mcp serve' from your MCP client config — this keeps stdout
clean for the JSON-RPC channel.
run: dart compile exe packages/cli/bin/dew.dart -o .project/toolchain/bin/dew