feat: add app commands configuration in Configure panel (#2433)
Add the ability to configure install and start commands in the Configure
panel after an app has been created. Previously these were only
configurable when first importing an app.
Changes:
- Add updateAppCommands IPC contract and handler
- Add AppCommandsSection component in ConfigurePanel
- Allow users to view, edit, and clear custom commands
- Include validation requiring both commands when customizing
- Add E2E tests for the new feature
https://claude.ai/code/session_01RHmPUNG7Bdw9MC1DKQJX8g
<!-- devin-review-badge-begin -->
---
<a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2433">
<picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1">
<img
src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1"
alt="Open with Devin">
</picture>
</a>
<!-- devin-review-badge-end -->
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Medium Risk**
> Moderate risk because it introduces a new IPC write path that persists
user-provided command strings and affects how apps will run, though
guarded by client/server validation and locking.
>
> **Overview**
> Adds an **App Commands** card to `ConfigurePanel` that lets users view
default vs custom install/start commands, edit them with client-side
validation (both required), cancel edits, and clear back to defaults.
>
> Introduces a new IPC contract `updateAppCommands` plus a main-process
handler that trims inputs, enforces *both-or-neither* semantics, updates
the `apps` record under `withLock`, and triggers UI refresh/toasts.
>
> Adds Playwright E2E coverage for configure/edit/clear flows,
validation behavior, and canceling edits.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
3f0abe3b8f9ed2483ed27d537dd874e4caa66fcf. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Let users configure custom install and start commands from the Configure
panel after an app is created. Defaults to “pnpm install && pnpm dev”
when unset, and both fields are required when customizing.
- **New Features**
- Configure, edit, or clear custom install/start commands in
ConfigurePanel.
- Added updateAppCommands IPC contract and handler to persist commands.
- E2E tests cover happy path, validation (both required), cancel, and
clear flows.
- **Bug Fixes**
- Prevent overwriting edits on refetch; fix custom commands check (AND),
and update default-state message.
- Enforce server-side validation (both commands set together or both
cleared) and remove sensitive command content from logs.
<sup>Written for commit 3f0abe3b8f9ed2483ed27d537dd874e4caa66fcf.
Summary will update on new commits.</sup>
<!-- End of auto-generated description by cubic. -->
---------
Co-authored-by:
Claude <noreply@anthropic.com>
Co-authored-by:
claude[bot] <41898282+claude[bot]@users.noreply.github.com>
正在显示
e2e-tests/app_commands.spec.ts
0 → 100644
请
注册
或者
登录
后发表评论