Drydock — nautical CLI coding agent
Project description
DryDock
| | |
)_) )_) )_)
)___))___))___)\
)____)____)_____)\\
_____|____|____|____\\\__
---\ /----
\_________________/
~~~~ ~~~ ~~~~ ~~~ ~~~~
~~~ ~~~~ ~~~ ~~~ ~~~
Nautical CLI coding agent. Chart your course. Execute with precision.
DryDock is a command-line coding assistant that works with any LLM provider. It provides a conversational interface to your codebase, allowing you to use natural language to explore, modify, and interact with your projects through a powerful set of tools.
[!WARNING] DryDock works on Windows, but we officially support and target UNIX environments.
Install
pip install drydock-cli
Or with uv:
uv tool install drydock-cli
Features
- Interactive Chat: A conversational AI agent that understands your requests and breaks down complex tasks.
- Powerful Toolset: Read, write, and patch files. Execute shell commands. Search code with
grep. Manage todos. Delegate to subagents. - Project-Aware Context: DryDock automatically scans your project's file structure and Git status.
- Conda/Pip Support: Auto-approves
pip install,conda install,pytest, and other dev commands. - Bundled Skills: Ships with skills like
create-presentationfor PowerPoint generation. - MCP Support: Connect Model Context Protocol servers for extended capabilities.
- Safety First: Tool execution approval with
--dangerously-skip-permissionsfor full auto-approve.
Built-in Agents
default: Standard agent that requires approval for tool executions.plan: Read-only agent for exploration and planning.accept-edits: Auto-approves file edits only.auto-approve: Auto-approves all tool executions.
drydock --agent plan
Quick Start
-
Navigate to your project directory and run:
drydock
-
First run creates a config at
~/.drydock/config.tomland prompts for your API key. -
Start chatting:
> Can you find all TODO comments in this project?
Usage
Interactive Mode
drydock # Start interactive session
drydock "Fix the login bug" # Start with a prompt
drydock --continue # Resume last session
drydock --resume abc123 # Resume specific session
Keyboard shortcuts:
Ctrl+C— Cancel current operation (double-tap to quit)Shift+Tab— Toggle auto-approve modeCtrl+O— Toggle tool outputCtrl+G— Open external editor@— File path autocompletion!command— Run shell command directly
Programmatic Mode
drydock --prompt "Analyze the codebase" --max-turns 5 --output json
drydock --dangerously-skip-permissions -p "Fix all lint errors"
Trust Folder System
DryDock includes a trust folder system. When you run DryDock in a directory with a .drydock folder, it asks you to confirm trust. Managed via ~/.drydock/trusted_folders.toml.
Configuration
DryDock is configured via config.toml. It looks first in ./.drydock/config.toml, then ~/.drydock/config.toml.
API Key
drydock --setup # Interactive setup
export MISTRAL_API_KEY="your_key" # Or set env var
Keys are saved to ~/.drydock/.env.
Consultant Model
Set a smarter model for the /consult command:
# In ~/.drydock/config.toml
consultant_model = "gemini-2.5-pro"
The consultant provides read-only advice — it never calls tools. Use /consult <question> to ask it. The response appears in your conversation so the local model can see it.
Custom Agents
Create agent configs in ~/.drydock/agents/:
# ~/.drydock/agents/redteam.toml
active_model = "devstral-2"
system_prompt_id = "redteam"
disabled_tools = ["search_replace", "write_file"]
drydock --agent redteam
Custom Prompts
Create markdown files in ~/.drydock/prompts/:
system_prompt_id = "my_custom_prompt"
Skills
DryDock discovers skills from:
- Custom paths in
config.tomlviaskill_paths - Project
.drydock/skills/or.agents/skills/ - Global
~/.drydock/skills/ - Bundled skills (shipped with the package)
MCP Servers
[[mcp_servers]]
name = "fetch_server"
transport = "stdio"
command = "uvx"
args = ["mcp-server-fetch"]
Custom DryDock Home
export DRYDOCK_HOME="/path/to/custom/home"
This affects where DryDock looks for config.toml, .env, agents/, prompts/, skills/, and logs/.
Slash Commands
Type /help in the input for available commands. Create custom slash commands via the skills system.
Session Management
drydock --continue # Continue last session
drydock --resume abc123 # Resume specific session
drydock --workdir /path/to/dir # Set working directory
Resources
- CHANGELOG
- CONTRIBUTING
- ACP Setup — Editor/IDE integration
License
Copyright 2025 Mistral AI (original work) Copyright 2026 DryDock contributors (modifications)
Licensed under the Apache License, Version 2.0. See LICENSE for details.
DryDock is a fork of mistralai/mistral-vibe (Apache 2.0). See NOTICE for attribution.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file drydock_cli-1.1.4.tar.gz.
File metadata
- Download URL: drydock_cli-1.1.4.tar.gz
- Upload date:
- Size: 584.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bf2465aac7d7d4b04500134630d31f6ed06bb239b6203b8a29a6d9089f1a0b7
|
|
| MD5 |
9c390793f5ceb6f13cab63437bad82bb
|
|
| BLAKE2b-256 |
53a81aef08ba81ca8b1cf7cad67dd207678497d2e3a0374ace2927c78315d49c
|
File details
Details for the file drydock_cli-1.1.4-py3-none-any.whl.
File metadata
- Download URL: drydock_cli-1.1.4-py3-none-any.whl
- Upload date:
- Size: 347.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c63c0f5bac3bb07a0745ff5e27e27821d514a5252669b98ebe707eb136ff6fa3
|
|
| MD5 |
b0f8de275e2011bf3cc7d2dfaf14df33
|
|
| BLAKE2b-256 |
9c9e86dca812e72a7d6e6eedecf83e46c60325365de14bcb049e18e91e2a2404
|