Metadata-Version: 2.5
Name: ssotkit
Version: 0.4.0
Summary: Backend FastAPI SSOT toolkit: extensible gen plugins, check-gen / check-breaking / check-contract.
Requires-Python: >=3.11
Requires-Dist: pyyaml>=6.0
Provides-Extra: dev
Requires-Dist: fastapi<0.120,>=0.115; extra == 'dev'
Requires-Dist: httpx>=0.27; extra == 'dev'
Requires-Dist: pydantic-settings<3,>=2.4; extra == 'dev'
Requires-Dist: pydantic<3,>=2.7; extra == 'dev'
Requires-Dist: pytest>=8.2; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Requires-Dist: uvicorn>=0.30; extra == 'dev'
Description-Content-Type: text/markdown

# fastapi-ssot-kit

FastAPI **后端契约 SSOT** 工具包：可扩展 `ssotkit` CLI（OpenAPI / Derived gen / check-gen / check-contract / check-breaking）+ 并列分发的 Agent skill。

版本：**0.4.0** · 变更记录：[CHANGELOG.md](CHANGELOG.md) · 域目录：[docs/domains.md](docs/domains.md)

## 业务仓

不要用本仓当业务文档源。打 zip 后按 skill 接入：

```bash
make dist-bundle
# → dist/fastapi-ssot-kit-0.4.0-bundle.zip  （wheel + skills/fastapi-ssot/）
```

用法唯一入口：[skills/fastapi-ssot/SKILL.md](skills/fastapi-ssot/SKILL.md)  
狗粮仓：`../ticket-desk-api/`  
独立第二仓（非狗粮）：`../meeting-room-api/`（见其 `ADOPTION.md`）

## 本仓开发

```bash
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]" -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
make all          # lint + test + check-gen + check-contract + check-breaking
make dist-bundle
```

| 路径 | 作用 |
|------|------|
| `src/ssotkit/plugins/` | GenPlugin 派生器 |
| `src/ssotkit/checks/` | 契约门禁 |
| `src/ssotkit/openapi/` | OpenAPI 共享层 |
| `skills/fastapi-ssot/` | 进 zip 的业务 skill |
| `tests/fixtures/minimal_api/` | 自测 Source |
| `docs/mental-model.md`、`docs/domains.md`、`docs/adr/` | 维护心智、域目录与 ADR |

扩展插件 / 门禁见 [docs/mental-model.md](docs/mental-model.md)。
