dockerimg: more exacting prompt for building a dockerfile

This morning's claude moving target has forgotten how a Dockerfile
works, and it tries injecting direct shell into the file. Tell it
everything should start with RUN.

For #83
For #85
diff --git a/dockerimg/testdata/testcreatedockerfile_basic_repo_with_readme.httprr b/dockerimg/testdata/testcreatedockerfile_basic_repo_with_readme.httprr
index e9f4989..3b2a272 100644
--- a/dockerimg/testdata/testcreatedockerfile_basic_repo_with_readme.httprr
+++ b/dockerimg/testdata/testcreatedockerfile_basic_repo_with_readme.httprr
@@ -1,9 +1,9 @@
 httprr trace v1
-4014 1797
+4061 2059
 POST https://api.anthropic.com/v1/messages HTTP/1.1

 Host: api.anthropic.com

 User-Agent: Go-http-client/1.1

-Content-Length: 3817

+Content-Length: 3864

 Anthropic-Version: 2023-06-01

 Content-Type: application/json

 

@@ -44,7 +44,7 @@
     "properties": {
      "extra_cmds": {
       "type": "string",
-      "description": "Extra commands to add to the dockerfile."
+      "description": "Extra dockerfile commands to add to the dockerfile. Each command should start with RUN."
      }
     }
    }
@@ -54,24 +54,24 @@
 Anthropic-Organization-Id: 3c473a21-7208-450a-a9f8-80aebda45c1b

 Anthropic-Ratelimit-Input-Tokens-Limit: 200000

 Anthropic-Ratelimit-Input-Tokens-Remaining: 200000

-Anthropic-Ratelimit-Input-Tokens-Reset: 2025-05-06T03:30:56Z

+Anthropic-Ratelimit-Input-Tokens-Reset: 2025-05-12T22:11:24Z

 Anthropic-Ratelimit-Output-Tokens-Limit: 80000

 Anthropic-Ratelimit-Output-Tokens-Remaining: 80000

-Anthropic-Ratelimit-Output-Tokens-Reset: 2025-05-06T03:30:59Z

+Anthropic-Ratelimit-Output-Tokens-Reset: 2025-05-12T22:11:27Z

 Anthropic-Ratelimit-Requests-Limit: 4000

 Anthropic-Ratelimit-Requests-Remaining: 3999

-Anthropic-Ratelimit-Requests-Reset: 2025-05-06T03:30:55Z

+Anthropic-Ratelimit-Requests-Reset: 2025-05-12T22:11:23Z

 Anthropic-Ratelimit-Tokens-Limit: 280000

 Anthropic-Ratelimit-Tokens-Remaining: 280000

-Anthropic-Ratelimit-Tokens-Reset: 2025-05-06T03:30:56Z

+Anthropic-Ratelimit-Tokens-Reset: 2025-05-12T22:11:24Z

 Cf-Cache-Status: DYNAMIC

-Cf-Ray: 93b566d6690ace9c-SJC

+Cf-Ray: 93ed4066fb0815f1-SJC

 Content-Type: application/json

-Date: Tue, 06 May 2025 03:30:59 GMT

-Request-Id: req_011CNqa1FVnavsQuEVK4FSjx

+Date: Mon, 12 May 2025 22:11:27 GMT

+Request-Id: req_011CP4QJRmnGAKXEnzGGxtW2

 Server: cloudflare

 Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

 Via: 1.1 google

 X-Robots-Tag: none

 

-{"id":"msg_01XEdKoiC5EwZX9pS6uvifeA","type":"message","role":"assistant","model":"claude-3-7-sonnet-20250219","content":[{"type":"text","text":"Based on the provided information, you have a simple Go test project. Since the project seems very basic according to the README, and there's no indication of any Python dependencies or specialized tools needed, I'll create a minimal Dockerfile with just the essential setup."},{"type":"tool_use","id":"toolu_01MiuPNSrwSBCv6Q4s5dyg8n","name":"dockerfile","input":{"extra_cmds":"# No special commands needed for this simple Go test project\n# The base image already provides all necessary Go tools"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":1321,"cache_read_input_tokens":0,"output_tokens":130}}
\ No newline at end of file
+{"id":"msg_01HbwfjH72DPpZi1pSfuudRG","type":"message","role":"assistant","model":"claude-3-7-sonnet-20250219","content":[{"type":"text","text":"Based on the information provided, I'll call the dockerfile tool to create a Dockerfile for your Go project. Since this is described as a simple \"Test Project\" in the README, and no specific requirements beyond the basic Go setup are mentioned, I'll keep the extra commands minimal."},{"type":"tool_use","id":"toolu_01SqSrsmtLg3x31bmD3m6B68","name":"dockerfile","input":{"extra_cmds":"RUN echo \"Setting up a minimal Go test project environment\"\n\n# Install any Go-specific testing tools\nRUN go install github.com/stretchr/testify@latest || true\n\n# Basic Python environment setup (optional, will continue if it fails)\nRUN pip3 install pytest pytest-cov || true\n\n# Run initial setup if needed\nRUN if [ -f \"Makefile\" ]; then make setup || true; fi"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":1330,"cache_read_input_tokens":0,"output_tokens":209}}
\ No newline at end of file