90 lines
2.8 KiB
Markdown
90 lines
2.8 KiB
Markdown
# Scripts
|
||
|
||
## `staging-smoke.sh`
|
||
|
||
Post-deploy smoke helper для staging/production-like окружений.
|
||
|
||
```bash
|
||
./scripts/staging-smoke.sh https://crank.example.com
|
||
```
|
||
|
||
## `authenticated-staging-smoke.sh`
|
||
|
||
Browser-authenticated smoke helper.
|
||
|
||
Обязательные переменные:
|
||
|
||
- `CRANK_STAGING_ADMIN_EMAIL`
|
||
- `CRANK_STAGING_ADMIN_PASSWORD`
|
||
|
||
```bash
|
||
CRANK_STAGING_ADMIN_EMAIL=owner@example.com \
|
||
CRANK_STAGING_ADMIN_PASSWORD=secret \
|
||
./scripts/authenticated-staging-smoke.sh https://crank.example.com
|
||
```
|
||
|
||
## `authenticated-product-smoke.sh`
|
||
|
||
Authenticated product smoke helper. Создает временную REST operation на
|
||
внутренний `admin-api` health endpoint, публикует агента, выпускает API-ключ и
|
||
проверяет MCP `tools/list` / `tools/call`. Внешние публичные API не используются.
|
||
|
||
Обязательные переменные:
|
||
|
||
- `CRANK_STAGING_ADMIN_EMAIL`
|
||
- `CRANK_STAGING_ADMIN_PASSWORD`
|
||
|
||
```bash
|
||
CRANK_STAGING_ADMIN_EMAIL=owner@example.com \
|
||
CRANK_STAGING_ADMIN_PASSWORD=secret \
|
||
./scripts/authenticated-product-smoke.sh https://crank.example.com
|
||
```
|
||
|
||
По умолчанию временные сущности удаляются после успешной проверки. Для отладки
|
||
можно оставить их в workspace:
|
||
|
||
```bash
|
||
CRANK_PRODUCT_SMOKE_KEEP_ASSETS=1 ./scripts/authenticated-product-smoke.sh https://crank.example.com
|
||
```
|
||
|
||
## `check-rust-code-health.sh`
|
||
|
||
Проверяет базовые правила сопровождаемости Rust-кода:
|
||
|
||
- новые `.rs` файлы не больше 1000 строк;
|
||
- существующие крупные файлы не должны расти сверх текущего baseline;
|
||
- крупные inline test modules запрещены вне legacy allowlist.
|
||
|
||
```bash
|
||
./scripts/check-rust-code-health.sh
|
||
```
|
||
|
||
## `check-rust-boundaries.sh`
|
||
|
||
Проверяет направление зависимостей между Rust workspace crates:
|
||
|
||
- приложения из `apps/*` могут зависеть от crates, но не от других приложений;
|
||
- crates не должны зависеть от приложений;
|
||
- `crank-core` не зависит от runtime, registry и adapters;
|
||
- `crank-registry` не зависит от runtime и adapters;
|
||
- `crank-runtime` не зависит от registry.
|
||
|
||
```bash
|
||
./scripts/check-rust-boundaries.sh
|
||
```
|
||
|
||
## `check-community-scope.sh`
|
||
|
||
Проверяет, что в community-репозиторий не попали функции и тексты за пределами
|
||
REST -> MCP сценария.
|
||
|
||
```bash
|
||
./scripts/check-community-scope.sh
|
||
```
|
||
|
||
Unit-тесты checker-а лежат в `tests/unit`:
|
||
|
||
```bash
|
||
python3 -m unittest discover -s tests/unit
|
||
```
|