You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(release): add changesets, simplify CI, publish @browserkit/core to npm
- Add @changesets/cli + .changeset/config.json for versioning
- Add .github/workflows/release.yml for automated npm publishing
- Move patchright from dependencies to peerDependencies in core (fixes TS type duplication)
- Remove @browserkit/adapter-hackernews from core optionalDependencies
- Remove postinstall script from core (patchright install now handled by consumers)
- Simplify CI: remove monkey-patching E2E steps (workspace adapter handles E2E)
- Fix local adapter peer deps workspace:* → ^0.1.0 in package.json
- Add CONTRIBUTING.md with local dev and release instructions
Made-with: Cursor
browserkit is a framework for building site-specific MCP servers over real authenticated browser sessions. This guide covers how to contribute adapters, extend the core, and maintain code quality.
The most important principle for adapter development: **favour stability over specificity**.
22
+
---
20
23
21
-
Google changes `.DY5T1d` class names constantly. LinkedIn redesigns component structure every few months. The adapters that survive these changes anchor on stable signals:
24
+
## Working on core + an adapter simultaneously
22
25
23
-
**Prefer structural/semantic selectors over class names:**
26
+
Adapter directories are gitignored in this repo — they live in their own GitHub repositories under [browserkit-dev](https://github.com/browserkit-dev). Clone the adapter you want into the `packages/` folder and pnpm will link `@browserkit/core` to your local workspace automatically — no `npm link`, no `file:`, no manual steps.
24
27
25
-
```typescript
26
-
// ✅ Stable — Google uses data-hveid for click tracking internally
-[ ]`tests/<site>.scraping.test.ts` — mock DOM tests using a local HTML fixture; launch real Playwright browser against `file://` fixture URL; no network
88
-
-[ ]`tests/mcp-protocol.test.ts` — L3: MCP initialize, tool list (includes `browser` + `close_session`), tool dispatch, `isError` on schema violations
0 commit comments