Plugins

Everything optional is a plugin: an npm package @webship.co/workspace-<name>, from the repository github.com/webship/workspace-<name> on branch 1.0.x. The core requires none of them. A plugin requires nothing from the dashboard's files; it is handed an api and works through it, so it can be installed from npm and removed without a trace.

The four steps

Step Command What happens
require webship-workspace plugin require <name> npm install @webship.co/workspace-<name> into core/workspace-app/package.json
activate webship-workspace plugin activate <name> plugins.<name>.enabled: true in settings.yml; a workspace plugin also joins the workspaces: list
install webship-workspace plugin install <name> places what the manifest names: bash functions, commands, compose files, themes, a workspace folder, a settings template, AI agents; recorded in core/config/plugins.installed.yml
configure webship-workspace plugin configure <name> its own core/config/plugin.<name>.settings.yml

The same four are buttons on Settings → Plugins, below the catalogue. deactivate turns one off and keeps its files; uninstall removes what install placed. bash core/scripts/plugins.sh --list says the step each plugin is at.

Families

Plugins that do the same job for different services share a base package, so a provider is thin and the surface is one:

  • Hosting — @webship.co/workspace-hosting: one button per provider, with environments and live URLs, get the database and files, deploy, logs, activities and the console. Providers: upsun, acquia, digitalocean, cpanel, aws, azure, godaddy.
  • Forges — @webship.co/workspace-forge: the repository, open issues and pull or merge requests, a request from the current branch, the clone option, and the credential the dashboard uses for the host. Providers: github, gitlab, bitbucket.
  • Container runtimes — @webship.co/workspace-container: a menu for projects on Docker Compose, Lando, Docksal, Podman or Kubernetes.
  • Platforms — one plugin per platform: its builder and tools (cmd-<platform>-project.sh, cmd-tools-<platform>-cli.sh), its default accounts, its step pack wired into the testing setup, and its AI agents, placed in the AI Agents folder. workspace-wordpress is the first.
  • Workspace folders — the folder itself as a plugin: its settings file, its commands, its docs. Activating one lists it on the dashboard.

Writing one

Read PLUGINS.md: the manifest (workspacePlugin in package.json), register(api), the hooks (row menus, pages, fragments, actions, chips, folder setup, forges, open-with, workspace views) and api.lib. Types come from @webship.co/workspace-plugin-api. The reference plugins are workspace-upsun (a hosting provider), workspace-github (a forge), workspace-lando (a runtime), workspace-drupal-modules (a workspace folder) and workspace-wordpress (a platform); each has tests, a features/*.feature the installer places under the dashboard's browser suite, and a CI workflow.

The catalogue

62 plugins, each its own npm package and repository. Every page below is the plugin's own README.

Platforms

One platform each: the command that builds it in a container, its default accounts, its step pack in the testing setup and its AI agents.

DrupalDrupal for the Webship Workspace dashboard: one builder that makes a real Drupal core site in a container (Drupal 11, Drupal 12…@webship.co/workspace-drupal Drupal CMSDrupal CMS for the Webship Workspace dashboard: one builder that makes a real Drupal CMS site in a container (a release, a site…@webship.co/workspace-drupal-cms WordPressWordPress for the Webship Workspace dashboard: a builder that makes a real WordPress site in a container, a WP-CLI tool for the…@webship.co/workspace-wordpress JoomlaJoomla for the Webship Workspace dashboard: a builder that makes a real Joomla site in a container, a Joomla CLI tool for the…@webship.co/workspace-joomla TYPO3TYPO3 for the Webship Workspace dashboard: a builder that makes a real TYPO3 site in a container, a typo3 console tool for the…@webship.co/workspace-typo3 Backdrop CMSBackdrop CMS for the Webship Workspace dashboard: a builder that makes a real Backdrop CMS site in a container, a Bee tool for…@webship.co/workspace-backdrop-cms Craft CMSCraft CMS for the Webship Workspace dashboard: a builder that makes a real Craft CMS site in a container, a craft console tool…@webship.co/workspace-craft-cms GhostGhost for the Webship Workspace dashboard: a builder that makes a real, self-hosted Ghost site in a container, a Ghost-CLI tool…@webship.co/workspace-ghost django CMSdjango CMS for the Webship Workspace dashboard: a builder that makes a real django CMS site in a container, a manage.py tool…@webship.co/workspace-django-cms OdooOdoo Community for the Webship Workspace dashboard: a builder that makes a real Odoo site in containers, an odoo-bin tool for…@webship.co/workspace-odoo PrestaShopPrestaShop for the Webship Workspace dashboard: a builder that makes a real PrestaShop shop in a container, a console tool for…@webship.co/workspace-prestashop GatsbyGatsby for the Webship Workspace dashboard: a builder that makes a real Gatsby site from a starter in a container, builds it to…@webship.co/workspace-gatsby AstroAstro for the Webship Workspace dashboard: a builder that makes a real Astro site from a template in a container, builds it to…@webship.co/workspace-astro

Workspace folders

The folder itself as a plugin: its settings file, its commands and its docs.

AI AgentsThe AI Agents workspace of the Webship Workspace dashboard: the ai-agents/ folder (type ai-items), its settings file…@webship.co/workspace-ai-agents AI CommandsThe AI Commands workspace of the Webship Workspace dashboard: the ai-commands/ folder (type ai-items), its settings file…@webship.co/workspace-ai-commands AI PromptsThe AI Prompts workspace of the Webship Workspace dashboard: the ai-prompts/ folder (type ai-items), its settings file…@webship.co/workspace-ai-prompts AI SkillsThe AI Skills workspace of the Webship Workspace dashboard: the ai-skills/ folder (type ai-items), its settings file…@webship.co/workspace-ai-skills AudioThe Audio workspace of the Webship Workspace dashboard: the audio/ folder (type media), its settings file…@webship.co/workspace-audio AvatarsThe Avatars workspace of the Webship Workspace dashboard: the avatars/ folder (type code), its settings file…@webship.co/workspace-avatar DemosThe Demos workspace of the Webship Workspace dashboard: the demos/ folder (type sites), its settings file…@webship.co/workspace-demos DesignsThe Designs workspace of the Webship Workspace dashboard: the designs/ folder (type sites), its settings file…@webship.co/workspace-designs DevThe Dev workspace of the Webship Workspace dashboard: the dev/ folder (type sites), its settings file…@webship.co/workspace-dev DocsThe Docs workspace of the Webship Workspace dashboard: the docs/ folder (type files), its settings file…@webship.co/workspace-docs Drupal modulesThe Drupal modules workspace of the Webship Workspace dashboard: the modules/ folder (type code), its settings file…@webship.co/workspace-drupal-modules Drupal profilesThe Drupal profiles workspace of the Webship Workspace dashboard: the profiles/ folder (type sites), its settings file…@webship.co/workspace-drupal-profiles Drupal recipesThe Drupal recipes workspace of the Webship Workspace dashboard: the recipes/ folder (type code), its settings file…@webship.co/workspace-drupal-recipes Drupal site templatesThe Drupal site templates workspace of the Webship Workspace dashboard: the site-templates/ folder (type sites), its settings…@webship.co/workspace-drupal-site-templates Drupal themesThe Drupal themes workspace of the Webship Workspace dashboard: the themes/ folder (type code), its settings file…@webship.co/workspace-drupal-themes ImagesThe Images workspace of the Webship Workspace dashboard: the images/ folder (type media), its settings file…@webship.co/workspace-images LibrariesThe Libraries workspace of the Webship Workspace dashboard: the libraries/ folder (type code), its settings file…@webship.co/workspace-libraries ProductsThe Products workspace of the Webship Workspace dashboard: the products/ folder (type sites), its settings file…@webship.co/workspace-products ProjectsThe Projects workspace of the Webship Workspace dashboard: the projects/ folder (type sites), its settings file…@webship.co/workspace-projects RAGThe RAG workspace of the Webship Workspace dashboard: the rag/ folder (type sites), its settings file…@webship.co/workspace-rag SandboxesThe Sandboxes workspace of the Webship Workspace dashboard: the sandboxes/ folder (type sites), its settings file…@webship.co/workspace-sandboxes SpecsThe Specs workspace of the Webship Workspace dashboard: the specs/ folder (type files), its settings file…@webship.co/workspace-specs TestThe Test workspace of the Webship Workspace dashboard: the test/ folder (type sites), its settings file…@webship.co/workspace-test VideosThe Videos workspace of the Webship Workspace dashboard: the videos/ folder (type media), its settings file…@webship.co/workspace-video WorklogsThe Worklogs workspace of the Webship Workspace dashboard: the worklogs/ folder (type files), its settings file…@webship.co/workspace-worklogs

Hosting providers

One menu per provider: environments and live sites, deploy, get the database and files.

Git forges

The repository, its issues and pull or merge requests, and the credential for the host.

Container runtimes

A menu for projects that run on something other than DDEV.

Features

Optional features of the dashboard.

Plugin API and family bases

What plugin authors build on: the types and the shared base of each family.