Metadata-Version: 2.5
Name: promptex-adapter-contract
Version: 0.1.1
Summary: 把契約審查的提示詞投影成審查平台看得懂的形態：一個端點一份檢查表。
Project-URL: Repository, https://github.com/promptex-ai/test-project
License: MIT
Keywords: openapi,promptex,promptex-adapter
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.11
Description-Content-Type: text/markdown

# promptex-adapter-contract

把契約審查的提示詞投影成審查平台看得懂的形態：**一個端點一份檢查表**。

## 這解決什麼

審查平台（Danger、Reviewdog 這一類）吃的不是提示詞，是一份「這個變更要檢查什麼」的清單。

同一份規則因此要投影兩次：一次給模型讀（那是其他適配器做的事），一次給審查平台讀——
後者要的是逐項可勾的檢查表，而不是散文。

## 投影規則

只有兩條：

- **一個端點一份檢查表。** 端點節點由 [`promptex-plugin-openapi-nodes`](https://www.npmjs.com/package/promptex-plugin-openapi-nodes)
  抽出來，這一支認得它們（`kind == "reference"` 且 `meta` 帶著 `path`）。
- **規則進每一份檢查表。** 破壞性變更的四類對每個端點都成立，沒有只適用於某一條路徑的。

沒有端點節點時只產出一份總表：那時「這個倉庫還沒有契約檔」是真實狀態，而一份空的目錄比
一份說明清楚的總表難懂。

## 產出

```text
.review/
├── index.md            端點總表，進到各份檢查表的入口
├── get-orders.md
├── post-orders.md
└── delete-orders-id.md
```

## 安裝

```bash
pip install promptex-adapter-contract
```

## 相依

**沒有。** 這一支以結構型別宣告它要符合的適配器介面（見 `_contract.py`），不相依框架。
框架發布之後那個檔案可以整份刪掉，改成從框架匯入。
