# Участие в разработке ProxyWarden ProxyWarden остается локальной Windows-утилитой. Изменения не должны превращать проект в VPN-провайдер, proxy server, SaaS или облачный control plane. Перед работой прочитайте `AGENTS.md` и релевантный skill из `.agent/skills`. ## Локальная проверка ```powershell npm ci npm run format:check npm run lint npm run typecheck npm test -- --run npm run build Push-Location src-tauri cargo fmt --all -- --check cargo clippy --all-targets --all-features -- -D warnings cargo test --all-targets Pop-Location npm run tauri -- info & .\scripts\check-runtime-powershell-boundary.ps1 -CheckOnly & .\scripts\update-component-bundle.ps1 -PlanOnly & .\scripts\update-component-bundle.ps1 -CheckOnly & .\scripts\audit-windows-smoke.ps1 -Mode PlanOnly & .\scripts\prepare-release.ps1 -PlanOnly -SkipBuild ``` Windows service, UAC, installer и реальный routing нельзя считать проверенными только по unit-тестам. Для таких изменений укажите выполненный ручной сценарий или явно оставьте этот пробел в отчете. ## Изменения - Держите `src/api/tauriCommands.ts` единственным TypeScript facade над Tauri `invoke`. - Не показывайте subscription URL, credentials, proxy password или `X-HWID` в логах и UI. - Не добавляйте скрытые install/start/stop/uninstall действия в apply. - Не добавляйте PowerShell, `.ps1` resources или generated scripts в production runtime. PowerShell разрешён только в точном build/release/QA allowlist, который проверяет `check-runtime-powershell-boundary.ps1`. - Храните managed components только в `C:\Program Files\ProxyWarden\components`; `config\components.json` допустим лишь как legacy migration input, а не source of truth. - Добавляйте минимальный тест для новой ветвящейся логики. - Не коммитьте runtime-файлы из `C:\ProgramData\ProxyWarden` и generated output. В pull request кратко опишите поведение, затронутые файлы, выполненные проверки и оставшиеся Windows/manual риски.