From migrate-drupal-canvas-source
Use when starting a new Acquia Source site migration project — bootstraps the project directory with required directory structures, reference files, templates, and validates prerequisites
npx claudepluginhub ajv009/drupal-devkitThis skill uses the workspace's default tool permissions.
Sets up an Acquia Source + Canvas project for site migration. Run this ONCE before starting any migration work.
Migrates existing projects to AgenticDev structure using AI analysis to discover, categorize docs, generate frontmatter, update links, and preserve git history. For brownfield projects with ad-hoc documentation.
Executes Webflow CMS migrations from WordPress, Contentful, Strapi, CSV/JSON using Data API v2 bulk endpoints, data mapping, validation, and strangler fig pattern.
Guides Sage/Acorn WordPress projects with gerund workflows, Lando commands, architectural preferences, skill routing, Roots ecosystem conventions, and query-first patterns. Use first in relevant sessions.
Share bugs, ideas, or general feedback.
Sets up an Acquia Source + Canvas project for site migration. Run this ONCE before starting any migration work.
Before running setup, ensure:
npx @drupal-canvas/create)npm run dev)Run the setup script:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/setup.sh"
This will:
docs/migration/
├── content/ # Verbatim extracted text per page
├── screenshots/
│ └── pages/ # Per-section screenshots (desktop + mobile)
├── issues/ # QA issue artifacts
├── state.jsonl # Event journal (created by hooks)
├── progress.md # Phase progress tracker
├── plan.md # Migration plan (created by site-analyzer)
└── decisions.md # Agent decision log
Creates .claude/reference/canvas-starter symlink pointing to the plugin's bundled canvas-starter skills.
If not already present:
CLAUDE.md — Project steering file with MCP server policies and Acquia Source docs.mcp.json — MCP server configuration for Storybook and Playwright.env.example — Required environment variablesEnsures the project has the npm packages needed for content API operations:
npm install dotenv drupal-jsonapi-params js-yaml
Checks for: node, npm, canvas CLI, storybook
Copy .env.example to .env and configure:
CANVAS_SITE_URL — Your Acquia Source site URLCANVAS_CLIENT_ID — OAuth client IDCANVAS_CLIENT_SECRET — OAuth client secretVerify MCP servers in .mcp.json have correct URLs
Start the migration with: /migrate-drupal-canvas-source:migrate-site <source-url>