Skip to content

Commit 4dd26a9

Browse files
authored
V0.1.0 (#10)
* Update version and add authors * Fix merge conflict * Bump version number * Update README * Make noot work in temp projects * Update readme * Bump version number * Remove claude from tests as it breaks CI/CD
1 parent bf41086 commit 4dd26a9

7 files changed

Lines changed: 976 additions & 663 deletions

File tree

.cassettes/cli/default.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"entries": [
3+
{
4+
"instruction": "Claude Code is ready to use",
5+
"screen": "export HTTP_PROXY=http://127.0.0.1:8080\nexport HTTPS_PROXY=http://127.0.0.1:8080\nexport http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\n\u279c tmpgygjm15k export HTTP_PROXY=http://127.0.0.1:8080\nexport HTTPS_PROXY=http://127.0.0.1:8080\nexport http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\n\u279c tmpgygjm15k export HTTPS_PROXY=http://127.0.0.1:8080\nexport http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\n\u279c tmpgygjm15k export http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\nexport SSL_CERT_FILE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export https_proxy=http://127.0.0.1:8080\nexport SSL_CERT_FILE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export SSL_CERT_FILE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\nexport REQUESTS_CA_BUNDLE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export REQUESTS_CA_BUNDLE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export MITMPROXY_CA_CERT=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k claude\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n Do you trust the files in this folder?\n\n /private/var/folders/_x/vlk42b9j0dlfbn4tlffj3b0w0000gn/T/tmpgygjm15k\n\n Claude Code may read, write, or execute files contained in this directory. This can pose security risks, so only use\n files from trusted sources.\n\n Learn more\n\n \u276f 1. Yes, proceed\n 2. No, exit\n\n Enter to confirm \u00b7 Esc to cancel\n\n\n\n\n",
6+
"response": "ctx.contains(\"Do you trust the files in this folder?\")\nctx.contains(\"Yes, proceed\")\nctx.contains(\"No, exit\")",
7+
"method": "expect",
8+
"assertion_code": "ctx.contains(\"Do you trust the files in this folder?\")\nctx.contains(\"Yes, proceed\")\nctx.contains(\"No, exit\")"
9+
},
10+
{
11+
"instruction": "Type 'Say hello' and press enter",
12+
"screen": "export HTTP_PROXY=http://127.0.0.1:8080\nexport HTTPS_PROXY=http://127.0.0.1:8080\nexport http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\n\u279c tmpgygjm15k export HTTP_PROXY=http://127.0.0.1:8080\nexport HTTPS_PROXY=http://127.0.0.1:8080\nexport http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\n\u279c tmpgygjm15k export HTTPS_PROXY=http://127.0.0.1:8080\nexport http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\n\u279c tmpgygjm15k export http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\nexport SSL_CERT_FILE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export https_proxy=http://127.0.0.1:8080\nexport SSL_CERT_FILE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export SSL_CERT_FILE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\nexport REQUESTS_CA_BUNDLE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export REQUESTS_CA_BUNDLE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export MITMPROXY_CA_CERT=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k claude\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n Do you trust the files in this folder?\n\n /private/var/folders/_x/vlk42b9j0dlfbn4tlffj3b0w0000gn/T/tmpgygjm15k\n\n Claude Code may read, write, or execute files contained in this directory. This can pose security risks, so only use\n files from trusted sources.\n\n Learn more\n\n \u276f 1. Yes, proceed\n 2. No, exit\n\n Enter to confirm \u00b7 Esc to cancel\n\n\n\n\n",
13+
"response": "I can see that there's a Claude Code security prompt asking about trusting files in the folder, with two options. The user wants to type 'Say hello' and press enter, but first I need to handle this security prompt. I should select option 1 to proceed, then I can enter the user's command.\n\n{\n \"special_keys\": [\"Enter\"],\n \"duration\": 0.3\n}",
14+
"method": "complete"
15+
},
16+
{
17+
"instruction": "Claude responds with a greeting",
18+
"screen": "\n\u256d\u2500\u2500\u2500 Claude Code v2.1.17 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 \u2502 Tips for getting started \u2502\n\u2502 Welcome back! \u2502 Ask Claude to create a new app or clone a repository \u2502\n\u2502 \u2502 \u2502\n\u2502 \u2502 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2502\n\u2502 \u2590\u259b\u2588\u2588\u2588\u259c\u258c \u2502 Recent activity \u2502\n\u2502 \u259d\u259c\u2588\u2588\u2588\u2588\u2588\u259b\u2598 \u2502 No recent activity \u2502\n\u2502 \u2598\u2598 \u259d\u259d \u2502 \u2502\n\u2502 Opus 4.5 \u00b7 Claude Max \u00b7 a@recurse.ml's \u2502 \u2502\n\u2502 Organization \u2502 \u2502\n\u2502 /\u2026/_x/vlk42b9j0dlfbn4tlffj3b0w0000gn/T/tmpgygjm15k \u2502 \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\n Your bash commands will be sandboxed. Disable with /sandbox.\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u276f\u00a0Try \"refactor <filepath>\"\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n ? for shortcuts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",
19+
"response": "ctx.contains(\"Welcome back!\")\nctx.contains(\"Claude Code\")",
20+
"method": "expect",
21+
"assertion_code": "ctx.contains(\"Welcome back!\")\nctx.contains(\"Claude Code\")"
22+
}
23+
]
24+
}

0 commit comments

Comments
 (0)