2.5 KiB
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_scannerand verify tests fail because the module does not exist. -
Implement scanner dataclasses and
scan_project. -
Run
python -m unittest tests.test_scannerand 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_environmentand verify tests fail because the module does not exist. -
Implement environment check result types and command checks.
-
Run
python -m unittest tests.test_environmentand 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_deployerand verify tests fail because the module does not exist. -
Implement
build_deployment_plan. -
Run
python -m unittest tests.test_deployerand 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.