with — the test
suite in this directory. **The tests are the normative artifact**; this
document indexes every specified behavior to the test that asserts it. Both
the C++ implementation (`src/workerd/api/streams/encoding
with — the test suite in this
directory. **The tests are the normative artifact**; this document is the
index that maps every specified behavior to the test that asserts it. Both
changes to streams code, check whether the change requires updates to
any of these documentation files:
- **`README.md`** — if the change alters stream classification (e.g. new stream type),
state machine behavior
bindings: see `src/rust/jsg/` and `src/rust/jsg-macros/`; full macro reference in `src/rust/AGENTS.md`; GC tracing (`Traced` + `GarbageCollected`) documented in `src/rust/jsg-macros/README.md`
## INVARIANTS
These rules MUST be followed when writing or modifying JSG code
forward-compatibility is genuinely required (e.g., the API frequently adds new fields across releases). Document the reason in a JSDoc comment. Do not add index signatures by default.
- **Add JSDoc
child doc.
**Two-phase tool loading** (mode-agnostic `getActors()` vs mode-dependent
`getToolsForServerMode()`) is documented once in
[`../DEVELOPMENT.md`](../DEVELOPMENT.md) — read it before touching tool loading.
After any change
Size
Bundle size is critical. Be mindful of imports and tree-shaking.
- [Bundle size documentation](https://develop.sentry.dev/sdk/platform-specifics/javascript-sdks/bundle-size.md)
- [Browser tracing documentation](https://develop.sentry.dev/sdk/platform-specifics/javascript-sdks/browser-tracing.md)
## CDN Bundles
Use `/add-cdn-bundle` skill
shared_ptr` to avoid deciding ownership. When independent
shared owners are necessary, document why and break cycles with `std::weak_ptr`.
- **MUST** treat raw pointers and references as non-owning
argument. Use `mongo.SessionFromContext(ctx)` (v2 pattern) — not the old `mongo.SessionContext`.
- **BSON**: `bson.D` for ordered documents and commands. `bson.M` only when order genuinely doesn't matter. `bsoncore.Document` in hot paths (zero
Agent Development Guide - Strands Agents Monorepo
This document provides guidance for AI agents working in the Strands Agents monorepo. For human contributor guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md).
This file is shared
Agent Development Guide - Python Package
This document provides context and conventions for AI coding assistants working on the Strands harness Python package (`harness-py/`). For human contributors, see [CONTRIBUTING.md](../CONTRIBUTING.md
Agent Development Guide - Documentation Site
This document provides guidance for AI agents working on the Strands Agents documentation site (the `site/` directory). For human contributor guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md).
## Purpose
Agent Development Guide - CLI Package
This document provides context and conventions for AI coding assistants working on the Strands CLI (`strands-cli/`). For human contributors, see [CONTRIBUTING.md](../CONTRIBUTING.md).
> **Cross-package
Agent Development Guide - Python SDK
This document provides context, patterns, and guidelines for AI coding assistants working on the Strands Python SDK (`strands-py/`). For human contributors, see [CONTRIBUTING.md](../CONTRIBUTING.md
remove instead. The experimental wt step promote is the sole branch-exchange operation.
## Documentation
Behavior changes require documentation updates. src/cli/mod.rs is primary for command help and generated command pages; docs/AGENTS.md
Benchmark guidelines
Bench groups and examples are documented at the top of their Rust files. Criterion takes a positional substring filter or --exact; it has no --skip. For example, cargo
Documentation site
The site uses Astro and Starlight. The project hook installs dependencies, fetches assets, and starts the dev server; wt list shows this worktree's URL. Site checks
asyncio.md`, `re.md`).
Add a section to an existing file when the feature is already documented; create a new file only when there is no
fit.
A new file also needs
coding partner — from beginner to advanced topics including Agent Mode.
The repository is **documentation-centric**: most content is Markdown-based lesson guides. A small number of code samples exist within
cause and fix the real function/path. If the
root cause is not fixed yet, document the row as `PARTIAL` or `BLOCKED` with
exact evidence instead of forcing behavior in prompts