---
trigger: always_on
alwaysApply: false
glob:
description: 配布ビルド前に全テスト（Community・Pro）を実行するルール
---

- **用語**: **リビルド**とは**配布ビルド**を指す。ユーザーが「リビルド」と指示した場合は、本ルールに従い配布ビルド（後述のテスト成功後、`build:community` および `build:pro`）を実行する。

1. **配布ビルド**（`npm run build:community` または `npm run build:pro`）を実行する前に、**Community 版と Pro 版の全テストが成功していること**を必須とする。

2. **必須テストの内容**（いずれも exit 0 であること）:
   - `npm run test:rust` … Community 単体
   - `npm run test:rust:pro` … Pro 単体
   - `npm run test:e2e` … Community E2E
   - `npm run test:e2e:pro` … Pro E2E（embedding モデル要）

3. **一括実行**: `npm run test:all` で上記 4 つを順に実行する。いずれかが失敗したら配布ビルドを行わず、失敗を解消してから再度 `test:all` を実行する。

4. 仕様の詳細は `docs/specification/05_development_guide.md` の「本番ビルド」を参照する。
