Files

2.5 KiB

Skill: Testing, CI and Release

Когда использовать

Используй этот skill при добавлении CI, release scripts, build fixes, test changes, dependency updates, packaging changes или перед финальным отчетом по крупной задаче.

Minimal local checks

Frontend:

npm ci
npm run build

Rust:

cd src-tauri
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets

Tauri:

npm run tauri -- info
npm run tauri -- build

PowerShell plan-only:

& .\scripts\install-control-app.ps1 -PlanOnly
& .\scripts\install-proxyfier.ps1 -PlanOnly
& .\scripts\install-singbox.ps1 -PlanOnly

CI recommendation

Add GitHub Actions with at least:

  • frontend build on Windows and Ubuntu if practical;
  • Rust fmt/clippy/test;
  • PowerShell syntax/plan-only smoke on Windows;
  • Tauri build on Windows for release branches/tags;
  • artifact upload only for trusted release workflow.

Dependency updates

When changing dependencies:

  • Update lockfiles.
  • Check Tauri v2 compatibility.
  • Avoid adding large UI/runtime dependencies for tiny tasks.
  • Avoid adding shell/process libraries that bypass existing backend boundaries.
  • Note why dependency is needed.

Release hygiene

Before release:

  • Verify app version in package.json and Tauri config if applicable.
  • Verify icons/assets size.
  • Verify CSP and capabilities.
  • Verify no raw secrets/test URLs in repo.
  • Verify installer scripts with -PlanOnly.
  • Verify clean install on Windows VM.
  • Verify external SOCKS5 flow.
  • Verify local sing-box subscription flow.
  • Verify uninstall/safe cleanup behavior.

Final report format

Changed:
- ...

Verified:
- npm run build
- cargo test

Not verified:
- Windows elevated install/uninstall, because ...

Risks:
- ...

Do not write “all tests pass” unless all listed relevant tests actually ran. Humanity has enough fictional dashboards.

Как отчитываться

Перед финальным ответом применить .agent/skills/communication-reporting/SKILL.md и .agent/checklists/communication.md.

Минимум для нетривиальной задачи:

  • короткая сводка;
  • таблица файлов Файл / Что изменилось / Зачем;
  • важные места без пересказа каждой строки;
  • что проверено;
  • что не проверено;
  • конкретные риски.