jevcrates.git / CLAUDE.md

For agents, on top of README.md, which they read first.

  • One protocol layer, one retry policy: jev-protocol and jev-client. A second copy of either in a consumer, or a retry loop in jev-http or jev-worker, is the duplication this repo exists to remove.
  • The split is the I/O line. Add a crate only when a consumer needs one part without the rest, or the parts differ in dependencies or platform.
  • Consumers carry this repo as a git submodule (third-party/jevcrates; jevsnes at third-party/rust/jevcrates, built through reindeer) and depend on its crates by path. A change here reaches a consumer when it moves its submodule pin. Work in ~/jevcrates, not in a consumer's submodule checkout.
  • The remote is the private deizel/jevcrates. Pushing still needs the owner's yes each time.
  • Every README is a chapter of lmjtfy's book (Chapter 16 is this root; Chapter 21½ is jev-mock/src), ending in a Previous / Up / Next line in the reading order root, jev-protocol, jev-client, jev-worker, jev-http, jev-mock, each crate's src/ (and its subfolders, then tests/) right after the crate. A new folder gets its README and CLAUDE.md, and its neighbours' navigation lines move with it.