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; 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.
  • 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) and workspace-drupal-modules (a workspace folder); each has tests, a features/*.feature the installer places under the dashboard's browser suite, and a CI workflow.

The catalogue

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

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.