agentleFS

AGENTS.md examples from real projects

How real projects brief Codex, Cursor and every other agent that reads AGENTS.md.

Worked for most · soon
CloudflareAGENTS.md

workerd / readable-byte

cloudflare/workerd/src/bench/streams/readable-byte/AGENTS.md

ReadableStream with type: 'bytes', under both implementations. Suite rules: src/bench/streams/AGENTS.md. The byte shapes are 256 x 64 B, 64 x 4 KiB and 16 x 64 KiB (SHAPES in helpers.js): many small chunks, a common network read size, and large chunks. - For a default read of a byte stream without autoAllocateChunkSize, C++ allocates a 4 KiB BYOB request (16 KiB under an autogate) where the TypeScript implementation, like the spec, has none (readable-byte test ledger #5). defaultReader's pull() source…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / strategies

cloudflare/workerd/src/bench/streams/strategies/AGENTS.md

CountQueuingStrategy and ByteLengthQueuingStrategy, under both implementations. Suite rules: src/bench/streams/AGENTS.md. - The strategy-object cases are the suites' only synchronous ones: they queue no microtasks. Every result goes through b.blackBox(), whose cost per call the report shows in the group's header, the same in both cells. - Under C++, every access to a strategy's size mints a new function, where the TypeScript implementation returns one shared function (strategies test ledger #1). The size() cases, which read size for each call, therefore also…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / transform

cloudflare/workerd/src/bench/streams/transform/AGENTS.md

TransformStream, under both implementations. Suite rules: src/bench/streams/AGENTS.md. TRANSFORMERS in helpers.js names the transformers the cases compare: none, transform() enqueuing each chunk, an async transform(), one enqueuing each chunk twice, one dropping every other chunk, and flush() enqueuing a last chunk. Each stream gets a new transformer.

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / writable

cloudflare/workerd/src/bench/streams/writable/AGENTS.md

WritableStream and its default writer, under both implementations. Suite rules: src/bench/streams/AGENTS.md.

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / cloudflare

cloudflare/workerd/src/cloudflare/AGENTS.md

TypeScript implementations of Cloudflare product APIs (AI, D1, R2, Vectorize, etc.). It is common, but not required, for top-level .ts files to re-export from internal/ via cloudflare-internal: specifiers. This allows for a clean separation between public API surface and internal implementation details. Each product test directory contains: Mock wiring uses wrapped bindings: moduleName = "cloudflare-internal:<product>-api" with innerBindings pointing fetcher at the mock service. Shared instrumentation-test-helper.js lives in internal/test/.

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / node

cloudflare/workerd/src/node/AGENTS.md

TypeScript and JavaScript layer implementing Node.js compatible built-in modules for Workers. It is split across multiple layers: It is common, but not required, for top-level .ts files to re-export from internal/ via node-internal: specifiers. This allows for a clean separation between public API surface and internal implementation details. See README.md for 12 policy rules governing compat scope and philosophy. node:* modules are gated behind the nodejs_compat compatibility flag. The node:async_hooks module can be enabled individually via the nodejs_als compatibility flag.

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / per_isolate

cloudflare/workerd/src/per_isolate/AGENTS.md

Per-isolate JavaScript/TypeScript bootstrap: scripts that run synchronously at context creation, before any user code. C++ entry point: src/workerd/api/per-isolate-bootstrap.c++. - Scripts are compiled as functions whose parameters are the pseudo-globals require, module, exports, compatFlags, autogates, primordials, utils are in scope but NOT on globalThis (see per_isolate-env.d.ts). - Module system is bootstrap CommonJS: require('webstreams/queue') + module.exports = {...}. The src/node/ ESM-only rule does NOT apply here. Circular requires are a FATAL startup error — keep modules acyclic (e.g., webstreams/ring-buffer is a leaf,…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / crypto

cloudflare/workerd/src/per_isolate/crypto/AGENTS.md

TypeScript reimplementations of crypto APIs that must be replaced when the typescript_implemented_streams compat flag is on. Parent directory conventions (primordials discipline, private-brand dispatch, no instanceof) apply — see src/per_isolate/AGENTS.md. DigestStream is one of only two WritableStream subclasses in the runtime. When the streams flag swaps globalThis.WritableStream for the TypeScript class, a C++ subclass of the C++ WritableStream no longer passes the brand checks used by pipeTo, and instanceof WritableStream becomes false. Reimplementing the subclass in TypeScript is what restores the…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / events

cloudflare/workerd/src/per_isolate/events/AGENTS.md

EventTarget plumbing for the bootstrap. Parent directory conventions (primordials discipline, private-brand dispatch, no instanceof) apply; see src/per_isolate/AGENTS.md. - A bootstrap EventTarget subclass extends EventTarget from events/event-target-internals and reaches EventTarget internals only through that module, never through utils or the EventTarget primordial directly. EventTarget itself is still C++; when it moves to the bootstrap, the module is reimplemented over it and subclasses are untouched. - Listener-count hooks run synchronously inside addEventListener(), removeEventListener() and dispatch: they must neither run user code nor…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / webfs

cloudflare/workerd/src/per_isolate/webfs/AGENTS.md

TypeScript reimplementation of the File System Access API's writable stream, needed when the typescript_implemented_streams compat flag is on. Parent directory conventions (primordials discipline, private-brand dispatch, no instanceof) apply — see src/per_isolate/AGENTS.md. FileSystemWritableFileStream is one of only two WritableStream subclasses in the runtime. When the streams flag swaps globalThis.WritableStream for the TypeScript class, a C++ subclass of the C++ WritableStream no longer passes the brand checks used by pipeTo, and instanceof WritableStream becomes false. Reimplementing the subclass in TypeScript is what…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / webstreams

cloudflare/workerd/src/per_isolate/webstreams/AGENTS.md

TypeScript Streams implementation with a backend-blind reader layer and two consumer backends behind the StreamConsumer/ByteStreamConsumer fence. Authoritative docs are IN-SOURCE — read the file headers first. Parent directory conventions (primordials discipline, JSG capture trap, private-brand dispatch, no instanceof) apply here — see src/per_isolate/AGENTS.md. The spec's tee() gives each branch its own controller and queue, fed by a reader on the original. The queued backend instead has ONE queue with N consumers (cursors), one per live branch: tee() forks the stream's…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / pyodide

cloudflare/workerd/src/pyodide/AGENTS.md

Python Workers runtime layer. Replaces Pyodide's loader with a minimal substitute adding memory snapshot support. TS+Python; modules registered as pyodide-internal:* BUILTIN modules. pool/emscriptenSetup.ts runs in vanilla V8 isolate -- CANNOT import C++ extension modules. Python SDK (internal/workers-api/) now lives in cloudflare/workers-py and is installed from PyPI. Keep existing code for backward compatibility; new features go to workers-py. Tests live in src/workerd/server/tests/python/. py_wd_test.bzl macro: expands %PYTHON_FEATURE_FLAGS template, handles multiple Pyodide versions, snapshot generation/loading, per-version compat flag isolation. Tests are size="enormous" by…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / rust

cloudflare/workerd/src/rust/AGENTS.md

A dozen or so Rust crates — mostly libraries, plus the gen-compile-cache binary — linked into workerd via CXX FFI. No Cargo workspace — entirely Bazel-driven (wd_rust_crate.bzl / wd_rust_binary.bzl). Clippy pedantic+nursery enabled; allow-unwrap-in-tests; clippy.toml and rustfmt.toml live at the repository root and apply to every crate. Rust does not have to live here. A crate that belongs to a component lives beside that component's C++, in a subdirectory named for the crate: e.g. workerd's entry point (workerd-cli, src/workerd/server/cli/, declared in…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / cxx

cloudflare/workerd/src/rust/cxx/AGENTS.md

This directory contains workerd's in-tree fork of cxx-rs. It was imported from the former cloudflare/workerd-cxx repository. Changes to the fork and its workerd consumers should use the in-tree Bazel labels and land atomically. The fork adds KJ exceptions, smart pointers, data types, and bidirectional async interop. Do not assume stock cxx-rs behavior when changing bridge generation or runtime code. Run commands from the workerd repository root: Important targets: Dependencies come from workerd's @crates_vendor repository and @capnp-cpp; do not add a…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / events

cloudflare/workerd/src/tests/events/AGENTS.md

Test suites for EventTarget subclasses that are moving from C++ to the per-isolate bootstrap (src/per_isolate/), one subdirectory per API (messagechannel/, eventsource/). Every test here runs against both implementations of its API, the C++ one and the TypeScript one, to prove parity. The suite rules are those of src/tests/streams/AGENTS.md, applied verbatim: one file per behavior; main.js with explicit named re-exports; the module list defined once in <name>-modules.capnp and shared by the <name>-cpp.wd-test and <name>-ts.wd-test cells; compatibility flags pinned by name, never…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / eventsource

cloudflare/workerd/src/tests/events/eventsource/AGENTS.md

An informal specification of EventSource as implemented in workerd, derived from, and kept in lockstep with, the test suite in this directory. The tests are the normative artifact. Both the C++ implementation (src/workerd/api/eventsource.{h,c++}) and the TypeScript implementation (src/per_isolate/eventsource/eventsource.ts, behind the TS_EVENT_SOURCE autogate) are covered. The TypeScript class subclasses EventTarget through the seam in src/per_isolate/events/event-target-internals.ts and does its I/O through RequestIo (src/workerd/api/request-io.{h,c++}), so dispatch, fetch and request binding are shared; the divergences are in class shape, in event stream parsing, in…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / messagechannel

cloudflare/workerd/src/tests/events/messagechannel/AGENTS.md

An informal specification of MessageChannel and MessagePort as implemented in workerd, derived from, and kept in lockstep with, the test suite in this directory. The tests are the normative artifact. Both the C++ implementation (src/workerd/api/messagechannel.{h,c++}) and the TypeScript implementation (src/per_isolate/messagechannel/messagechannel.ts, behind the TS_MESSAGE_CHANNEL autogate) are covered. The TypeScript classes subclass EventTarget through the seam in src/per_isolate/events/event-target-internals.ts, and both implementations clone messages with the same serializer, so the dispatch and cloning machinery is shared by construction; the divergences are in class…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / node

cloudflare/workerd/src/tests/node/AGENTS.md

Test suites for the parts of the Node.js compatibility layer (src/node/) that sit on top of the Web Streams implementation: the node:stream web-interop adapters, node:net sockets over connect() stream halves, and the node:http client and server over fetch() bodies. One subdirectory per area. Every test here runs against both streams implementations — the legacy C++ one (src/workerd/api/streams/) and the TypeScript one (src/per_isolate/webstreams/) — to prove the node layer behaves identically on either. The suite rules are those of src/tests/streams/AGENTS.md, applied…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / http-client

cloudflare/workerd/src/tests/node/http-client/AGENTS.md

An informal specification of how a node:http ClientRequest drives fetch() and the web streams underneath it — the request body it gathers and hands to fetch(), and the Response body it pumps into its IncomingMessage — derived from and kept in lockstep with the test suite in this directory. The tests are the normative artifact; this document maps behaviors to the tests that assert them. Every test runs against the C++ streams implementation (http-client-cpp.wd-test) and the TypeScript one (http-client-ts.wd-test). The…

9.1k8mo agoReviewMountCreate a free account to mount
CloudflareAGENTS.md

workerd / http-server

cloudflare/workerd/src/tests/node/http-server/AGENTS.md

An informal specification of how a node:http Server drives the web streams underneath it — the Request body it pumps into the IncomingMessage, and the ReadableStream the ServerResponse builds as the body of the Response it hands back to fetch() — derived from and kept in lockstep with the test suite in this directory. The tests are the normative artifact; this document maps behaviors to the tests that assert them. Every test runs against the C++ streams implementation (http-server-cpp.wd-test) and…

9.1k8mo agoReviewMountCreate a free account to mount
CLAUDE.md vs AGENTS.md

About AGENTS.md

What is AGENTS.md?

An open format for instructions to coding agents, read by Codex, Cursor and others. Think of it as a README written for agents.

Where does it go?

At the repository root, with more specific files in subdirectories. Agents read the one closest to the file they're editing.

What should it contain?

Setup and test commands, code style, and the rules a new contributor would need to know.

Does Claude Code read it?

Claude Code reads CLAUDE.md. A one-line CLAUDE.md that points at AGENTS.md covers both.