Agent skill

Ddev

by haxtheweb in haxtheweb/haxcms-php

DDEV local development environment guidance for Docker-based PHP/Node projects.

Apache-2.0Auto-check passedDevOps & Cloud

Install Ddev

skills CLI
$ npx skills add haxtheweb/haxcms-php --skill ddev -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install haxtheweb/haxcms-php ddev --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/haxtheweb/haxcms-php.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ddev .claude/skills/ddev && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ddev
GitHub stars
130
Token cost
~1.6k tokens
SKILL.md length
583 words
Files
4 (incl. scripts, references)
Skills in repo
18
Repo updated
First seen
Licence
Apache-2.0

At a glance

DDEV local development environment guidance for Docker-based PHP/Node projects.

  • Works in 2 steps: Resolve the container path → Execute the scoped command
  • Running CLI tools (composer
  • SKILL.md covers CLI Syntactic Sugar, DDEV Commands Work from Any…, When --dir Scoping IS Required and Running Commands in Containers, plus 3 more sections
  • Runs Shell scripts from its folder; calls composer and npm

What it does

Ddev is an agent skill from haxtheweb/haxcms-php. DDEV local development environment guidance for Docker-based PHP/Node projects. Use when: (1) running CLI tools (composer, npm, wp, drush, artisan, console, etc.) in a DDEV project, (2) executing commands inside DDEV containers, (3) working in a subdirectory of a DDEV project (e.g., wp-content/plugins/my-plugin), (4) managing databases, snapshots, or project lifecycle with DDEV, (5) any task involving ddev exec, ddev ssh, or ddev start/stop.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/npm-projects.md`, `references/wordpress-multisite.md` and `scripts/resolve-ddev-root.sh`).

It sits in DevOps & Cloud, covering Containers. It works with npm, Docker, PHP and Laravel. The repository describes itself as: HAX + CMS to manage your microsite universe with PHP backend. The licence is Apache-2.0.

When your agent uses it

  • Running CLI tools (composer
  • Etc.) in a DDEV project
  • Executing commands inside DDEV containers
  • Working in a subdirectory of a DDEV project (e.g.

Example prompts

  • “/ddev”

Requirements

  • Node.js
  • A Bash shell
  • Docker

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Resolve the container path
  2. Execute the scoped command

What it can do on your machine

Read from SKILL.md and the folder at commit 9b5b21b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • composer
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.ddev.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ddev loads about 1.6k tokens when it runs, and up to ~4.7k if it reads all its reference files. Until then it costs about 113 tokens; SKILL.md has 583 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~113
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from haxtheweb/haxcms-php at commit 9b5b21b, republished under its Apache-2.0 licence (© haxtheweb). 583 words, ~1,627 tokens.

Download SKILL.mdSave it as .claude/skills/ddev/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
ddev
description
DDEV local development environment guidance for Docker-based PHP/Node projects. Use when: (1) running CLI tools (composer, npm, wp, drush, artisan, console, etc.) in a DDEV project, (2) executing commands inside DDEV containers, (3) working in a subdirectory of a DDEV project (e.g., wp-content/plugins/my-plugin), (4) managing databases, snapshots, or project lifecycle with DDEV, (5) any task involving ddev exec, ddev ssh, or ddev start/stop.

DDEV

DDEV is a Docker-based local development tool for PHP/Node projects. It wraps common CLI tools (composer, npm, wp, drush, etc.) so they run inside containers without requiring local installation. Full docs: https://docs.ddev.com

CLI Syntactic Sugar

DDEV provides shortcut commands that proxy to container-internal tools. Use these instead of ddev exec:

ddev composer install          # runs composer inside the container
ddev npm run build             # runs npm inside the container
ddev wp plugin list            # runs wp-cli (WordPress only)
ddev drush cr                  # runs drush (Drupal only)
ddev artisan migrate           # runs artisan (Laravel only)
ddev console cache:clear       # runs bin/console (Symfony only)
ddev yarn add <pkg>            # runs yarn inside the container
ddev php -v                    # runs PHP inside the container

For the full list of shortcuts and their mappings, run ddev help.

DDEV Commands Work from Any Subdirectory

DDEV automatically detects its project root from any subdirectory within the project tree. Most DDEV commands work out of the box regardless of where the shell is located:

bash
ddev wp plugin list
ddev mailpit
ddev db
ddev composer show
ddev npm ls
ddev drush cr
ddev start
ddev describe
ddev ssh

No special flags or path resolution is needed for these commands.

When --dir Scoping IS Required

The --dir flag is only needed when running file-path-sensitive scripts via ddev exec that must target a specific subdirectory inside the container. This applies when the command operates on files relative to the working directory (e.g., composer install reading a specific composer.json, or npm install reading a specific package.json).

Step 1: Resolve the container path

Run the bundled resolve script to map the host subdirectory to a container path:

bash
scripts/resolve-ddev-root.sh "$(pwd)"

Output (JSON):

json
{
  "project_root": "/Users/you/Projects/mysite",
  "container_path": "/var/www/html/wp-content/plugins/my-plugin",
  "relative_path": "wp-content/plugins/my-plugin",
  "project_name": "mysite"
}
  • relative_path empty -- working directory is the DDEV root, no --dir needed.
  • relative_path non-empty -- use --dir with the container_path value for file-path-sensitive commands.
Step 2: Execute the scoped command

If DDEV is not running, start it first with ddev start.

bash
# Install dependencies scoped to a plugin subdirectory
ddev exec --dir="/var/www/html/wp-content/plugins/my-plugin" bash -c "composer install"
ddev exec --dir="/var/www/html/wp-content/plugins/my-plugin" bash -c "npm install"

# Run a script that reads files relative to the working directory
ddev exec --dir="/var/www/html/wp-content/plugins/my-plugin" bash -c "phpunit"

Without --dir, these commands run at the container docroot (/var/www/html) and operate on the wrong composer.json, package.json, or project context.

Running Commands in Containers

Use ddev exec when no shortcut exists or when you need to target a specific container directory:

bash
# Runs in web container at docroot
ddev exec ls -la

# Scope to a subdirectory for file-path-sensitive operations
ddev exec --dir="/var/www/html/wp-content/plugins/my-plugin" bash -c "composer install"

# Run in the database container
ddev exec -s db mysql -e "SHOW DATABASES"

# Shorthand alias
ddev . ls -la

Subpath Mapping (for ddev exec --dir)

Path resolution is only needed when using ddev exec --dir to scope file-path-sensitive scripts to a subdirectory. Standard DDEV commands (ddev wp, ddev mailpit, ddev db, ddev start, etc.) do not require this -- they work from any subdirectory automatically.

Resolving the DDEV Root

Use the bundled resolve script to find the DDEV project root and compute the container path:

bash
# From any subdirectory within a DDEV project
scripts/resolve-ddev-root.sh /path/to/wp-content/plugins/my-plugin

The script walks up the directory tree looking for .ddev/config.yaml. If no argument is provided, it uses the current working directory.

Show full SKILL.md (233 more words)Show less
Manual Path Computation

If the script is unavailable, compute the path manually:

  1. Find the directory containing .ddev/config.yaml (the DDEV project root)
  2. Compute the relative path from that root to the current working directory
  3. Prepend /var/www/html/ to get the container path

Project Information

Use ddev describe to get detailed information about the current DDEV project. Add the -j flag to get structured JSON output:

bash
ddev describe -j

This provides useful details such as:

  • Project type (wordpress, drupal, laravel, etc.)
  • Primary URL and all project URLs
  • PHP version and Node.js version
  • Database type and version (mariadb, mysql, postgres)
  • Web server type (nginx-fpm, apache-fpm)
  • Service status for web, db, and additional services
  • Published ports for host-to-container mapping

Example JSON output fields:

  • type - Project type (wordpress, drupal, etc.)
  • primary_url - Main project URL
  • urls - Array of all project URLs (HTTP and HTTPS)
  • php_version - PHP version in use
  • nodejs_version - Node.js version in use
  • database_type - Database type (mariadb, mysql, postgres)
  • webserver_type - Web server (nginx-fpm, apache-fpm)
  • services - Status and details for each service

Resources

scripts/
  • resolve-ddev-root.sh - Walks up the directory tree to find the DDEV project root from any subdirectory. Returns JSON with project root, container path, relative path, and project name.
references/
  • npm-projects.md - Running npm/Node.js dev servers in DDEV, including port exposure, host binding, and framework-specific examples for Vite, Next.js, and Astro.
  • wordpress-multisite.md - Setup guide for WordPress Multisite with DDEV, covering subdomains, different hostnames, and subdirectory configurations with WP-CLI commands.

© haxtheweb, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts, references) in .agents/skills/ddev of haxtheweb/haxcms-php.

  • SKILL.md
  • references/npm-projects.md
  • references/wordpress-multisite.md
  • scripts/resolve-ddev-root.sh

Open the folder on GitHubat commit 9b5b21b

Compare with similar skills

Ddev next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ddev compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ddev this skillhaxtheweb/haxcms-php130—~1.6kAutomated safety check: PassApache-2.0
Reflexo ReleaseMyriad-Dreamin/typst.ts1.2k—~1.5kAutomated safety check: PassApache-2.0
Os Eco Dep Syncjayminwest/warren473—~1.9kAutomated safety check: PassMIT
Shopware CLI Dockershopware/shopware-cli123—~1.8kAutomated safety check: PassMIT
Data Processingaiskillstore/marketplace4301 repos~720Automated safety check: NotesMIT
Tokf Runmpecan/tokf199—~571Automated safety check: PassMIT

Similar skills

  • Reflexo Release

    Myriad-Dreamin/typst.ts

    Guide Reflexo/typst.ts release preparation and operator handoffs.

    1.2k GitHub stars~1.5k tokensUpdated 13 days ago
    DevOps & CloudAuto-check passed
  • Os Eco Dep Sync

    jayminwest/warren

    Bump warren onto the latest published @os-eco/ versions across package.json + bun.lock and the Dockerfile CLI pins, then run the gates and open a PR.

    473 GitHub stars~1.9k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Shopware CLI Docker

    shopware/shopware-cli

    A skill your agent uses when working on Docker-backed Shopware projects and needing to run Shopware or Symfony CLI commands, interact with project services or databases, start or stop the…

    123 GitHub stars~1.8k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Data Processing

    aiskillstore/marketplace

    Process JSON with jq and YAML/TOML with yq. An agent skill from aiskillstore/marketplace.

    430 GitHub starsUsed in 1 repo~720 tokens
    DevOps & CloudAuto-check: notes
  • Tokf Run

    mpecan/tokf

    Compress verbose CLI output with tokf before returning results.

    199 GitHub stars~571 tokensUpdated 5 days ago
    DevOps & CloudAuto-check passed
  • Official

    A skill your agent uses when writing, reviewing, or optimizing Dockerfiles, even if the user just says their image is too large, their build is slow, or they need to harden a container for production.

    539 GitHub stars~3k tokensUpdated 3 days ago
    DevOps & CloudAuto-check: warnings

More from haxtheweb/haxcms-php

All 18 skills in this repo
  • Hax Ubd Backward Design

    haxtheweb/haxcms-php

    Design HAX course units via Understanding by Design (UbD) backward design — start from desired results, derive acceptable evidence, then plan learning experiences.

    130 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Hax Udl Audit

    haxtheweb/haxcms-php

    READ-ONLY diagnostic: review a HAX site/page against Universal Design for Learning (UDL) 3.0 — multiple means of Engagement, Representation, and Action & Expression — and emit a report with…

    130 GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Haxcms Lrs Rater

    haxtheweb/haxcms-php

    Run BookLooky's Looky Rating System (LRS) content rating and minimum-age recommendation on a HAXcms site's aggregated content — either a local site checkout or a live published URL like btopro.com —…

    130 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Oerschema Integration Finder

    haxtheweb/haxcms-php

    READ-ONLY diagnostic: scan HAX webcomponents, themes, CMS backends (PHP/NodeJS HAXcms), the VitePress plugin, and the Google Apps Script add-on for code surfaces that render or consume pedagogical…

    130 GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • Hax A11y Audit

    haxtheweb/haxcms-php

    READ-ONLY diagnostic: review authored HAX page/site content against WCAG 2.0 AA (image alt text, heading hierarchy, landmark structure, link text, form labels, color contrast, media…

    130 GitHub stars~5.5k tokensUpdated today
    Auto-check passed
  • Hax Design System

    haxtheweb/haxcms-php

    Apply the DDD (Design, Develop, Deliver) design system and manage SimpleColors legacy usage.

    130 GitHub stars~701 tokensUpdated today
    Auto-check passed

Categories

Questions about Ddev

What does Ddev do?

DDEV local development environment guidance for Docker-based PHP/Node projects. Ddev is an agent skill from haxtheweb/haxcms-php. DDEV local development environment guidance for Docker-based PHP/Node projects.

When should I use Ddev?

Ddev fits situations like: running CLI tools (composer; etc.) in a DDEV project; executing commands inside DDEV containers; working in a subdirectory of a DDEV project (e.g.

How do I install Ddev in Claude Code?

Run `npx skills add haxtheweb/haxcms-php --skill ddev -a claude-code`. Or copy the skill folder (.agents/skills/ddev in haxtheweb/haxcms-php) into .claude/skills/ddev in your project. Claude Code loads it when a task matches its description.

How do I install Ddev in Codex?

Run `npx skills add haxtheweb/haxcms-php --skill ddev -a codex`. Or copy the skill folder (.agents/skills/ddev in haxtheweb/haxcms-php) into .agents/skills/ddev in your project. Codex loads it when a task matches its description.

Can I use Ddev in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add haxtheweb/haxcms-php --skill ddev -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ddev, .gemini/skills/ddev, .github/skills/ddev and .opencode/skills/ddev in your project.

What does Ddev need to run?

Going by SKILL.md and its folder, Ddev needs a shell for the scripts in its folder and the command-line tools its instructions call (composer and npm). Our summary lists: Node.js; A Bash shell; Docker.

Does Ddev access the network?

SKILL.md names 1 domain. As links in the text: docs.ddev.com. This is read from the text; nothing was executed.

Is Ddev safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Ddev use?

Ddev is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ddev use?

About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.1k tokens, read only when the agent opens those files.

What are the alternatives to Ddev?

Skills that share tags, products or a category with Ddev: Reflexo Release (Myriad-Dreamin/typst.ts, 1.2k stars), Os Eco Dep Sync (jayminwest/warren, 473 stars), Shopware CLI Docker (shopware/shopware-cli, 123 stars) and Data Processing (aiskillstore/marketplace, 430 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ddev?

haxtheweb (a GitHub organization) maintains it in haxtheweb/haxcms-php, which has 130 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 6, 2026.

Source: haxtheweb/haxcms-php on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.