[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74815":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},74815,"expect","millionco\u002Fexpect","millionco","Expect tests your agent's code in a real browser","https:\u002F\u002Fexpect.dev",null,"TypeScript",3500,155,10,15,0,7,13,35,21,82.58,"Other",false,"main",[26,27,5,28],"agent","browser","test","2026-06-12 04:01:16","# Expect\n\n[![version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fexpect-cli?style=flat&colorA=000000&colorB=000000)](https:\u002F\u002Fnpmjs.com\u002Fpackage\u002Fexpect-cli)\n[![downloads](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdt\u002Fexpect-cli.svg?style=flat&colorA=000000&colorB=000000)](https:\u002F\u002Fnpmjs.com\u002Fpackage\u002Fexpect-cli)\n\n**Expect** is a skill for testing your agent's code in a real browser.\n\n### **[Demo →](https:\u002F\u002Fexpect.dev)**\n\n## Getting Started\n\n1. Ask your agent to `Fetch https:\u002F\u002Fwww.expect.dev\u002F and run init script`\n2. Run `\u002Fexpect` inside Claude Code, Codex, [and more](https:\u002F\u002Fgithub.com\u002Fmillionco\u002Fexpect#supported-agents)\n3. Expect spawns subagents simulating real logged-in users to find issues and regressions\n4. Your agent will fix any issues Expect finds, then re-run to verify\n\n## FAQ\n\n#### 1. What is Expect?\n\nA skill that reads your git changes, generates a test plan, and runs it in a real browser with Playwright. It hooks into your existing agent (Claude Code, Codex, Cursor) and runs entirely on your machine. It checks for performance (long animation frames, INP, LCP), security (npm deps, CSRF attacks, vulns), design tweaks (broken hover states, links, buttons), and app completeness (missing metadata, dead links).\n\n#### 2. Why not just use Puppeteer, Playwright, or Cypress?\n\nInstead of writing scripts, maintaining selectors, and wiring up assertions, Expect reads your code changes and tests them in a real browser automatically. It's like giving your agent QA superpowers.\n\n#### 3. How is this different from computer-use agents?\n\nGeneral-purpose browser tools rely on screenshots and mouse coordinates. Expect is purpose-built for testing: it uses Playwright for fast DOM automation, reads your code changes, generates a test plan, and runs it with your real cookies, then reports back what's broken so the agent can fix it.\n\n#### 4. Does it work in CI?\n\nYes. Use `--ci` or the `add github-action` command to set up a workflow that tests every PR. In CI mode it runs headless, skips cookie extraction, auto-approves the plan, and enforces a 30-minute timeout.\n\n#### 5. Does it support mobile testing?\n\nComing soon.\n\n#### 6. Is there a hosted or enterprise version?\n\nComing soon. Email [aiden@million.dev](mailto:aiden@million.dev) if you have questions or ideas.\n\n## Options\n\n| Flag                          | Description                                                                            | Default     |\n| ----------------------------- | -------------------------------------------------------------------------------------- | ----------- |\n| `-m, --message \u003Cinstruction>` | Natural language instruction for what to test                                          | -           |\n| `-f, --flow \u003Cslug>`           | Reuse a saved flow by its slug                                                         | -           |\n| `-y, --yes`                   | Run immediately without confirmation                                                   | -           |\n| `-a, --agent \u003Cprovider>`      | Agent provider (`claude`, `codex`, `copilot`, `gemini`, `cursor`, `opencode`, `droid`) | auto-detect |\n| `-t, --target \u003Ctarget>`       | What to test: `unstaged`, `branch`, or `changes`                                       | `changes`   |\n| `-u, --url \u003Curls...>`         | Base URL(s) for the dev server (skips port picker)                                     | -           |\n| `--browser-mode \u003Cmode>`       | Browser mode: `headed` or `headless`                                                   | `headed`    |\n| `--cdp \u003Curl>`                 | Connect to an existing Chrome via CDP WebSocket URL                                    | -           |\n| `--profile \u003Cname>`            | Reuse a Chrome profile by name (e.g. Default)                                          | -           |\n| `--no-cookies`                | Skip system browser cookie extraction                                                  | -           |\n| `--ci`                        | Force CI mode: headless, no cookies, auto-yes, 30-min timeout                          | -           |\n| `--timeout \u003Cms>`              | Execution timeout in milliseconds                                                      | -           |\n| `--output \u003Cformat>`           | Output format: `text` or `json`                                                        | `text`      |\n| `--verbose`                   | Enable verbose logging                                                                 | -           |\n| `-v, --version`               | Print version                                                                          | -           |\n| `-h, --help`                  | Display help                                                                           | -           |\n\n## Supported Agents\n\nExpect works with the following coding agents. It auto-detects which agents are installed on your `PATH`. If multiple are available, it defaults to the first one found. Use `-a \u003Cprovider>` to pick a specific agent.\n\n| Agent                                                         | Flag          | Install                                    |\n| ------------------------------------------------------------- | ------------- | ------------------------------------------ |\n| [Claude Code](https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fclaude-code) | `-a claude`   | `npm install -g @anthropic-ai\u002Fclaude-code` |\n| [Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex#readme)               | `-a codex`    | `npm install -g @openai\u002Fcodex`             |\n| [GitHub Copilot](https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot\u002Fcli)     | `-a copilot`  | `npm install -g @github\u002Fcopilot`           |\n| [Gemini CLI](https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli)     | `-a gemini`   | `npm install -g @google\u002Fgemini-cli`        |\n| [Cursor](https:\u002F\u002Fcursor.com)                                  | `-a cursor`   | [cursor.com](https:\u002F\u002Fcursor.com)           |\n| [OpenCode](https:\u002F\u002Fopencode.ai)                               | `-a opencode` | `npm install -g opencode-ai`               |\n| [Factory Droid](https:\u002F\u002Ffactory.ai)                           | `-a droid`    | `npm install -g droid`                     |\n\n## Resources & Contributing Back\n\nWant to try it out? Check out [our demo](https:\u002F\u002Fexpect.dev).\n\nFind a bug? Head over to our [issue tracker](https:\u002F\u002Fgithub.com\u002Fmillionco\u002Fexpect\u002Fissues) and we'll do our best to help. We love pull requests, too!\n\nWe expect all contributors to abide by the terms of our [Code of Conduct](https:\u002F\u002Fgithub.com\u002Fmillionco\u002Fexpect\u002Fblob\u002Fmain\u002F.github\u002FCODE_OF_CONDUCT.md).\n\n**[→ Start contributing on GitHub](https:\u002F\u002Fgithub.com\u002Fmillionco\u002Fexpect\u002Fblob\u002Fmain\u002FCONTRIBUTING.md)**\n\n### Acknowledgements\n\nExpect wouldn't exist without the ideas and work of others:\n\n- [**dev-browser**](https:\u002F\u002Fgithub.com\u002FSawyerHood\u002Fdev-browser) by Sawyer Hood — the Playwright-first (\"bitter lesson\") approach that inspired Expect's core design: give the agent real browser APIs instead of screenshots and coordinates.\n\n### License\n\nFSL-1.1-MIT © [Million Software, Inc.](https:\u002F\u002Fmillion.dev)\n","Expect 是一个用于在真实浏览器环境中测试代理代码的工具。其核心功能包括自动生成测试计划、利用 Playwright 进行快速 DOM 自动化，并检测性能、安全、设计和应用完整性等方面的问题。与 Puppeteer 或 Cypress 等工具相比，Expect 无需手动编写测试脚本或维护选择器，而是直接读取代码变更并自动执行测试。它适用于需要自动化质量保证流程的场景，如持续集成环境下的每次 PR 测试。此外，Expect 可以模拟实际登录用户的行为，帮助发现和修复潜在问题。",2,"2026-06-11 03:50:56","high_star"]