Files
AutoDeploy/docs/superpowers/plans/2026-07-02-deploy-tool-workbench.md
2026-07-14 16:31:23 +08:00

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_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.