%%{init: {"flowchart": {"curve": "basis"}}}%%
flowchart LR
    Smithy["Smithy model<br/>you author"]
    Plugin["smithplates plugin"]
    IR["Intermediate representation<br/>SQL IR · HTTP IR · shared types"]

    subgraph python["Python"]
        PyMigrations["Schema migrations<br/>Postgres · SQLite"]
        PySql["SQL repositories"]
        PyServer["HTTP server<br/>FastAPI"]
        PyClient["HTTP client<br/>httpx"]
    end

    subgraph typescript["TypeScript"]
        TsClient["HTTP client<br/>fetch · axios"]
    end

    Smithy --> Plugin --> IR
    IR --> PyMigrations
    IR --> PySql
    IR --> PyServer
    IR --> PyClient
    IR --> TsClient
