# Deploy To NAS Frontend Implementation Plan > **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task. **Goal:** 新增一个 Windows 下可双击执行的 `.bat` 一键入口,默认触发前后端打包并部署到 NAS。 **Architecture:** 通过 `deploy-to-nas.bat` 作为薄封装入口,把默认参数与可选覆盖参数转交给现有 `deploy.ps1`。BAT 只负责入口体验,不承载核心部署逻辑。 **Tech Stack:** Windows CMD, PowerShell, pytest --- ### Task 1: 新增 BAT 入口脚本 **Files:** - Create: `deploy/deploy-to-nas.bat` - Test: `tests/deploy/test_deploy_to_nas.py` **Step 1: 写失败测试** ```python def test_bat_dry_run_uses_default_nas_target(): ... ``` **Step 2: 运行测试确认失败** Run: `py -3.12 -m pytest tests/deploy/test_deploy_to_nas.py::test_bat_dry_run_uses_default_nas_target -q` Expected: 失败,因为 BAT 文件不存在 **Step 3: 最小实现** - 新建 BAT 文件 - 默认调用 `deploy.ps1` - 支持 `--dry-run` **Step 4: 运行测试** Run: `py -3.12 -m pytest tests/deploy/test_deploy_to_nas.py::test_bat_dry_run_uses_default_nas_target -q` Expected: 通过 ### Task 2: 支持参数覆盖 **Files:** - Modify: `deploy/deploy-to-nas.bat` - Test: `tests/deploy/test_deploy_to_nas.py` **Step 1: 写失败测试** ```python def test_bat_dry_run_accepts_override_arguments(): ... ``` **Step 2: 运行测试确认失败** Run: `py -3.12 -m pytest tests/deploy/test_deploy_to_nas.py::test_bat_dry_run_accepts_override_arguments -q` Expected: 失败,因为 BAT 未透传覆盖参数 **Step 3: 最小实现** - 按位置参数传递 host、port、username、password、remoteRoot - 把 `--dry-run` 透传给 PowerShell **Step 4: 全量测试** Run: `py -3.12 -m pytest tests/deploy/test_deploy_to_nas.py -q` Expected: 通过