Skip to content

Commit 65db0d0

Browse files
author
BELNEM s.r.o
committed
Offer to start Docker instead of stopping to ask someone to click an icon
Starting a daemon that is already installed changes nothing durable and needs no root on macOS, and it is the commonest of the three Docker failures — the check's own output says "installed, but the daemon is not up" more often than it says anything else. Stopping the conversion there was friction with no safety behind it, so `open -a Docker` (then waiting for it to answer) is now on the list the assistant may run with approval, like the pip installs. Linux needs sudo systemctl, so it stays on the other list. The two that remain a stop now say WHY, because "it changes how the machine works" is squeamishness and these are consequences: - Docker Desktop carries commercial licensing terms — a paid subscription above a company-size and revenue threshold. Installing it on approval walks the owner into accepting a licence they never read. That is the same boundary as not filling in a submission form on someone's behalf. - An in-place `brew upgrade node` can break every other Node project on the machine. Version managers exist because of exactly this. Offer the command and the warning together; let them take the risk knowingly. The friction this answers is real but was never "it should just work" — stage -3 exists so the stop happens in the first minute rather than at gate B after two hours. What changed is that one of the three stops did not need to be one. Fixed in R&D first and carried forward, per the runbook; the two copies were identical and are again. Verified by stubbing `docker info` to fail: the daemon-start line now appears under "these are user-local and need no root" instead of under the list the user has to act on.
1 parent 2ab6dad commit 65db0d0

7 files changed

Lines changed: 36 additions & 11 deletions

File tree

‎.claude-plugin/marketplace.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"source": "./",
1515
"displayName": "html2wp — HTML to WordPress",
1616
"description": "BETA. Convert a static HTML site into a standalone WordPress block theme, verified against the original at three viewport widths — and reviewed by you before handover. The conversion runs through a verified Astro 5 build, so the Astro project is a real output too — proven pixel-identical to the source before anything WordPress-shaped is generated.",
17-
"version": "1.0.0-beta.24",
17+
"version": "1.0.0-beta.25",
1818
"author": {
1919
"name": "BELNEM s.r.o.",
2020
"email": "hello@html2wp.dev",

‎.claude-plugin/plugin.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "html2wp",
33
"description": "BETA. Convert a static HTML site — or anything that builds to one (Lovable, Bolt, v0, Next export) — into a standalone WordPress block theme: pixel-1:1, pages, blog, forms, menus, SEO and redirects, with no plugin required and verification gates at every stage. Every conversion ends in your own page-by-page review; the gates catch most fidelity drift, not all of it.",
4-
"version": "1.0.0-beta.24",
4+
"version": "1.0.0-beta.25",
55
"author": {
66
"name": "BELNEM s.r.o.",
77
"email": "hello@html2wp.dev",

‎.codex-plugin/plugin.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "html2wp",
3-
"version": "1.0.0-beta.24",
3+
"version": "1.0.0-beta.25",
44
"description": "Convert static HTML or buildable web projects into verified, editable WordPress block themes.",
55
"author": {
66
"name": "BELNEM s.r.o.",

‎VERSION‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.0-beta.24
1+
1.0.0-beta.25

‎skills/html2wp/SKILL.md‎

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -285,11 +285,27 @@ on Debian and Homebrew Python), do not reach for `--break-system-packages`:
285285
make a virtualenv, tell the user where it is, and use its `python3` for the
286286
rest of the conversion.
287287

288-
**The machine list — say what is needed and stop.** Docker Desktop, a Node
289-
upgrade, starting the Docker daemon. These change how the machine works and
290-
they are not yours to decide. Print them, wait, and re-run the check when the
291-
user says they are done. Installing Docker for someone who did not ask is not
292-
helpfulness.
288+
**Starting a Docker daemon that is already installed is on the first list**,
289+
on macOS, where it needs no root: `open -a Docker`, then wait for it to answer.
290+
It is the commonest of the three Docker failures and it changes nothing
291+
durable, so stopping the conversion to ask someone to click an icon was
292+
friction with no safety behind it. On Linux it needs `sudo systemctl`, so it
293+
stays below.
294+
295+
**The machine list — say what is needed and stop.** Two things, and the reason
296+
matters more than the rule, because "it changes the machine" is squeamishness
297+
while these are consequences:
298+
299+
- **Installing Docker Desktop.** It carries commercial licensing terms — a
300+
paid subscription above a company-size and revenue threshold. Installing it
301+
on approval walks the owner into accepting a licence they never read, which
302+
is not yours to do on their behalf however cheerfully they said yes.
303+
- **Upgrading Node.** An in-place `brew upgrade node` can break every other
304+
Node project on that machine; version managers exist because of exactly
305+
this. Offer the command and the warning together, and let them run it
306+
knowing what it risks.
307+
308+
Print them, wait, and re-run the check when the user says they are done.
293309

294310
Then re-run the script and require exit 0 before stage -2. A conversion that
295311
starts without these does not fail fast — it fails at stage 5 or 6, after the

‎skills/html2wp/VERSION‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.0-beta.24
1+
1.0.0-beta.25

‎skills/html2wp/assets/scripts/check-prereqs.sh‎

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,16 @@ if command -v docker >/dev/null 2>&1; then
123123
fi
124124
else
125125
row "Docker" "NOT RUNNING" "installed, but the daemon is not up"
126-
MISSING_USER+=("Start Docker$( [ "$PLATFORM" = macos ] && echo ' Desktop' ) and wait for it to report running")
126+
# Starting a daemon that is ALREADY INSTALLED changes nothing durable, needs
127+
# no root on macOS, and is the commonest of the three Docker failures — so
128+
# it is the assistant's to offer, like the pip installs. Installing Docker
129+
# is a different question and stays below.
130+
if [ "$PLATFORM" = macos ]; then
131+
MISSING_AGENT+=("open -a Docker && printf 'waiting for the Docker daemon' && until docker info >/dev/null 2>&1; do printf .; sleep 2; done; echo ' up'")
132+
else
133+
# systemctl needs root, so this one is still the user's to run.
134+
MISSING_USER+=("Start the Docker daemon: sudo systemctl start docker")
135+
fi
127136
fi
128137
else
129138
row "Docker" "MISSING" "gates B and C run WordPress in a throwaway container"

0 commit comments

Comments
 (0)