# Deploy Tool Workbench Implementation Plan > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** Build a Python tkinter workbench for detecting and deploying Spring Boot + Vue separated projects. **Architecture:** Core logic lives in testable modules for scanning, environment checks, and deployment planning. The GUI imports those modules and presents their results in a left-nav workbench with dashboard cards, settings, and logs. **Tech Stack:** Python 3 standard library, tkinter/ttk, unittest. --- ### Task 1: Core Project Scanner **Files:** - Create: `deploy_tool/scanner.py` - Test: `tests/test_scanner.py` - [ ] Write tests for detecting backend, frontend, and SQL files from temporary folders. - [ ] Run `python -m unittest tests.test_scanner` and verify tests fail because the module does not exist. - [ ] Implement scanner dataclasses and `scan_project`. - [ ] Run `python -m unittest tests.test_scanner` and verify pass. ### Task 2: Environment Checks **Files:** - Create: `deploy_tool/environment.py` - Test: `tests/test_environment.py` - [ ] Write tests using an injected command runner for installed and missing commands. - [ ] Run `python -m unittest tests.test_environment` and verify tests fail because the module does not exist. - [ ] Implement environment check result types and command checks. - [ ] Run `python -m unittest tests.test_environment` and verify pass. ### Task 3: Deployment Plan **Files:** - Create: `deploy_tool/deployer.py` - Test: `tests/test_deployer.py` - [ ] Write tests that generate backend, frontend, and SQL deployment command steps. - [ ] Run `python -m unittest tests.test_deployer` and verify tests fail because the module does not exist. - [ ] Implement `build_deployment_plan`. - [ ] Run `python -m unittest tests.test_deployer` and verify pass. ### Task 4: Workbench GUI **Files:** - Create: `deploy_tool/gui.py` - Create: `main.py` - [ ] Implement tkinter layout with sidebar, top action bar, dashboard cards, config form, and log output. - [ ] Wire folder selection, scan, environment check, and deployment plan preview. - [ ] Keep long operations on background threads and push messages to the UI queue. ### Task 5: Documentation and Verification **Files:** - Create: `README.md` - [ ] Document usage, features, and current local-only deployment scope. - [ ] Run `python -m unittest`. - [ ] Run `python -m py_compile main.py deploy_tool/*.py`.