一键导入
verify-create-project
Runs the full "Getting Started" flow from the README to verify that `composer create-project` works correctly with the current branch.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Runs the full "Getting Started" flow from the README to verify that `composer create-project` works correctly with the current branch.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | verify-create-project |
| description | Runs the full "Getting Started" flow from the README to verify that `composer create-project` works correctly with the current branch. |
| disable-model-invocation | true |
Ask the user for both of the following before starting:
composer create-project. The AI agent will convert branch name to Composer's dev-<branch> format, e.g. branch jp/create-project-flags becomes dev-jp/create-project-flags, branch 5.x becomes 5.x-dev). Note: for branches that look like version numbers (e.g. 5.x), Composer uses 5.x-dev; for all other branches, Composer uses dev-<branch-name>.../craft-starter-test-<YYYY-MM-DD> as a default.Remember these — you'll need them to log in and verify the install.
Stop immediately on any unexpected result. Every step below has explicit success criteria. If any step produces a non-zero exit code, unexpected output, missing files, incorrect values, or any other deviation from what is described — stop execution, report exactly what went wrong (including full command output), and ask the user how to proceed. Do not attempt to fix, retry, or work around failures automatically.
This includes but is not limited to:
Before starting, verify these prerequisites. Stop and report if any fail:
docker info and confirm it exits successfully. If it fails, stop — the Docker daemon is not running.ddev version and confirm it exits successfully. If it fails, stop — DDEV is not installed.mkdir -p <user-provided-directory>
Verify the directory was created and is empty (ls -A should produce no output). If it already contains files, stop and ask the user what to do.
From inside the test directory, run:
docker run --rm -it -v "$PWD":/app -v ${COMPOSER_HOME:-$HOME/.composer}:/tmp -e PROJECT_NAME="Test Project" -e PROJECT_SLUG="test-project" composer create-project viget/craft-site-starter=<composer-version> ./ --ignore-platform-reqs
Replace <composer-version> with the Composer version string derived from the user's chosen branch (see Inputs above).
Important: The -e PROJECT_NAME and -e PROJECT_SLUG environment variables enable non-interactive mode in the post-create-project script, so no user input is required.
Wait for this to complete. It may take a few minutes. Verify it exits with code 0. If it exits with any other code, stop and report the full output.
After the create-project command finishes, verify all of the following. If any check fails, stop and report all discrepancies before proceeding:
.ddev/config.yaml should have name: test-project (not viget-craft-starter).ddev/.env.web should have PRIMARY_SITE_URL="https://test-project.ddev.site" (not viget-craft-starter.ddev.site)package.json should have "name": "test-project" (not viget-craft-starter)package-lock.json should have "name": "test-project" (not viget-craft-starter)The string Viget Craft Starter should have been replaced with Test Project in every file under config/project/. Verify by grepping the entire config/project/ directory for Viget Craft Starter — there should be zero matches. Specifically check:
config/project/project.yaml email.fromName should be 'Test Project' (not 'Viget Craft Starter')config/project/project.yaml system.name should be 'Test Project' (not 'Viget Craft Starter')config/project/project.yaml meta.__names__ entries that previously said Viget Craft Starter should now say Test Projectconfig/project/siteGroups/ should have name: 'Test Project'config/project/sites/ should have name: 'Test Project'config/project/project.yaml should have no licenseKey: REPLACE entries. The licenseKey lines with value REPLACE should have been removed entirely (not replaced with a different value — the whole line should be gone).composer.json should no longer have a post-create-project-cmd scriptcomposer.json should no longer have a name fieldcomposer.json should no longer have a license fieldcomposer.json should no longer have a type fieldcomposer-scripts/ directory should not exist at all.env file should exist in the project root (copied from .env.example.dev during the create-project process).gitignore should not contain # BEGIN-STARTER-ONLY or # END-STARTER-ONLY.gitignore should not contain config/license.key (that line was inside the starter-only block)phpstan.neon should not contain a scanFiles section or any reference to composer-scripts/ScriptHelpers.phpddev start
Wait for DDEV to fully start. This includes the post-start hooks (composer install, npm install, vite build). Verify the command exits with code 0. If it fails, stop and report the full output.
ddev craft install --interactive=0 --email=admin@example.com --username=admin --password=password123
Verify the command exits with code 0. If it fails, stop and report the full output.
Use the browser tools to verify the installation. If any check fails, stop and report the failure before continuing to the next check:
https://test-project.ddev.site and verify the homepage loads (should not be a 500 error, connection refused, or blank page)https://test-project.ddev.site/admin and log in with:
Summarize the verification results:
Do NOT clean up the test directory — leave it for manual inspection.