A Raycast extension for managing your local DDEV projects without leaving your keyboard. List every DDEV project on your machine and start, stop, restart, snapshot, describe, rename, and launch them — all from Raycast.
The extension is framework-agnostic at its core (it works with any DDEV project type), with a few extra conveniences for Drupal projects.
Platform: macOS only. Requires the
ddevCLI installed and on yourPATH(Homebrew at/opt/homebrew/binor/usr/local/binis detected automatically).
The extension exposes a single Raycast command:
| Command | Mode | Description |
|---|---|---|
| Show Projects | View | Lists all DDEV projects found via ddev list, with a per-project action panel for every operation below. |
The project list can be filtered with the status dropdown in the search bar:
running.Active projects are marked with a green check; stopped projects with a red disabled icon. Type to search projects by name.
Each project in the list has an action panel (⏎ / ⌘K). Mutating actions show a progress toast and surface any ddev error message on failure. Destructive actions ask for confirmation first.
| Action | Description |
|---|---|
| Launch Website | Open the project's primary URL in the browser (ddev launch). |
| Show Project Information | Open a detail view (ddev describe) with project, database, URLs, services, and Mailpit info. |
| Open in Finder | Reveal the project root in Finder. |
| Copy Project Path | Copy the project's approot to the clipboard. |
| Action | Description |
|---|---|
| Start Project | ddev start the project. |
| Stop Project | ddev stop the project. |
| Stop Project (--unlist) | ddev stop --unlist — stop and remove from the project list. |
| Restart Project | ddev restart the project. |
| Action | Description |
|---|---|
| Show Snapshots | Open a list of database snapshots for the project (see below). |
| Take Quick Snapshot | Take a timestamped database snapshot (active projects only). |
| Export Database | Export the database to ~/Downloads/<project>.sql (active projects only, with confirmation). |
Inside Show Snapshots you can:
⌘N) — opens a form with a suggested <project>-<timestamp> name.⌃X) — permanently remove a snapshot (confirmation required).| Action | Description |
|---|---|
| Rename Project | Rename the project (active projects only). Runs a safe multi-step macro: snapshot → stop & unlist → reconfigure name → restart → restore database → clean up the temporary snapshot. Don't close the window mid-rename. |
For projects whose type starts with drupal, an extra section appears:
| Action | Description |
|---|---|
| Launch Website (and Login) | Generate a one-time login link via ddev drush uli and open it in the browser. |
src/show-projects.tsx; all CLI interaction is isolated behind src/lib/.
src/lib/ddev.ts — every ddev shell-out (start/stop/snapshot/describe/rename/…), JSON parsers, and the toast wrappers.src/lib/drush.ts — Drupal/drush helpers (framework-specific).src/lib/types.ts — TypeScript shapes for ddev … --json-output payloads.src/lib/describe-markdown.ts — renders the "Show Project Information" detail view.ddev CLI directly (no daemon) and relies on --json-output for reading state.npm run dev # ray develop — live-reload into Raycast
npm run build # ray build — production build
npm run lint # ray lint
npm run fix-lint # ray lint --fix
npm run publish # publish to the Raycast Store
There is no test runner configured.
MIT — see LICENSE.