Commit Graph
4 Commits
Author SHA1 Message Date
R3ap3R 199c4d254e Add streaming terminal panel, status bar, and toast notifications
Step 3 of the build plan. Long-running ddev commands (start/stop/
restart) now spawn via commandRunner.ts and stream stdout/stderr to
the renderer over IPC (terminal:data/terminal:exit), instead of the
previous fire-and-forget JSON exec. A single useTerminalEvents hook
owns turning those events into terminal panel lines, status bar
progress, and success/error toasts, decoupled from whichever mutation
triggered the command so later features (snapshots, addons) can reuse
the same pipeline. Cancel is wired end-to-end: the status bar's Cancel
button kills the underlying child process via a tracked operation id.

Verified against the real scratch DDEV project via a CDP driver
script (Electron launched with --remoteDebuggingPort, driven by
clicking real DOM buttons): confirmed live streaming output, the
status bar's spinner/cancel affordance, and that cancelling mid-
restart genuinely interrupts the process rather than just hiding the
UI (only the first output line appears, vs. full output on a normal
run).
2026-08-02 23:40:29 -05:00
R3ap3R 602659c45f Add core DDEV project management (list/describe/start/stop/restart)
Wire up the full stack for step 2 of the build plan: a ddev.ts CLI
wrapper in the main process (execFile + JSON envelope parsing, with a
PATH fallback since GUI apps on macOS don't inherit Homebrew's PATH),
IPC handlers exposed through a typed preload window.api surface,
TanStack Query hooks for polling/mutations, and a two-pane UI (project
list sidebar + detail panel with URLs, services, and DB credentials).

Verified end-to-end against a real scratch DDEV project: typecheck,
lint, and tests pass, and the running app correctly displays live
project data and reflects state changes (start/stop) via polling.
2026-08-02 23:31:45 -05:00
R3ap3R 25eb6b7b58 Wire up Tailwind CSS 4, Vitest, and core app libraries
Add Tailwind (via Vite plugin), Vitest+RTL test setup, and the
Zustand/TanStack Query/Lucide libraries the architecture plan calls
for. Strip the electron-vite demo boilerplate (logo, IPC ping demo,
Versions component) in favor of a minimal placeholder screen.

Verified: typecheck, lint, and test suite all pass; pnpm dev boots
and serves the correct renderer HTML.
2026-08-02 23:21:04 -05:00
R3ap3R 5a3315eff6 Scaffold Aurora Dockside with electron-vite + React + TypeScript
Base template for a from-scratch DDEV desktop manager (Electron instead
of Tauri), built incrementally per the approved project plan.
2026-08-02 23:16:26 -05:00