From bd00ce945d37c18f08d4a145281e26c859cf22d3 Mon Sep 17 00:00:00 2001 From: Jeremy Daer Date: Fri, 28 Aug 2026 16:47:38 -0700 Subject: [PATCH 1/2] Keep .claude out of the Docker build context Agent worktrees under .claude/worktrees are whole extra checkouts of this repo, and the build context picks them up. .claude is local session state and never belongs in an image. --- .dockerignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.dockerignore b/.dockerignore index 689e4416..6af4190b 100644 --- a/.dockerignore +++ b/.dockerignore @@ -53,3 +53,6 @@ # Ignore test files /test/ + +# Agent session state — worktrees under .claude/ are whole extra checkouts of this repo +.claude From 28c7c9f9f2fb6ae16f697a589e3f2fa52b16a6ec Mon Sep 17 00:00:00 2001 From: Jeremy Daer Date: Fri, 28 Aug 2026 23:32:20 -0700 Subject: [PATCH 2/2] Keep the tracked .claude/CLAUDE.md in the export Dockerfile-export packages this build context into the writebook.zip customers download, so a blanket .claude rule silently dropped the committed CLAUDE.md from every release. Exclude only the session-state entries and re-include the tracked file. --- .dockerignore | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.dockerignore b/.dockerignore index 6af4190b..1e5fa912 100644 --- a/.dockerignore +++ b/.dockerignore @@ -54,5 +54,8 @@ # Ignore test files /test/ -# Agent session state — worktrees under .claude/ are whole extra checkouts of this repo -.claude +# Agent session state — worktrees under .claude/worktrees/ are whole extra checkouts of this +# repo, and other .claude entries are local session files. The tracked .claude/CLAUDE.md must +# survive: Dockerfile-export packages this context into the writebook.zip customers download. +/.claude/* +!/.claude/CLAUDE.md