expect-cli 0.0.1 → 0.0.4

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.
package/README.md CHANGED
@@ -1,67 +1,57 @@
1
- # expect
1
+ # <img src="https://github.com/millionco/testie/blob/main/apps/website/public/icon.svg?raw=true" width="60" align="center" /> Expect
2
2
 
3
3
  [![version](https://img.shields.io/npm/v/expect-cli?style=flat&colorA=000000&colorB=000000)](https://npmjs.com/package/expect-cli)
4
4
  [![downloads](https://img.shields.io/npm/dt/expect-cli.svg?style=flat&colorA=000000&colorB=000000)](https://npmjs.com/package/expect-cli)
5
5
 
6
- Let agents test your code in a real browser. One command scans your unstaged changes or branch diff, generates a test plan, and runs it against a live browser.
6
+ Let agents test your code in a real browser.
7
7
 
8
- **[Website](https://expect.dev)** | **[See it in action](https://expect.dev)**
8
+ One command scans your unstaged changes or branch diff, generates a test plan, and runs it against a live browser.
9
9
 
10
- ## Install
10
+ ### **[See it in action →](https://expect.dev)**
11
11
 
12
- ```bash
13
- npx expect-cli@latest
14
- ```
12
+ <a href="https://expect.dev"><img src="https://github.com/millionco/testie/blob/main/apps/website/public/og.png?raw=true" width="800" /></a>
15
13
 
16
- Or install globally:
14
+ ## Install
17
15
 
18
16
  ```bash
19
- npm install -g expect-cli
17
+ npx -y expect-cli@latest init
20
18
  ```
21
19
 
22
- Then run from your project root:
20
+ ## Usage
23
21
 
24
- ```bash
25
- expect
26
22
  ```
23
+ Usage: expect [options] [command]
27
24
 
28
- ## Usage with coding agents
25
+ Options:
26
+ -m, --message <instruction> natural language instruction for what to test
27
+ -f, --flow <slug> reuse a saved flow by slug
28
+ -y, --yes skip plan review, run immediately
29
+ -a, --agent <provider> agent provider to use (claude or codex)
30
+ -t, --target <target> what to test: unstaged, branch, or changes (default: changes)
31
+ --verbose enable verbose logging
32
+ -v, --version print version
33
+ -h, --help display help
29
34
 
30
- Point your agent at expect and let it test your changes:
35
+ Commands:
36
+ init install expect globally and set up skill
31
37
 
32
- ```bash
33
- EXPECT_BASE_URL=http://localhost:3000 expect -m "Test the signup flow" -y
38
+ Examples:
39
+ $ expect open interactive TUI
40
+ $ expect -m "test the login flow" -y plan and run immediately
41
+ $ expect --target branch test all branch changes
42
+ $ expect --target unstaged test unstaged changes
34
43
  ```
35
44
 
36
- The `-y` flag skips plan review so agents can run non-interactively.
45
+ ## Resources & Contributing Back
37
46
 
38
- Expect auto-detects agent environments (`CLAUDECODE`, `CURSOR_AGENT`, `CODEX_CI`, `CI`, etc.) and switches to headless mode.
47
+ Want to try it out? Check out [our demo](https://expect.dev).
39
48
 
40
- ## Commands
49
+ Find a bug? Head over to our [issue tracker](https://github.com/millionco/expect/issues) and we'll do our best to help. We love pull requests, too!
41
50
 
42
- ```
43
- Usage: expect [command] [options]
44
-
45
- Commands:
46
- unstaged test current unstaged changes (default)
47
- branch test full branch diff vs main
48
- ```
51
+ We expect all contributors to abide by the terms of our [Code of Conduct](https://github.com/aidenybai/react-grab/blob/main/.github/CODE_OF_CONDUCT.md).
49
52
 
50
- ## Options
51
-
52
- ```
53
- Options:
54
- -m, --message <instruction> natural language instruction for what to test
55
- -f, --flow <slug> reuse a saved flow by slug
56
- -y, --yes skip plan review, run immediately
57
- --base-url <url> browser base URL
58
- --headed run browser visibly instead of headless
59
- --cookies sync cookies from your browser profile
60
- --no-cookies disable cookie sync
61
- -v, --version print version
62
- -h, --help display help
63
- ```
53
+ [**→ Start contributing on GitHub**](https://github.com/aidenybai/react-grab/blob/main/CONTRIBUTING.md)
64
54
 
65
- ## License
55
+ ### License
66
56
 
67
57
  FSL-1.1-MIT © [Million Software, Inc.](https://million.dev)
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export { };
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import{i as e,n as t,nr as n,r}from"./server-Smi2kpAY-CN-mxLk6.js";let i=!1;const a=n(function*(){yield*(yield*r).close()});(()=>{if(i)return;i=!0;let e=()=>{t.runPromise(a).finally(()=>process.exit(0))};process.once(`SIGINT`,e),process.once(`SIGTERM`,e),process.once(`beforeExit`,()=>{t.runPromise(a)})})(),e(t);export{};
3
+ //# sourceMappingURL=browser-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-mcp.js","names":["Effect.gen"],"sources":["../../../packages/browser/dist/mcp/start.mjs"],"sourcesContent":["import \"../recorder-BlNOPrM9.mjs\";\nimport { i as McpSession, n as startBrowserMcpServer, r as McpRuntime } from \"../server-Smi2kpAY.mjs\";\nimport { Effect } from \"effect\";\n//#region src/mcp/start.ts\nlet cleanupRegistered = false;\nconst closeSession = Effect.gen(function* () {\n\tyield* (yield* McpSession).close();\n});\nconst registerProcessCleanup = () => {\n\tif (cleanupRegistered) return;\n\tcleanupRegistered = true;\n\tconst handleShutdown = () => {\n\t\tMcpRuntime.runPromise(closeSession).finally(() => process.exit(0));\n\t};\n\tprocess.once(\"SIGINT\", handleShutdown);\n\tprocess.once(\"SIGTERM\", handleShutdown);\n\tprocess.once(\"beforeExit\", () => {\n\t\tMcpRuntime.runPromise(closeSession);\n\t});\n};\nregisterProcessCleanup();\nstartBrowserMcpServer(McpRuntime);\n//#endregion\nexport {};\n\n//# sourceMappingURL=start.mjs.map"],"mappings":";mEAIA,IAAI,EAAoB,GACxB,MAAM,EAAeA,EAAW,WAAa,CAC5C,OAAQ,MAAO,GAAY,OAAO,EACjC,MACmC,CACpC,GAAI,EAAmB,OACvB,EAAoB,GACpB,IAAM,MAAuB,CAC5B,EAAW,WAAW,EAAa,CAAC,YAAc,QAAQ,KAAK,EAAE,CAAC,EAEnE,QAAQ,KAAK,SAAU,EAAe,CACtC,QAAQ,KAAK,UAAW,EAAe,CACvC,QAAQ,KAAK,iBAAoB,CAChC,EAAW,WAAW,EAAa,EAClC,IAEqB,CACxB,EAAsB,EAAW"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import{createRequire as e}from"node:module";var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),c=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},l=(e,r,i)=>(i=e==null?{}:t(a(e)),c(r||!e||!e.__esModule?n(i,`default`,{value:e,enumerable:!0}):i,e)),u=e(import.meta.url);export{u as n,l as r,s as t};