422990bc4e
mitmproxy's aioquic/mitmproxy-rs deps have no free-threaded wheels and source builds fail. Workload is I/O-bound so free-threading gave no benefit. Switch .python-version to 3.14, drop /tmp stub overrides, reinstall mitmproxy with real wheels (imports cleanly). Update README and design spec to record the decision. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
34 lines
1.0 KiB
Markdown
34 lines
1.0 KiB
Markdown
# auto-reverse
|
|
|
|
Conversational CLI that reverse-engineers a website's API: an LLM drives a headed
|
|
browser while an embedded mitmproxy captures real traffic and documents it into a
|
|
live OpenAPI spec + markdown.
|
|
|
|
## Runtime
|
|
|
|
Built on **standard CPython 3.14** (managed via `uv`).
|
|
|
|
> **Note on free-threading:** an earlier iteration targeted free-threaded 3.14
|
|
> (`3.14t`), but `mitmproxy` cannot run there yet — its `aioquic` and
|
|
> `mitmproxy-rs` dependencies only ship Limited-API (`abi3`) wheels, which the
|
|
> free-threaded build rejects, and source builds fail. Since auto-reverse's
|
|
> concurrency is entirely I/O-bound (an asyncio proxy loop, an agent loop waiting
|
|
> on network/LLM, and Playwright running as a separate Node subprocess),
|
|
> free-threading offered no practical benefit here. The project therefore targets
|
|
> standard CPython 3.14.
|
|
|
|
## Setup
|
|
|
|
```bash
|
|
uv sync
|
|
uv run playwright install chromium
|
|
```
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
ANTHROPIC_API_KEY=... uv run auto-reverse https://example.com
|
|
```
|
|
|
|
(Full usage, flags, and REPL commands are documented as the CLI lands.)
|