Migration from 0.1¶
Drydock 0.2 refactored the tooling into an installable package. Existing scripts and configurations still work, but we recommend updating.
The New Way (Recommended)¶
Install the package:
Use the CLI:
Configure MCP in ~/.claude/settings.json:
Backward Compatibility¶
All old paths still work with a deprecation notice:
python Tools/analyzers/codemap.py /path/to/project
# (warning: this path is deprecated; use 'drydock codemap' instead)
The legacy MCP path also works:
{
"mcpServers": {
"drydock": {
"command": "python",
"args": ["/path/to/Drydock/Tools/mcp_server.py"]
}
}
}
Breaking Changes¶
Flags¶
| Old | New | Notes |
|---|---|---|
--json |
(removed) | JSON is now the default for all tools |
--skip-boundaries |
--skip boundaries |
Changed to comma-separated list |
--markdown on dependency_analyzer |
--markdown |
Still works; now consistent across all tools |
Output Fields¶
The context analyzer (formerly context_compiler) output now uses consistent field names:
| Old | New | Notes |
|---|---|---|
total_source_files |
total_files (in boundaries) |
More accurate |
dependencies.unwanted |
(removed) | Filter by type instead |
Tool Names¶
All analyzer names are now singular and consistent:
| 0.1 File | 0.2 Name | Notes |
|---|---|---|
codemap.py |
codemap |
No change |
context_compiler.py |
context |
Shortened |
boundary_detector.py |
boundaries |
Plural to match group |
interface_extractor.py |
interfaces |
Plural |
dependency_analyzer.py |
dependencies |
Plural |
structure_analyzer.py |
structure |
No change |
platform_detector.py |
platforms |
Plural |
git_analyzer.py |
git |
Shortened |
Use drydock list to see all available names.
MCP Tool Naming¶
All MCP tools are now consistently named drydock_<analyzer>:
| 0.1 | 0.2 | Example |
|---|---|---|
drydock_codemap |
drydock_codemap |
No change |
drydock_context |
drydock_context |
No change |
drydock_boundaries |
drydock_boundaries |
Changed from irregular |
| (7 tools) | (8 tools) | Added drydock_git |
Configuration¶
If you have custom MCP configurations pointing to the old path, update them:
Old:
New:
The old path still works but is deprecated.
Installing Extras¶
Drydock 0.2 uses optional dependencies:
# Core only (pure Python, no external deps)
pip install -e .
# For MCP server
pip install -e ".[mcp]"
# For development
pip install -e ".[dev]"
# For documentation
pip install -e ".[docs]"
# Everything
pip install -e ".[mcp,dev,docs]"
Previously, you had to pip install mcp separately if you wanted the MCP server.
Language Support¶
In 0.1, C# and Java claimed "Partial" interface support that did not exist. Both are now fully implemented using regex:
- C#:
using, namespace, public class/interface/method extraction - Java:
import, package, public class/interface/method extraction
Run drydock languages to see current support.
Budget Flag¶
The --budget flag on context_analyzer was documented but did nothing. It now genuinely trims the output and reports what was dropped:
drydock context /path/to/project --budget 1000
# Returns <= 1000 lines of output, with "trims_applied" explaining what was cut
What Didn't Change¶
- Philosophy: Still decompartmentalization, analysis, extraction, synthesis
- Nautical framing: drydock, ship yard, ocean — it's your identity
- JSON-first: All tools default to JSON for AI consumption
- Stdlib-only: Core has zero external dependencies
- Non-destructive: Analyzers never modify projects
- License: Apache 2.0