CLAUDE.md · git:20261103.a1d8b2a · 2026-11-03 · sha256 b5f55d0d64733133
CLAUDE.md git:20261103.a1d8b2aA
Immutable. This exact content never changes and is served at /api/v1/blob/b5f55d0d64733133.
READ ~/.claude/AGENTS.md BEFORE ANYTHING (skip if missing). # unbrowse (client) — guide for agents Open-source client for the hosted Unbrowse REST API (`/api/v1`) and remote MCP. No browser, no site logic; `unbrowse mcp` is only a stdio proxy to the hosted MCP. | Path | Owns | |---|---| | `packages/sdk` | `@unbrowse/sdk`: every `/api/v1` route. client and types maintained here; only `mcp-install.ts` is source-synced | | `packages/cli` | `unbrowse` CLI on the SDK (bundled in). `auth.ts`: API key and OAuth storage | | `skill/SKILL.md` | Agent contract, from unbrowse6 `skill/`; shipped in the CLI package and every plugin | | `skills/unbrowse-contribute` | Client-owned skill: an Unbrowse bug becomes a fix PR here. Shipped with the CLI (`contribute/`) and plugins | | `plugins/<host>` | Claude Code, Codex, Grok Build, OpenClaw, Hermes, elizaOS plugins. Skill and shared hook scripts are copies: edit sources, run `node scripts/sync-plugins.mjs` | | `docs/` | User docs and the whitepaper | Commands: `bun install` · `bun test ./packages ./tests` · `bun run check:plugins` · `bun run typecheck` · `bun run build` · `bun run cli help`. Rules: - A new API route gets an SDK method and a row in `packages/sdk/tests/client.test.ts`; a CLI command maps to one SDK method. - Never accept, log or print a password or token. - Built output runs on plain Node 18.17+. - Root CLAUDE.md is a byte copy of this file. - `unbrowse setup` (`packages/cli/src/setup.ts`) installs both skills into every agent and a marked rule block into hosts' global instructions; `--remove` must undo exactly what it wrote. - Bug capture (`packages/cli/src/bug.ts`): only 5xx and crashes are recorded, always redacted. Never record 4xx or network failures. Money gap: a new user can install the right client and complete a first hosted request. Root CLAUDE.md and AGENTS.md must be identical. No nested agent instruction files. Public boundary: [docs/public-sync.md](docs/public-sync.md). Verify with `bun run check:public` (PUBLIC_SURFACE_OK), then tests and packed-client smoke. Read package MODULE.md before editing.