

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# OpenWeb23Agent-native way to access any website. Bridging agent CLI and human GUI through API.45## Quick Start67```bash8pnpm install && pnpm build9pnpm test # run all tests10pnpm lint # biome lint11pnpm dev sites # list available sites12pnpm dev <site> <op> '{...}' # execute an operation13```1415## Documentation1617- **Shipped skill:** `skills/openweb/` (SKILL.md router, references, knowledge)18- **Architecture & system docs:** `doc/main/README.md`19- **Dev workflow & guides:** `doc/dev/development.md`20- **Progress history:** `doc/PROGRESS.md`21- **Project docs:** `projects/active/` (active work) and `projects/archive/` (historical docs), symlinked from the sibling openweb-projects repo, commit separately2223## Documentation Sync2425When running /update-doc, also check and sync `skills/openweb/` — this repo ships skill docs as a deliverable alongside code. See `doc/main/README.md` § Skill Documentation for the governing principles and structure. Priority areas: files that reference runtime behavior, CLI flags, x-openweb fields, or transport/auth semantics.2627## Project Structure2829```30src/31 compiler/32 types.ts # Core types (RecordedRequestSample, SampleResponse)33 types-v2.ts # Pipeline v2 contracts (5-phase type definitions)34 recorder.ts # HAR parsing + scripted recording35 analyzer/ # Phase 2: label → normalize → cluster → schema → auth36 analyze.ts # Orchestrator: analyzeCapture() → AnalysisReport37 labeler.ts # Sample categorization (api/static/tracking/off_domain)38 path-normalize.ts # Path template normalization39 graphql-cluster.ts # GraphQL sub-clustering40 auth-candidates.ts # Ranked auth bundling with evidence + CSRF options41 constant-headers.ts # Detect constant headers across cluster samples42 schema-v2.ts # Schema inference with enum/format controls43 example-select.ts # Tiered example value selection with PII scrub44 classify.ts # Extraction signals (ssr_next_data, script_json, page_global)45 differentiate.ts # Query vs path param differentiation46 auth-detect.ts, csrf-detect.ts, signing-detect.ts # Primitive detection47 curation/ # Phase 3: apply-curation.ts, scrub.ts (PII)48 generator/ # Phase 4: generate-v2.ts (OpenAPI + AsyncAPI emission)49 ws-analyzer/ # WS capture → classify → cluster → schema50 runtime/51 executor.ts # Main dispatch (HTTP + WS)52 http-executor.ts, browser-fetch-executor.ts, node-ssr-executor.ts53 browser-lifecycle.ts # Auto browser management (ensureBrowser, auth cascade, watchdog)54 warm-session.ts # Anti-bot sensor warm-up (Akamai, DataDome cookie wait)55 response-unwrap.ts # Generic response unwrap (x-openweb.unwrap dot-path extraction)56 session-executor.ts, adapter-executor.ts, extraction-executor.ts57 ws-executor.ts, ws-connection.ts, ws-router.ts, ws-runtime.ts58 cache-manager.ts, token-cache.ts59 navigator.ts # CLI navigation helper (render site/operation info)60 page-polyfill.ts, page-candidates.ts # Browser page utilities61 primitives/ # Auth/CSRF/signing resolvers62 lifecycle/ # Verify, registry, shape-diff (site drift detection)63 capture/ # CDP browser recording (body-size-gate, no content filtering)64 commands/ # CLI command handlers65 types/ # Meta-spec type system66 sites/ # Site packages (openapi.yaml, DOC.md, adapters/)67 lib/68 site-resolver.ts, spec-loader.ts, site-package.ts69 param-validator.ts, permissions.ts, permission-derive.ts70 logger.ts, config.ts, cookies.ts, adapter-params.ts71 errors.ts, ssrf.ts, openapi.ts, asyncapi.ts72 adapter-helpers.ts # pageFetch, graphqlFetch — injected into adapters via runtime73 manifest.ts, url-builder.ts, response-parser.ts, csrf-scope.ts74 config/ # Config files: blocked-domains, blocked-paths, tracking-cookies, static-extensions75skills/openweb/ # The shipped skill (references, knowledge)76install-skill.sh # Skill installer for Claude Code, Codex, OpenCode, OpenClaw77```78
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| dotCMS/corecore-web/CLAUDE.md · 949 | CLAUDE.md | teststylearchtesting-strategy+3 | 100/100 | 14 days ago | |
| tphakala/birdnet-goCLAUDE.md · 1.6k | CLAUDE.md | buildtestlint-formatstyle+8 | 100/100 | today | |
| tyrchen/geektime-bootcamp-aiw7/genslides/backend/CLAUDE.md · 230 | CLAUDE.md | testlint-formatstylearch+6 | 100/100 | 9 days ago | |
| nimbalyst/nimbalystpackages/android/CLAUDE.md · 1.5k | CLAUDE.md | setupbuildstylearch+2 | 100/100 | 14 days ago | |
| microsoft/playwrightCLAUDE.md · 95k | CLAUDE.md | buildtestlint-formatstyle+7 | 100/100 | 7 days ago | |
| Adit-Jain-srm/NightmareNetCLAUDE.md · 46 | CLAUDE.md | buildtestlint-formatstyle+6 | 100/100 | 14 days ago | |
| bagisto/bagistoCLAUDE.md · 28k | CLAUDE.md | setupbuildteststyle+5 | 100/100 | 7 days ago | |
| livewire/livewireCLAUDE.md · 24k | CLAUDE.md | setupbuildteststyle+4 | 100/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/openweb-org-openweb-claude)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.