Description
The directory argument on the test, packages_get, and packages_check_licenses
MCP tools is appended as a positional CLI argument. Those commands resolve their
target package from Directory.current and treat positionals as test/target paths, so
the value never changed where the command ran.
In a monorepo, the tools therefore execute from the MCP server's current directory
(commonly a folder with no pubspec.yaml) and fail with exit code 66 — regardless of
whether a relative or absolute directory was supplied. This defeats the purpose of the
directory/path parameter introduced for monorepo support (VeryGoodOpenSource/vgv-ai-flutter-plugin#70).
Steps To Reproduce
- Have an agent run a very_good_cli MCP 'test' tool on a subfolder of a monorepo project which has no root
pubspec.yaml.
- Get an exit code 66.
Expected Behavior
Use the directory argument as the working directory, not a parameter to pass on to the underlying tool.
Additional Context
I and Claude have already patched my local copy and it now works as expected, so I can easily create a PR from that.
Description
The
directoryargument on thetest,packages_get, andpackages_check_licensesMCP tools is appended as a positional CLI argument. Those commands resolve their
target package from
Directory.currentand treat positionals as test/target paths, sothe value never changed where the command ran.
In a monorepo, the tools therefore execute from the MCP server's current directory
(commonly a folder with no
pubspec.yaml) and fail with exit code 66 — regardless ofwhether a relative or absolute
directorywas supplied. This defeats the purpose of thedirectory/pathparameter introduced for monorepo support (VeryGoodOpenSource/vgv-ai-flutter-plugin#70).Steps To Reproduce
pubspec.yaml.Expected Behavior
Use the
directoryargument as the working directory, not a parameter to pass on to the underlying tool.Additional Context
I and Claude have already patched my local copy and it now works as expected, so I can easily create a PR from that.