8.1 KiB
8.1 KiB
SDT Roadmap / Kanban
Done (v1.2 Stabilization)
- Python-first runtime for diagnostics/build wrappers
- Config bootstrap generator for missing
devtool.json - Workflow-first execution + dual schema support
- Strict legacy mode default (
targets-only blocked) - Compatibility escape hatch (
SDT_LEGACY_MODE=compat) - Auto-generated migration preview (
devtool.generated.workflows.json) - In-app migration action:
Migrate legacy targets -> workflows - Centralized requirement inference (
RequirementResolver) - Installer planning precedence + fallback resilience
- Windows resolver hardening (
%VAR%PATH expansion) - Resolver tracing surfaced in probe details
- Secure diagnostics default (allowlist-only env capture)
- Workspace external project add flow
- Shared run event stream (
RunEvent) across workflow + debug execution - TUI event rendering layer wired on top of core run events (GUI-readiness slice)
- Persist run-event stream to JSONL for external GUI/client consumption (
.sdt/events/*.jsonl) - TUI events viewer for persisted run-event logs (
SYSTEM -> View run events) - Config doctor (
SYSTEM -> Run config doctor) - Doctor autofix actions (create missing working dirs + invoke legacy migration)
- Rich probe diagnostics panel in workflow failure summary
- Enhanced Tauri fallback guidance (Windows/macOS/Linux package manager aware)
- First-run setup wizard + completion state marker (
.sdt/setup-state.json) - Toolchain hardening: probe diagnostics + toolchain doctor + auto-fix missing tools
- Workspace-level defaults file layering (
sdt-defaults.json) above per-projectdevtool.json - Add dedicated TUI "Events" viewer for last run
- Add doctor autofix actions for common issues (missing dirs, legacy schema migration)
- Env profiles (
dev,ci,release) with deterministic merge order and runtime selection - Managed secrets redaction policy for diagnostics bundles (env + output patterns)
- Setup wizard for first run (bootstrap + tool fixes)
- Improve setup wizard to handle more edge cases and missing tools for projects
- Add support for more project types
- Add support for more tool types
- Add support for more environment types
- Add support for more environment variables
- Favorites/quick actions across projects
- Legacy PowerShell fallback made opt-in (
SDT_PWSH_LEGACY_FALLBACK=1), Python reroute remains default - Bootstrap now resolves dotnet working directory from nearest
.slnx/.sln/.csprojin multi-project roots - Bootstrap filters node/npm detection to runnable package scripts (avoids dependency-only
package.jsonfalse positives) - Action layer now skips non-applicable stacks (
npm/cargo/tauri/dotnet) instead of hard-failing publish-output.pynow auto-skips non-detected sidecar/web/gateway/tauri stacks in generic repos- Add workflow route verifier script (
scripts/verify-workflow-routes.py) for static path checks + optional headless execution replay - Wire workflow route verifier into CI reliability matrix (
.github/workflows/reliability-matrix.yml)
In Progress (next focus)
- Execute full OS matrix verification on Windows/Linux/macOS runners
- Native GUI shell over headless core services (Tauri-first in v1.x; Avalonia re-evaluate later)
- GUI parity phase 1 bridge foundation shipped (
sdt bridge --stdio+DevTool.Host.Bridge) - GUI debug + failure UX slice shipped (debug run, failure card, run context/lifecycle panel)
- GUI history/events/env/doctor/setup-plan read views shipped via bridge methods
- GUI workspace project switcher shipped (configured projects -> set active context)
- GUI favorite quick action runner shipped (run favorite directly from workspace panel)
- GUI workspace/favorites search/filter/sort ergonomics shipped
- GUI "Switch + Run" one-click action shipped from configured projects list
- GUI view preferences persisted (workspace-scoped filters/sorts/context defaults)
- GUI workspace/favorites advanced grouping shipped (tool/path + project/workflow views)
- GUI workspace/favorites bulk actions shipped (bulk run filtered projects/favorites, bulk remove filtered favorites)
- GUI setup actions shipped (apply autofix dirs, apply legacy migration, apply recommended config with backup)
- GUI keyboard refinements shipped (
Ctrl+Kcommand palette,?shortcut help) - GUI env profile editor shipped (select/load, set-active, create/update profile values)
- Create dedicated
src/DevTool.Host.Gui/TauriShellscaffold to keep GUI work isolated from TUI/core - Bootstrap first Tauri command bridge:
sdt workspace scan --json - Structural refactor to domain-separated projects under
src/(DevTool.Engine,DevTool.Runtime,DevTool.Host.Tui) - Add second Tauri bridge command:
sdt run <workflowId> --jsonwith live stream panel - Remove legacy PowerShell wrappers in v2
- Add workspace project inventory model (all
.slnx/.sln/.csproj) for GUI/TUI multi-project selector - Expand GUI command palette coverage across workspace/run/setup/history/events/favorites actions
- Add full GUI env var definition editor parity (
env[]model editing with validation)
Next Sprint (v1.3 UX Foundation)
- Define stable event contract version (
run_event_version) and publish schema docs - Add
--json/headless execution mode for workflow/debug runs (machine-readable progress + result) - Add TUI command palette (
Ctrl+K) for quick action/run/switch project - Add unified failure card:
What failed,Why,Exact fix command,Retry action - Add non-interactive install mode for CI/headless (
SDT_NONINTERACTIVE=1) - Add per-run execution context block in TUI (
project,envProfile,cwd,tool resolution source) - Add cross-platform keybinding help screen (
?) and normalize shortcuts across Windows/macOS/Linux terminals - Add terminal capability fallback modes (no color/no unicode/no emoji safe rendering)
- Add workspace quick-action pinning from run results and events viewer
- Add run history browser with re-run from prior execution context
v1.3 Reliability Matrix
- Add project-type matrix coverage tests (
dotnet,node/npm,tauri/cargo) - Add deterministic headless stop-reason/exit-code tests
- Execute full OS matrix verification on Windows/Linux/macOS runners
- Publish reliability matrix runbook + results artifact in docs
- Blocked in current local workspace: no
.gitrepo context and noghCLI/auth; execute from Git-connected checkout. - v1.4 policy: ship Windows/Linux, macOS delegated with checklist in
docs/matrix-status.md.
- Blocked in current local workspace: no
Cross-Platform UX Principles
- One mental model for all surfaces:
Plan -> Probe -> Prompt -> Execute -> Diagnose - Every failure must include a copy-pastable remediation command
- No blocking hidden prompts from package managers (always explicit/non-interactive flags where possible)
- Keep TUI and future GUI on the same core events/state, not duplicated execution logic
- Preserve deterministic behavior across shell/env differences via explicit working directory + env profile display
- Remove legacy PowerShell wrappers in v2
Current Milestone Status
- v1.1 expansion items shipped partially (debug profiles + diagnostics + workspace add external)
- Robustness Sprint v1.2: complete
- v1.3 workstreams A/B/C: complete
- v1.3 workstream D: in progress (matrix test suite implemented; cross-OS execution pending)
- v1.3 UX foundation backlog items: complete
- Remaining gaps for broader AIO vision are GUI shell, cross-OS matrix run completion, and advanced orchestration scale.
GUI Decision Record
- GUI runtime direction locked for current phase: Tauri-first now
- Keep headless core + JSON/event contracts as the shared backend authority
- Defer Avalonia shell implementation to a re-evaluation checkpoint after Tauri shell proves workflow/debug/event parity
- Avalonia re-evaluation gate criteria documented and reviewed after first Tauri shell milestone