DrupalClaw
v0.1 · open source · GPL-2.0

An agent-first
workspace for Drupal.

DrupalClaw is your Drupal coworker: an AI coding agent, a Docker-managed PHP stack, and 15 Drupal-specific skills, packaged into a single self-hosted container. Talk to it, and it builds.

17 built-in skills 1 container 0 config to start
~/workspace · drupalclaw
chat logs
$ you › create a new drupal project and start the stack   claw › running drupal-init composer create-project drupal/recommended-project /workspace/drupal project scaffolded · 42 packages installed   claw › running drupal-serve docker compose up -d (nginx + php-fpm + mariadb) stack up · http://localhost:8085   $ you › install admin_toolbar and clear cache
01 · About

A container that understands Drupal.

DrupalClaw is built on PiClaw — an open-source AI workspace — and ships with the entire PHP toolchain Drupal developers actually use.

Most AI coding tools speak generic PHP. DrupalClaw speaks Drupal: drush, hook conventions, module scaffolds, watchdog logs, cache rebuilds, contrib install patterns.

Tell the agent what you want — "scaffold a custom block module", "diagnose this 500 error", "import the staging DB" — and it picks the right skill, runs the right command, and shows you the result. No prompt engineering required.

PHP 8.3 Composer 2 Drush Docker-in-Docker MariaDB PostgreSQL SQLite nginx + PHP-FPM PHPStan PHPCS / PHPCBF
agent · session
log
paulo › the homepage is throwing a 500 after the last deploy   claw › reading drupal-logs watchdog · last 50 entries · severity ≥ error → InvalidArgumentException · routing   claw › running drupal-debug cache empty · route table stale fix · drush cr → routes rebuilt   claw › homepage 200 OK · / verified
02 · Capabilities

Built for the Drupal lifecycle.

Not a generic chatbot taped onto a container — every capability targets a real Drupal task.

/ 01

Agent-first workflow

Natural language goes in, drush and composer commands come out. The agent picks the skill, you review the result. Switch to Expert mode for terse output, or keep Learning mode on to see the equivalent shell commands after every operation.

/ 02

Visual Dev Panel

Common commands as one-click buttons — start stack, cache rebuild, analyze, export DB. JSON-configurable.

/ 03

Docker stack management

Sibling containers via socket. nginx + PHP-FPM + your DB of choice. Same shape as production.

/ 04

17 built-in skills

Init, serve, modules, analysis, fixes, database I/O, logs, debugging, performance, automated plans — the full Drupal day.

/ 05

Static analysis & autofix

PHPStan and PHPCS/PHPCBF wired in. Find issues with one button, fix coding-standard violations with the next.

/ 06

Self-hosted, open source

Your code, your machine, your control. GPL-2.0, built on PiClaw, extensible top to bottom.

03 · Workflows

Automate. Plan. Execute.

Flows and Plans turn the agent from a responder into a collaborator — automating recurring operations and making strategic intent executable and verifiable.

Flows

Scheduled automations

Chain skills, agent messages, and MCP calls into a multi-step pipeline. Trigger manually or on a cron schedule. Run history is logged and can be sent to chat for analysis or turned into a Plan.

flow: nightly-audit · running   step 1/3 drupal-analyze · 0 errors · 3 warnings step 2/3 drupal-db-export · dump.sql.gz written step 3/3 send report to Jira MCP ···   scheduled · daily 02:00 UTC
Plans

Executable strategy documents

The agent proposes a plan from a conversation or Flow output. Save it, execute step by step, watch checkboxes tick in real time, then validate the result. Stored as plain Markdown — readable and editable anywhere.

📋 plan: install-redis-caching · running   composer require drupal/redis drush en redis -y configure settings.php ··· drush cr   status: running · step 3/4
04 · Skills

17 commands the agent already knows.

Each skill is a focused, pre-configured command the agent invokes on your behalf — no glue code required.

01
drupal-init
Initialize a project — new via Composer or clone from Git, with optional DB/files import
Project
02
drupal-serve
Start the Docker stack (nginx + PHP-FPM + DB)
Stack
03
drupal-stack
Start, stop, or restart sibling containers
Stack
04
drupal-cr
Rebuild Drupal cache (drush cr)
Project
05
drupal-status
Inspect project and module status
Project
06
drupal-module
Scaffold a custom module with full structure
Code
07
drupal-install
Install a contrib module from drupal.org
Code
08
drupal-analyze
Run PHPStan and PHPCS against custom code
Quality
09
drupal-fix
Auto-fix coding-standard violations with PHPCBF
Quality
10
drupal-db-export
Export the database to a SQL dump
Database
11
drupal-db-import
Import a SQL dump into the active DB
Database
12
drupal-db-query
Execute an ad-hoc SQL query
Database
13
drupal-logs
Read watchdog logs with severity filters
Diagnostics
14
drupal-debug
Diagnose errors and propose a fix path
Diagnostics
15
drupal-perf
Profile performance and surface hotspots
Diagnostics
16
drupal-plan-run
Execute a Plan step by step, ticking checkboxes and logging each result
Plans
17
drupal-plan-validate
Run the Verification checks of a Plan and update its final status
Plans

Each skill has a dedicated documentation page with usage, parameters, and examples. → Full Skills Reference on the Wiki

05 · Marketplace

Extend DrupalClaw with community skills.

Browse and install skills from any compatible catalog — directly from the workspace, without leaving the browser.

Skills from the community, one click away.

Point DrupalClaw at any skill catalog via URL and browse its contents without leaving the workspace. The Marketplace is catalog-agnostic — it works with any source that follows the open format, whether public or private.

Installed skills integrate immediately: they appear in the Skills panel, in chat autocomplete, and can be wired into Flows alongside built-in ones.

  1. Open the Marketplace tab
  2. Browse or search the catalog
  3. Click Install next to any skill
  4. Send /restart in chat to activate

Marketplace

🔍 search skills…
my-skill-catalog 12 skills · public
issue-tracker Project
List and triage project issues from chat
deploy-check CI/CD
Verify deployment status before going live
code-review Quality
Run automated code review on a branch
changelog-gen Releases
Generate a changelog from commit history
06 · Dev Panel

Click instead of typing.

A panel of one-click shortcuts beside the chat — for the things you do twenty times a day.

The agent's keyboard, shrunk to four groups.

Buttons map 1-to-1 to skills. Click Cache Rebuild and the agent runs drush cr — same result as asking in chat, two clicks faster.

  • Buttons are defined in a single JSON file — add, rename, regroup at will.
  • Every action goes through the agent, so you still get an explanation and a log.
  • The active stack's status is visible at a glance — green when nginx, PHP-FPM and DB are up.

Drupal Dev Panel

● stack up
Stack
Project
Code
Database
07 · Architecture

One container, four moving parts.

DrupalClaw runs in a single container that orchestrates everything else through the Docker socket.

NODE / 01

DrupalClaw

The AI agent and Dev Panel. PHP 8.3, Composer, Drush, full Drupal toolchain.

agentUI
NODE / 02

Docker Socket

Sibling containers managed from inside. No nested Docker, no surprises.

orchestration
NODE / 03

Web Stack

nginx + PHP-FPM, volume-mounted code, production-like behavior in dev.

nginxphp-fpm
NODE / 04

Database

MariaDB or PostgreSQL as a sibling, or SQLite if you want zero-deps.

mariadbpostgressqlite

Based on PiClaw — a self-hosted AI workspace by @rcarmo.

08 · Quick start

Up and running in three steps.

Compose-up, open the browser, talk to the agent. The whole bring-up is under two minutes on a warm cache.

STEP 01 · Clone & start
# clone the repo
git clone https://github.com/PauloCarv/drupalclaw-project.git
cd drupalclaw-project/docker

# pull pre-built image and start — no build step needed
docker compose up -d
STEP 02 · Open the workspace
# browse to the agent UI
http://localhost:8090

# click "Init" in the Dev Panel to scaffold a Drupal project
# click "Start" to launch nginx + php-fpm + db
# talk to the agent
ALT · Standalone, no external db
# single-container mode with SQLite
docker run -d --name drupalclaw \
  -p 8090:8080 \
  -v "$(pwd)/workspace:/workspace" \
  ghcr.io/paulocarv/drupalclaw-project:latest
UPDATING · Zero data loss
# your Drupal project, chat history and credentials live in Docker volumes — safe
docker compose pull
docker compose up -d

# the app shows the installed version and notifies when a new release is available
# pin to a specific version: image: ghcr.io/paulocarv/drupalclaw-project:1.0.0
DrupalClaw

Claw into Drupal,
in one docker compose.

Self-hosted. Agent-first. Open source. Built for the Drupal community.