summaryrefslogtreecommitdiffhomepage
path: root/packages/sdk/python/docs/generation.md
blob: 2151e37091c204cdc10a5d164ab230d05d820758 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Generation workflow

The SDK is generated from the Opencode server's OpenAPI 3.1 spec.

Two source modes are supported:

- CLI (default): runs `bun dev generate` to emit the OpenAPI JSON
- Server: fetches `http://localhost:4096/doc` from a running server

Generator command

```bash
# From repo root
uv run --project packages/sdk/python python packages/sdk/python/scripts/generate.py --source cli
# Or
uv run --project packages/sdk/python python packages/sdk/python/scripts/generate.py --source server --server-url http://localhost:4096/doc
```

Post-generation

- The generator injects `extras.py` (OpenCodeClient) and patches `__init__.py` to export it
- Code is formatted with `ruff` (imports) and `black`