Drydock turns specifications into tested working software.
Specification driven. Agile. Test driven. Dependency-aware builds. Dedicated web console. Enterprise guardrails.
No API keys — Drydock runs on your existing Claude or Codex subscription.
▶ START HERE — Quick Start
Specification · Installation · Comparison matrix · Overview deck · Contributing
Overview
Drydock is a repeatable method to turn messy specifications into tested working software.
Drydock imports your source material, defines stories using agile best practices, and then decomposes your sources into typed blueprints (stories) related using a graph database. Drydock builds with a context aware compression based algorithm and tests stories with deterministic test driven acceptance criteria.
Features
- Builds working software using small, cheap models
- Agile Methodology to decompose buildable stories and for product owner / llm review.
- Test driven development with acceptance criteria embedded in each Story/Blueprint.
- Dependency graph relates stories and orders builds.
- QuarterDeck web console to answer question and review the process
- Runs on existing subscriptions
- Ingests your existing specs and notes in any format
- Change management — edit the spec, rebuild only what's affected
- Context compression and Grouping for context aware builds.
- Enterprise guardrails with embedded branding, best practices, and build gates
- Generates consistent apps and documentation
Drydock Documentation
| Resource | |
|---|---|
| Quick Start | |
| User Installation Guide | |
| Drydock Specification | |
| CHANGELOG.md | — |
| CONTRIBUTING.md | — |
Getting started
Prerequisites
- Python 3.11 or later —
python3 --version - Install
uvcurl -LsSf https://astral.sh/uv/install.sh | sh(macOS/Linux),brew install uvwinget install --id=astral-sh.uv -e(Windows)
-
claudeorcodexCLI, authenticated, in yourPATH(claude --version, codex --version)
Install Drydock
uv tool install drydock-sdd # or: pipx install drydock-sdd
drydock --version
Configure Drydock
export PROJECTS="$HOME/projects" # main directory you keep your code/projects/git
mkdir -p "$PROJECTS/drydock" # the drydock workspace
drydock config set llm_provider claude # or codex
drydock config set drydock_model sonnet # or gpt-5.4 or other models
drydock config set drydock_workspace "$PROJECTS/drydock"
drydock config set drydock_build_directory "$PROJECTS"
drydock config show
Bounds on a build's acceptance runs are configurable, and each is also a drydock build and
drydock uat flag that overrides the configured value for one run.
| Key | Default | Bounds |
|---|---|---|
repair_attempts |
6 | Repair passes a failed block may spend (0 disables repair) |
repair_stall_limit |
2 | Consecutive passes without acceptance progress before a block stops |
sandbox_mem_limit |
4096 MB | Address space for an acceptance run and everything it spawns |
capture_output_limit |
8 MB | Output held from one acceptance command before it fails the gate |
drydock config set repair_attempts 12 # a target that converges slowly
drydock build MyApp --capture-output-limit 64 # a legitimately loud conformance suite
Build workflow
init → import → analyze → plan → build → refit → build
| Stage | Command | What it does |
|---|---|---|
| init | drydock init <Target> |
Initialize Workspace Creates: targets/<Target> |
| import | drydock import <Target> |
import source material Creates: targets/<Target>/sources |
| analyze | drydock analyze <Target> |
Decompose into stories, acceptance criteria, questions, and blockers. Creates: ANALYSIS.md, SEA_TRIALS.md, BLOCKERS.md, questionnaires. |
| plan | drydock plan <Target> |
Create story blueprints and a graph datbase. Creates: blueprints/ and MANIFEST.md.drydock plan verify <Target> reports acceptance criteria that cannot run; drydock plan repair <Target> makes them runnable in one pass. |
| build | drydock build <Target> |
Executes context-aware builds gated by deterministic acceptance criteria. Creates: \$drydock_build_directory/<Target> with working software. |
| refit | drydock refit <Target> |
git diff changes into change tickets and Manifest nodes. Updates: Blueprints/, MANIFEST.md; continue with a build. |
The Drydock CLI
ai calls your subscription CLI agent; all other commands are deterministic.
# ── S ── SET UP ──────────────────────────────────────────────────────────
drydock config show # Show configuration values and sources
drydock config set <var> <value> # Set a configuration value
drydock init MyApp # Create the target workspace
drydock status # Status dashboard
drydock status MyApp # Summary and plan state
# ── A ── ANALYZE ─────────────────────────────────────────────────────────
drydock import MyApp <file|dir> # Import sources into the workspace
ai drydock analyze MyApp # Epic decomposition into stories & blockers
drydock validate MyApp # Validate Build Plan
ai drydock score spec MyApp # Audit imported raw specifications
drydock run quarterdeck MyApp # Web interface
ai drydock plan MyApp # Grooming and dependency graph
drydock plan verify MyApp # Report acceptance criteria that cannot run
ai drydock plan repair MyApp # One pass making those criteria runnable
# ── I ── IMPLEMENT ───────────────────────────────────────────────────────
ai drydock build MyApp # Iterative context-aware process
ai drydock score release MyApp # Score project success criteria (EARS)
# ── L ── LOOP ────────────────────────────────────────────────────────────
ai drydock refit MyApp # Diff -> ticket -> dependency graph
Additional Commands
drydock build status MyApp # Show build state
ai drydock uat [Project] # Scored UAT testing
drydock uat status <Project> # Current run, failure, and recovery command
ai drydock uat resume <Project> # Resume the current failed run
ai drydock uat resume <Project> --from <stage> # Re-enter a named lifecycle stage
drydock uat report [Project] # Rebuild UAT HTML proof kits
drydock uat <Project> --steps # List a run's numbered steps and their stages
ai drydock uat <Project> --from-step <n> # Resume at the stage that owns recorded step <n>
ai drydock document MyApp # Project documentation automation
ai drydock document generate MyApp # AI pass only
drydock document assemble MyApp # Assembly only
drydock publish <Source.md> # Render Markdown to HTML/PDF
ai drydock rigging compact # Automanage compaction
drydock rigging verify # Verify rigging compliance
drydock score ac MyApp # Verify Story acceptance criteria
drydock score build MyApp # Post-build report: repairs, tokens, cache
drydock score report MyApp # Publish the build receipt with its evidence
drydock score MyApp # Summarize the scores above: last run, result,
# and output file
ai drydock score drydock # Adversarial self-assessment
Each selected uat/<Project>/ directory is an independent Git repository. drydock uat, resume
stages, and drydock uat report initialize it when absent and commit all kit changes before exit.
The QuarterDeck Web Server
QuarterDeck is the Agile web surface between the Commander (product owner) and Crew (LLM agents).
drydock run quarterdeck <Target>
Glossary
| Term | Meaning |
|---|---|
| Target | One project managed by Drydock, held in its own workspace directory. |
| Blueprint | The typed specification for one story: scope, contracts, and acceptance criteria. |
| Manifest | MANIFEST.md, the dependency graph that relates and orders the Blueprints. |
| Sea Trials | Product-level objectives and proof-of-delivery criteria — the release gate. |
| Soundings | The per-story acceptance-criterion verification board. |
| Scorecard | SCORECARD.md, the recorded release scoring results, verdicts, and blockers. |
| QuarterDeck | The web console used to review and direct each phase. |
| Commander | You — the product owner who approves the work. |
| Crew | The LLM agents that perform the work. |
Contributing
Help test Drydock on real projects. Open issues. See CONTRIBUTING.md.
License (See LICENSE)
MIT License
Copyright (c) 2026 Web Cloud Studio
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
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_sdd-0.2.0.tar.gz.
File metadata
- Download URL: drydock_sdd-0.2.0.tar.gz
- Upload date:
- Size: 979.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","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 |
5a42264f4995a7cd608023d7514efc9b60a902138ac50ac4f9798040c1127e7c
|
|
| MD5 |
d979886072532df1f7a8a14d46911981
|
|
| BLAKE2b-256 |
7421ab3b666ce60fc195ad6d734e1b6a765741d8685929f085f9380c89ab6b3e
|
File details
Details for the file drydock_sdd-0.2.0-py3-none-any.whl.
File metadata
- Download URL: drydock_sdd-0.2.0-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","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 |
4d7db76db8e65852a87307327f3ae09fd0dc9f6295f80c95d829a922c27f4bae
|
|
| MD5 |
14abb8b452752517b5a6eae27a8b742d
|
|
| BLAKE2b-256 |
ef7246c4611a793d4899879414cc04a77de3e5c5085671cb79bfc32592bc1925
|