drydock-sdd 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- drydock_sdd-0.1.0/.gitignore +50 -0
- drydock_sdd-0.1.0/LICENSE +11 -0
- drydock_sdd-0.1.0/PKG-INFO +240 -0
- drydock_sdd-0.1.0/QuarterDeck/README.md +430 -0
- drydock_sdd-0.1.0/QuarterDeck/app.py +1586 -0
- drydock_sdd-0.1.0/QuarterDeck/console.json +131 -0
- drydock_sdd-0.1.0/QuarterDeck/console.yaml +124 -0
- drydock_sdd-0.1.0/QuarterDeck/console.yaml.sample +63 -0
- drydock_sdd-0.1.0/QuarterDeck/data/.gitkeep +0 -0
- drydock_sdd-0.1.0/QuarterDeck/pages/initial-review.md +28 -0
- drydock_sdd-0.1.0/QuarterDeck/pages/overview.md +33 -0
- drydock_sdd-0.1.0/QuarterDeck/questionnaires/initial-direction.json +51 -0
- drydock_sdd-0.1.0/QuarterDeck/requirements.txt +5 -0
- drydock_sdd-0.1.0/QuarterDeck/sample/archived-note.md +8 -0
- drydock_sdd-0.1.0/QuarterDeck/sample/guide.md +51 -0
- drydock_sdd-0.1.0/QuarterDeck/sample/intent.md +19 -0
- drydock_sdd-0.1.0/QuarterDeck/sample/kickoff.json +36 -0
- drydock_sdd-0.1.0/QuarterDeck/sample/review.md +20 -0
- drydock_sdd-0.1.0/QuarterDeck/sample/tickets.json +52 -0
- drydock_sdd-0.1.0/QuarterDeck/tickets.json +95 -0
- drydock_sdd-0.1.0/README.md +209 -0
- drydock_sdd-0.1.0/Rigging/AUTHORING.md +76 -0
- drydock_sdd-0.1.0/Rigging/BRANDING_DOCUMENTATION.md +199 -0
- drydock_sdd-0.1.0/Rigging/BRANDING_MAIN.md +96 -0
- drydock_sdd-0.1.0/Rigging/BRANDING_POSTS.md +31 -0
- drydock_sdd-0.1.0/Rigging/BRANDING_WEBSITE.md +38 -0
- drydock_sdd-0.1.0/Rigging/BRANDING_WHITEPAPERS.md +106 -0
- drydock_sdd-0.1.0/Rigging/BUSINESS_RULES.md +547 -0
- drydock_sdd-0.1.0/Rigging/CLAUDE_RULES.md +290 -0
- drydock_sdd-0.1.0/Rigging/CLAUDE_RULES_compact.md +244 -0
- drydock_sdd-0.1.0/Rigging/README.md +48 -0
- drydock_sdd-0.1.0/Rigging/gitignore +106 -0
- drydock_sdd-0.1.0/Rigging/spec_template/ARCHITECTURE.md +38 -0
- drydock_sdd-0.1.0/Rigging/spec_template/COMPASS.md +32 -0
- drydock_sdd-0.1.0/Rigging/spec_template/DATABASE.md +53 -0
- drydock_sdd-0.1.0/Rigging/spec_template/FEATURE-Example.md +31 -0
- drydock_sdd-0.1.0/Rigging/spec_template/HOMEPAGE.md +43 -0
- drydock_sdd-0.1.0/Rigging/spec_template/IDEAS.md +8 -0
- drydock_sdd-0.1.0/Rigging/spec_template/METADATA.md +19 -0
- drydock_sdd-0.1.0/Rigging/spec_template/README.md +3 -0
- drydock_sdd-0.1.0/Rigging/spec_template/SCREEN-Example.md +40 -0
- drydock_sdd-0.1.0/Rigging/spec_template/UI-Component-Example.md +38 -0
- drydock_sdd-0.1.0/Rigging/spec_template/UI.md +27 -0
- drydock_sdd-0.1.0/Rigging/stack/README.md +245 -0
- drydock_sdd-0.1.0/Rigging/stack/alexa-skills-kit.md +137 -0
- drydock_sdd-0.1.0/Rigging/stack/aws-api-gateway.md +157 -0
- drydock_sdd-0.1.0/Rigging/stack/aws-dynamodb.md +202 -0
- drydock_sdd-0.1.0/Rigging/stack/aws-lambda.md +184 -0
- drydock_sdd-0.1.0/Rigging/stack/aws-s3.md +127 -0
- drydock_sdd-0.1.0/Rigging/stack/aws-sqs.md +135 -0
- drydock_sdd-0.1.0/Rigging/stack/bootstrap5.md +357 -0
- drydock_sdd-0.1.0/Rigging/stack/bootstrap5_compact.md +215 -0
- drydock_sdd-0.1.0/Rigging/stack/common.md +214 -0
- drydock_sdd-0.1.0/Rigging/stack/common_compact.md +153 -0
- drydock_sdd-0.1.0/Rigging/stack/django.md +489 -0
- drydock_sdd-0.1.0/Rigging/stack/fastapi.md +399 -0
- drydock_sdd-0.1.0/Rigging/stack/flask.md +550 -0
- drydock_sdd-0.1.0/Rigging/stack/flask.md.v1 +455 -0
- drydock_sdd-0.1.0/Rigging/stack/flask_compact.md +411 -0
- drydock_sdd-0.1.0/Rigging/stack/github-actions.md +137 -0
- drydock_sdd-0.1.0/Rigging/stack/index.html +162 -0
- drydock_sdd-0.1.0/Rigging/stack/marina-library.md +171 -0
- drydock_sdd-0.1.0/Rigging/stack/persistence.md +189 -0
- drydock_sdd-0.1.0/Rigging/stack/postgres.md +215 -0
- drydock_sdd-0.1.0/Rigging/stack/python.md +305 -0
- drydock_sdd-0.1.0/Rigging/stack/python_compact.md +211 -0
- drydock_sdd-0.1.0/Rigging/stack/sqlite.md +185 -0
- drydock_sdd-0.1.0/Rigging/stack/sqlite_compact.md +146 -0
- drydock_sdd-0.1.0/Rigging/stack/terraform.md +154 -0
- drydock_sdd-0.1.0/Rigging/stack/ui-flask.bootstrap-client.md +270 -0
- drydock_sdd-0.1.0/Rigging/templates/common.py +147 -0
- drydock_sdd-0.1.0/Rigging/templates/common.sh +80 -0
- drydock_sdd-0.1.0/Rigging/templates/index.html +11 -0
- drydock_sdd-0.1.0/Rigging/templates/pyproject.toml +21 -0
- drydock_sdd-0.1.0/Rigging/templates/test.sh +4 -0
- drydock_sdd-0.1.0/prompts/BLUEPRINTS_CONTRACT.md +333 -0
- drydock_sdd-0.1.0/prompts/CONFIGURE_CONSOLE_INITIAL.md +99 -0
- drydock_sdd-0.1.0/prompts/MANIFEST_CONTRACT.md +233 -0
- drydock_sdd-0.1.0/prompts/README.md +23 -0
- drydock_sdd-0.1.0/prompts/analyze.md +326 -0
- drydock_sdd-0.1.0/prompts/plan_create.md +196 -0
- drydock_sdd-0.1.0/prompts/rigging_compact.md +65 -0
- drydock_sdd-0.1.0/prompts/survey.md +63 -0
- drydock_sdd-0.1.0/prompts/survey_import.md +51 -0
- drydock_sdd-0.1.0/pyproject.toml +109 -0
- drydock_sdd-0.1.0/src/drydock/__init__.py +11 -0
- drydock_sdd-0.1.0/src/drydock/__main__.py +5 -0
- drydock_sdd-0.1.0/src/drydock/analyze.py +250 -0
- drydock_sdd-0.1.0/src/drydock/build_documentation.py +256 -0
- drydock_sdd-0.1.0/src/drydock/build_plan.py +260 -0
- drydock_sdd-0.1.0/src/drydock/cli.py +977 -0
- drydock_sdd-0.1.0/src/drydock/config.py +249 -0
- drydock_sdd-0.1.0/src/drydock/errors.py +31 -0
- drydock_sdd-0.1.0/src/drydock/execution.py +86 -0
- drydock_sdd-0.1.0/src/drydock/import_markdown.py +122 -0
- drydock_sdd-0.1.0/src/drydock/import_source.py +149 -0
- drydock_sdd-0.1.0/src/drydock/import_speckit.py +156 -0
- drydock_sdd-0.1.0/src/drydock/init_specification.py +137 -0
- drydock_sdd-0.1.0/src/drydock/init_target.py +87 -0
- drydock_sdd-0.1.0/src/drydock/llm.py +595 -0
- drydock_sdd-0.1.0/src/drydock/logging.py +84 -0
- drydock_sdd-0.1.0/src/drydock/metadata.py +83 -0
- drydock_sdd-0.1.0/src/drydock/paths.py +112 -0
- drydock_sdd-0.1.0/src/drydock/plan_compass.py +170 -0
- drydock_sdd-0.1.0/src/drydock/planning_session.py +284 -0
- drydock_sdd-0.1.0/src/drydock/prompts.py +83 -0
- drydock_sdd-0.1.0/src/drydock/py.typed +0 -0
- drydock_sdd-0.1.0/src/drydock/quarterdeck_run.py +66 -0
- drydock_sdd-0.1.0/src/drydock/rigging_compact.py +278 -0
- drydock_sdd-0.1.0/src/drydock/ships_log.py +202 -0
- drydock_sdd-0.1.0/src/drydock/ships_log_tool.py +82 -0
- drydock_sdd-0.1.0/src/drydock/standard_artifacts.py +148 -0
- drydock_sdd-0.1.0/src/drydock/status.py +275 -0
- drydock_sdd-0.1.0/src/drydock/stubs.py +11 -0
- drydock_sdd-0.1.0/src/drydock/survey.py +484 -0
- drydock_sdd-0.1.0/src/drydock/validate_specification.py +364 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
logs/
|
|
3
|
+
__pycache__/
|
|
4
|
+
*.py[cod]
|
|
5
|
+
*.pyo
|
|
6
|
+
*.pyd
|
|
7
|
+
.Python
|
|
8
|
+
*.egg
|
|
9
|
+
*.egg-info/
|
|
10
|
+
dist/
|
|
11
|
+
build/
|
|
12
|
+
.eggs/
|
|
13
|
+
*.whl
|
|
14
|
+
MANIFEST
|
|
15
|
+
|
|
16
|
+
# Virtual environments
|
|
17
|
+
.venv/
|
|
18
|
+
venv/
|
|
19
|
+
env/
|
|
20
|
+
|
|
21
|
+
# uv
|
|
22
|
+
.uv/
|
|
23
|
+
|
|
24
|
+
# Testing
|
|
25
|
+
.pytest_cache/
|
|
26
|
+
.coverage
|
|
27
|
+
htmlcov/
|
|
28
|
+
*.log
|
|
29
|
+
|
|
30
|
+
# Ruff
|
|
31
|
+
.ruff_cache/
|
|
32
|
+
|
|
33
|
+
# Editor
|
|
34
|
+
.DS_Store
|
|
35
|
+
.vscode/
|
|
36
|
+
.idea/
|
|
37
|
+
*.swp
|
|
38
|
+
*.swo
|
|
39
|
+
|
|
40
|
+
# Drydock generated
|
|
41
|
+
prompts/generated/
|
|
42
|
+
|
|
43
|
+
# Drydock self-host workspace
|
|
44
|
+
targets/
|
|
45
|
+
|
|
46
|
+
# QuarterDeck local state
|
|
47
|
+
QuarterDeck/data/*.sqlite
|
|
48
|
+
|
|
49
|
+
# Local project config
|
|
50
|
+
.env
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Copyright (c) 2026 Web Cloud Studio. All rights reserved.
|
|
2
|
+
|
|
3
|
+
This software and its associated documentation are proprietary and confidential property of
|
|
4
|
+
Web Cloud Studio.
|
|
5
|
+
|
|
6
|
+
No part of this software or documentation may be copied, reproduced, modified, distributed,
|
|
7
|
+
published, transmitted, sublicensed, sold, used, or otherwise exploited, in whole or in part,
|
|
8
|
+
without prior explicit written permission from Web Cloud Studio.
|
|
9
|
+
|
|
10
|
+
Possession of a copy does not grant any license or right to use the software or documentation.
|
|
11
|
+
Unauthorized use is strictly prohibited.
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: drydock-sdd
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Governed Blueprint-driven software delivery.
|
|
5
|
+
Project-URL: Homepage, https://github.com/webcloudstudio/Drydock
|
|
6
|
+
Project-URL: Repository, https://github.com/webcloudstudio/Drydock
|
|
7
|
+
Project-URL: Issues, https://github.com/webcloudstudio/Drydock/issues
|
|
8
|
+
Author-email: Ed Barlow <edward.m.barlow@gmail.com>
|
|
9
|
+
License: Proprietary
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: blueprint-driven-development,cli,code-generation,llm,sdd,spec-kit,specification-driven-development
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: Other/Proprietary License
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
22
|
+
Requires-Python: >=3.11
|
|
23
|
+
Requires-Dist: python-dotenv>=1.0
|
|
24
|
+
Provides-Extra: dev
|
|
25
|
+
Requires-Dist: mypy>=1.10; extra == 'dev'
|
|
26
|
+
Requires-Dist: pre-commit>=3.7; extra == 'dev'
|
|
27
|
+
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
|
|
28
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
29
|
+
Requires-Dist: ruff>=0.4; extra == 'dev'
|
|
30
|
+
Description-Content-Type: text/markdown
|
|
31
|
+
|
|
32
|
+
# Drydock
|
|
33
|
+
|
|
34
|
+
Drydock is an installable Python CLI implementing the governed Drydock Blueprint Methodology
|
|
35
|
+
through **SAIL: Set Up, Arrange, Implement, Loop**.
|
|
36
|
+
|
|
37
|
+
Copyright (c) 2026 Web Cloud Studio. All rights reserved. See [LICENSE](LICENSE).
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Installation
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
uv pip install drydock
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Or from source:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
git clone <repo>
|
|
51
|
+
cd Drydock
|
|
52
|
+
uv venv
|
|
53
|
+
uv pip install -e ".[dev]"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Working Commands
|
|
57
|
+
|
|
58
|
+
The following commands are fully implemented:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
drydock --help
|
|
62
|
+
drydock --version
|
|
63
|
+
|
|
64
|
+
drydock config show
|
|
65
|
+
drydock config set blueprint_directory <path>
|
|
66
|
+
drydock config set target_directory <path>
|
|
67
|
+
|
|
68
|
+
drydock init <Target>
|
|
69
|
+
|
|
70
|
+
drydock validate <Blueprint>
|
|
71
|
+
drydock validate <Blueprint> --verbose
|
|
72
|
+
|
|
73
|
+
drydock rigging compact <Blueprint> [--all] [--force]
|
|
74
|
+
|
|
75
|
+
drydock import <Blueprint> <Source> --format markdown
|
|
76
|
+
drydock plan create <Blueprint> <Target>
|
|
77
|
+
drydock build status <Blueprint> <Target>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
The planning flow starts with Target initialization, then uses three commands plus QuarterDeck
|
|
81
|
+
approval:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
drydock init <Target>
|
|
85
|
+
drydock import <Blueprint> <Source> --format markdown
|
|
86
|
+
drydock plan create <Blueprint> <Target>
|
|
87
|
+
# Review and approve the draft plan in <Target>/QuarterDeck.
|
|
88
|
+
drydock build status <Blueprint> <Target>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
`init` creates the specification-independent Target baseline and QuarterDeck. `import` creates the
|
|
92
|
+
Blueprint workspace and preserves the source material. `plan create`
|
|
93
|
+
internally inventories the Blueprint inputs and writes the executable `BUILD_PLAN.md` into the
|
|
94
|
+
Target. Configured Blueprint and Target roots belong in Drydock's user-scoped `.env`, never project
|
|
95
|
+
`METADATA.md`.
|
|
96
|
+
|
|
97
|
+
## Deferred Commands
|
|
98
|
+
|
|
99
|
+
The following commands are registered and visible in help, but not yet
|
|
100
|
+
implemented. Each returns a clear message and exits with code `2`:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
drydock document generate <Blueprint> <Target>
|
|
104
|
+
drydock document assemble <Blueprint> <Target>
|
|
105
|
+
drydock document <Blueprint> <Target>
|
|
106
|
+
drydock rigging update <Target>
|
|
107
|
+
drydock rigging verify <Target>
|
|
108
|
+
drydock build <Blueprint> <Target>
|
|
109
|
+
drydock build score <Blueprint> <Target>
|
|
110
|
+
drydock refit <Blueprint> <Target> <BOTH|BLUEPRINT|TGT> <Scope> <Change>
|
|
111
|
+
drydock analyze <Blueprint> [<Target>]
|
|
112
|
+
drydock import <Blueprint> <Source> --format <source|speckit>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Configuration
|
|
116
|
+
|
|
117
|
+
Drydock reads these global configuration values:
|
|
118
|
+
|
|
119
|
+
| Variable | Purpose |
|
|
120
|
+
|---|---|
|
|
121
|
+
| `BLUEPRINT_DIRECTORY` | Root path containing all Drydock Blueprints |
|
|
122
|
+
| `TARGET_DIRECTORY` | Root path containing all target software projects |
|
|
123
|
+
| `LLM_PROVIDER` | Subscription CLI provider: `claude` (default) or `codex` |
|
|
124
|
+
|
|
125
|
+
**Effective-value precedence:**
|
|
126
|
+
1. Environment variables `BLUEPRINT_DIRECTORY`, `TARGET_DIRECTORY`, and `LLM_PROVIDER`.
|
|
127
|
+
2. Values persisted in the user-scoped Drydock `.env` file.
|
|
128
|
+
|
|
129
|
+
**Config file location** (OS-appropriate):
|
|
130
|
+
- Linux/macOS: `~/.config/drydock/.env`
|
|
131
|
+
- Windows: `%APPDATA%\drydock\.env`
|
|
132
|
+
|
|
133
|
+
Set values with:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
drydock config set blueprint_directory /path/to/blueprints
|
|
137
|
+
drydock config set target_directory /path/to/projects
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
`SPECIFICATION_DIRECTORY` and `specification_directory` remain accepted as deprecated migration
|
|
141
|
+
aliases for `BLUEPRINT_DIRECTORY` and `blueprint_directory`.
|
|
142
|
+
|
|
143
|
+
## Source-Tree Launchers
|
|
144
|
+
|
|
145
|
+
When developing, you can run Drydock without installing it:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
# Bash (Linux/macOS)
|
|
149
|
+
bin/drydock.sh --help
|
|
150
|
+
|
|
151
|
+
# PowerShell (Windows)
|
|
152
|
+
bin/drydock.ps1 --help
|
|
153
|
+
|
|
154
|
+
# Python module
|
|
155
|
+
python -m drydock --help
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
All three dispatch to the same CLI entry point as the installed `drydock` command.
|
|
159
|
+
|
|
160
|
+
PowerShell structural behavior is defined but not runtime-verified in WSL environments.
|
|
161
|
+
|
|
162
|
+
## LLM Execution Foundation
|
|
163
|
+
|
|
164
|
+
Application functions pass a fully assembled prompt to the subscription-authenticated CLI runner:
|
|
165
|
+
|
|
166
|
+
```python
|
|
167
|
+
from drydock.llm import run_prompt
|
|
168
|
+
|
|
169
|
+
result = run_prompt(
|
|
170
|
+
prompt,
|
|
171
|
+
target_directory,
|
|
172
|
+
llm="claude", # optional; LLM_PROVIDER or claude default
|
|
173
|
+
model="sonnet", # optional
|
|
174
|
+
command_name="plan-create",
|
|
175
|
+
parameters={"blueprint": blueprint_name, "block": block_id},
|
|
176
|
+
debug=debug,
|
|
177
|
+
timeout_seconds=3600,
|
|
178
|
+
on_text=lambda chunk: print(chunk, end="", flush=True),
|
|
179
|
+
on_event=handle_structured_event,
|
|
180
|
+
)
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Every run writes timestamped prompt, human log, raw provider output, final output, and stderr files
|
|
184
|
+
under `<Target>/logs/`. `<Target>/logs/executions.jsonl` contains one self-contained JSON object per
|
|
185
|
+
run with the effective argv, working directory, caller parameters, artifact paths, hashes, status,
|
|
186
|
+
and parsed provider statistics. The JSONL file is append-only and intentionally extensible for
|
|
187
|
+
future provenance and staleness fields.
|
|
188
|
+
|
|
189
|
+
Provider JSONL is read while the process runs. `on_text` receives Claude partial text deltas or
|
|
190
|
+
Codex agent-message steps immediately; `on_event` receives structured Drydock lifecycle and
|
|
191
|
+
provider events. The same events are appended immediately to `<Target>/logs/events.jsonl`.
|
|
192
|
+
Timeouts terminate the child process and return exit code `124`; interruption terminates the child,
|
|
193
|
+
records exit code `130`, and re-raises `KeyboardInterrupt`.
|
|
194
|
+
|
|
195
|
+
Material Drydock product decisions and delivery milestones are separate from execution mechanics.
|
|
196
|
+
Agents developing Drydock follow the Ship's Log Process in `AGENTS.md` and use the repository-local
|
|
197
|
+
utility:
|
|
198
|
+
|
|
199
|
+
```text
|
|
200
|
+
python bin/ships_log.py record --event-type decision --title "..." --summary "..." \
|
|
201
|
+
--rationale "..." --source-type agent [--scope ...] [--evidence ...] [--tag ...]
|
|
202
|
+
python bin/ships_log.py audit
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
The sole Ship's Log artifact is Drydock's `logs/ships_log.jsonl`. It is append-only, rendered by
|
|
206
|
+
QuarterDeck's generic JSONL viewer, and intended as the direct input to downstream publishing
|
|
207
|
+
tools. It is not a public `drydock` command or a target-project Rigging rule. No Markdown Ship's Log
|
|
208
|
+
is generated.
|
|
209
|
+
|
|
210
|
+
## Project Governance Documents
|
|
211
|
+
|
|
212
|
+
- `docs/Drydock_Specification.md` — sole authoritative Drydock behavior specification; agents
|
|
213
|
+
require product-owner approval before changing it.
|
|
214
|
+
- `docs/SOUNDINGS.md` — authoritative implementation acceptance/readiness checklist and completion
|
|
215
|
+
evidence.
|
|
216
|
+
- `docs/SEA_TRIALS.md` — strategic product outcomes and proof-of-methodology criteria.
|
|
217
|
+
- `AGENTS.md` — operating rules, development architecture, and the mandatory Drydock-only agent
|
|
218
|
+
decision-capture (Ship's Log) process.
|
|
219
|
+
|
|
220
|
+
QuarterDeck exposes these documents and the other owned artifacts under `docs/` directly.
|
|
221
|
+
|
|
222
|
+
`LLM_PROVIDER=claude|codex` may be set in the process environment or user-scoped Drydock `.env`;
|
|
223
|
+
the process environment takes precedence and Claude is the default. API-key environment variables
|
|
224
|
+
are removed before invoking either CLI.
|
|
225
|
+
|
|
226
|
+
## Packaged Rigging Resources
|
|
227
|
+
|
|
228
|
+
The installed wheel contains a synchronized copy of the Drydock Rigging at
|
|
229
|
+
`drydock/resources/Rigging/`. This is the same tree as the root-level `Rigging/`
|
|
230
|
+
directory; it is included so Blueprint import, validation, and Rigging commands work from an
|
|
231
|
+
installed wheel without access to the source checkout. The installed wheel also contains the
|
|
232
|
+
QuarterDeck runtime used by `drydock init <Target>`.
|
|
233
|
+
|
|
234
|
+
When running from the source tree, Drydock uses the root-level `Rigging/` directly.
|
|
235
|
+
When running from an installed wheel, it falls back to `importlib.resources`.
|
|
236
|
+
|
|
237
|
+
## License
|
|
238
|
+
|
|
239
|
+
Proprietary — Web Cloud Studio. See [LICENSE](LICENSE) for terms.
|
|
240
|
+
No part of this software may be used without explicit written permission.
|