Skip to main content

Drydock — nautical CLI coding agent

Project description

DryDock

Python Version License

         |    |    |
        )_)  )_)  )_)
       )___))___))___)\
      )____)____)_____)\\
    _____|____|____|____\\\__
---\                   /----
    \_________________/
  ~~~~ ~~~ ~~~~ ~~~ ~~~~
   ~~~ ~~~~ ~~~ ~~~ ~~~

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-presentation for PowerPoint generation.
  • MCP Support: Connect Model Context Protocol servers for extended capabilities.
  • Safety First: Tool execution approval with --dangerously-skip-permissions for 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

  1. Navigate to your project directory and run:

    drydock
    
  2. First run creates a config at ~/.drydock/config.toml and prompts for your API key.

  3. 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 mode
  • Ctrl+O — Toggle tool output
  • Ctrl+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:

  1. Custom paths in config.toml via skill_paths
  2. Project .drydock/skills/ or .agents/skills/
  3. Global ~/.drydock/skills/
  4. 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

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

drydock_cli-1.3.4.tar.gz (591.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

drydock_cli-1.3.4-py3-none-any.whl (354.0 kB view details)

Uploaded Python 3

File details

Details for the file drydock_cli-1.3.4.tar.gz.

File metadata

  • Download URL: drydock_cli-1.3.4.tar.gz
  • Upload date:
  • Size: 591.0 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

Hashes for drydock_cli-1.3.4.tar.gz
Algorithm Hash digest
SHA256 6832a2159e1bcc1c4b342aa047559cda6b422c7057f31f2409ad5ff53efb5f92
MD5 462fded87d23497d9fd62143ab063fad
BLAKE2b-256 4e3beaf606710aeb42cb3d53d7e7fafd62541b81ec90137eb0adc7cce4134616

See more details on using hashes here.

File details

Details for the file drydock_cli-1.3.4-py3-none-any.whl.

File metadata

  • Download URL: drydock_cli-1.3.4-py3-none-any.whl
  • Upload date:
  • Size: 354.0 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

Hashes for drydock_cli-1.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e0cc2b30eaa0f5483d8da6032a671f45995f66acbcd0209867f0f91eb07a4e36
MD5 a68ab2664c5256f2f4a7fe672a2a81d9
BLAKE2b-256 a36676f21681bec8ca166170d52b04d9c13bf1addee45b4d2636ee7d4943f6a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page