$ claude -p "Use the repo-explainer agent to explain this repo"

**Demo shop** — tiny Python library (cart + discounts + order lookup), no server/CLI. Sandbox for the meetup agent demos.

**Files**
- `shop/cart.py` — `Item`/`Cart` dataclasses: add, subtotal, `MEETUP10` discount, total
- `shop/orders.py` — in-memory `ORDERS` dict + `get_order(id)`
- `tests/test_cart.py` — 2 tests (quantity, discount); puts repo root on `sys.path`
- `.claude/agents/` — the 7 demo subagents, not app code

**Run:** `python3 -m pytest -q` from repo root.

**Known issues**
- `shop/cart.py:24` — `subtotal()` ignores `Item.quantity`; fails `tests/test_cart.py:9`
- `shop/cart.py:20` — `add()` doesn't merge duplicate SKUs
- `shop/cart.py:31,35` — discount codes hardcoded; no free-shipping-over-500 rule
- `shop/orders.py:10` — unknown ID returns `None` silently

Start with the quantity bug — it's the one the test suite already catches.
