The Webship Workspace is a folder (~/workspace by default) with a web dashboard in it. The dashboard runs in a DDEV container and drives everything else: it builds, starts, stops, backs up and restores real projects through the cmd-*.sh scripts in each workspace folder, with live terminal output, and it embeds an AI assistant that knows the page you are on.
What you need
- Node.js 20 or newer (24 is what the dashboard runs on).
- Docker, and DDEV. DDEV is the only runtime the core needs; other container runtimes come as plugins.
- A terminal. Windows works through WSL2.
The first hour
npm install -g @webship.co/workspace
webship-workspace init ~/workspace
init copies the core into the folder, writes core/config/settings.yml from the lean template (no workspace folders, no plugins), installs the dashboard's dependencies and starts it. Open https://workspace.ddev.site.
The dashboard is empty on purpose. Add a workspace folder:
webship-workspace plugin require dev
webship-workspace plugin activate dev
webship-workspace plugin install dev
Now dev/ exists with its builders (cmd-drupal11-recommended-project.sh, cmd-webship11-0-x-project.sh, …) and its settings file, and the dashboard shows the Dev workspace with a Build button. Build a site from the dashboard, or from the folder:
cd ~/workspace/dev
bash cmd-drupal11-recommended-project.sh mysite
Every build goes through DDEV; the site answers at https://mysite.ddev.site.
Then
- Settings → Plugins shows the catalogue. Add the GIT menu (
git), the Web IDE (ide), a hosting provider (upsun,acquia, …), a git forge (github,gitlab,bitbucket), or more workspace folders (test,drupal-modules,docs,ai-agents, …). - Each plugin with settings gets its own file,
core/config/plugin.<name>.settings.yml, edited from Settings. Secrets live there, never insettings.yml. webship-workspace update ~/workspacerefreshes the core from a newer package without touching your settings files.
Where things are
| Path | What it is |
|---|---|
core/workspace-app |
The dashboard (Node.js + HTMX), a DDEV project of its own |
core/scripts |
The bash tooling every cmd-*.sh sources: bootstrap, builders, plugins.sh |
core/config |
settings.yml, one workspace.<key>.settings.yml per folder, one plugin.<name>.settings.yml per plugin |
<folder>/ |
A workspace folder: its cmd-*.sh commands and the projects or items it holds |
backups/ |
What Back up wrote, per workspace and project |