CLI-level smoke tests using --yaml output against real Twitter API. Default skipped via @pytest.mark.smoke marker + pyproject.toml addopts. Run locally with: uv run pytest -m smoke -v
41 lines
704 B
Markdown
41 lines
704 B
Markdown
# Structured Output Schema
|
|
|
|
`twitter-cli` uses a shared agent-friendly envelope for machine-readable output.
|
|
|
|
## Success
|
|
|
|
```yaml
|
|
ok: true
|
|
schema_version: "1"
|
|
data: ...
|
|
```
|
|
|
|
## Error
|
|
|
|
```yaml
|
|
ok: false
|
|
schema_version: "1"
|
|
error:
|
|
code: api_error
|
|
message: User @foo not found
|
|
```
|
|
|
|
## Notes
|
|
|
|
- `--yaml` and `--json` both use this envelope
|
|
- non-TTY stdout defaults to YAML
|
|
- tweet and user lists are returned under `data`
|
|
- `status` returns `data.authenticated` plus `data.user`
|
|
- `whoami` returns `data.user`
|
|
- write commands also support explicit `--json` / `--yaml`
|
|
|
|
## Error Codes
|
|
|
|
Common structured error codes:
|
|
|
|
- `not_authenticated`
|
|
- `not_found`
|
|
- `invalid_input`
|
|
- `rate_limited`
|
|
- `api_error`
|