Files
2026-06-19 22:59:41 +00:00

16 lines
997 B
Markdown

# Agent notes
- Use the versions in `.tool-versions`: Elixir 1.20.4 (OTP 29) and Erlang 29.1.2.
- `mix precommit` is the project alias; it runs compile with warnings as errors,
`deps.unlock --unused`, format check, then tests. It does not run Credo; run
`mix credo --strict` separately when checking lint.
- Run a focused test with `mix test test/feed_reader/<name>_test.exs` (or pass a test
line filter with `mix test path:line`). Test-only helpers and fake transports live
in `test/support/` and are compiled only in the test environment.
- `FeedReader` is the public API. Parsing is event-stream based; built-in formats
are tried in RSS, Atom, RDF order, and custom formats are supplied per call and
implement `FeedReader.Format`.
- Remote stream sessions own downloaded temporary files. Fully consuming the event
stream cleans them up; if enumeration stops early, call `FeedReader.close/1`
(typically in `after`). Local-file sessions leave the caller's source file untouched.