# AGENTS.md

Protocol Buffers - Google's data interchange format

## Setup

```
# TODO: the install command. No lockfile was found, so this could not be inferred.
```

## Commands

```
# TODO: nothing declares a build or test command, so an agent has to guess.
# This is the single most valuable section of this file. Fill it in.
```

## Layout

- `src/`    680 source files
- `upb/`    298 source files
- `java/`   274 source files
- `csharp/` 228 source files
- `php/`    184 source files
- `python/` 155 source files

## Conventions

- Tests live alongside the code they cover, following `.github/scripts/validate_yaml_test.sh`.
- CI defines what passing means. See `.github/workflows/clear_caches.yml`, and keep it green.
- TODO: add the two or three conventions a newcomer always gets wrong here.

## Gotchas

- `csharp/src/Google.Protobuf.Test.TestProtos/Unittest.pb.cs` is 1302KB. It will not fit comfortably in context, so read it in parts.
- No lockfile is committed, so an install here may not match what CI produced.

---

Drafted by agentreadme.com from what is in this repository. Everything marked TODO
needs a human. Check it in as AGENTS.md at the root.
