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

64 lines
2.5 KiB
Markdown

# 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`.