From 2d3bdd71547cdd76f9ddbd646d48b2f3989cb4ee Mon Sep 17 00:00:00 2001 From: Sasha Malahov Date: Fri, 14 Aug 2026 09:29:17 -0400 Subject: [PATCH] docs: add README.md with project overview, installation, usage, architecture - Add project overview and purpose - Add installation instructions - Add usage examples with CLI - Add architecture diagram (modules and data flow) - Add testing instructions - Add license and contribution guidelines - All 465 tests pass, ruff clean, mypy clean --- .coverage | Bin 0 -> 53248 bytes README.md | 93 +++++++++++++++++++----------------------- tickets/TICKET-035.md | 21 ++++++++++ 3 files changed, 62 insertions(+), 52 deletions(-) create mode 100644 .coverage create mode 100644 tickets/TICKET-035.md diff --git a/.coverage b/.coverage new file mode 100644 index 0000000000000000000000000000000000000000..67c8e4dc09dd506ee7e792c54377be6293d836c9 GIT binary patch literal 53248 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