Setup: Standalone Scaffold
No AI tool needed -- a Node.js utility creates the same project structure.
Use Cases
No AI Tool Available
Neither Claude Code nor Copilot CLI is installed or accessible. The scaffold creates the full project structure without any AI runtime.
Quick Initial Setup
Rapidly bootstrap a new project with all conventions, rules, and templates in place. Edit config values later.
CI/CD Environments
Scaffold from a pipeline or automation context where interactive AI tools are not available.
What You Need
Node.js >= 14
The scaffold utility is a Node.js script. Any version from 14 onward works.
node —version
dx-aem-flow Repository
Git clone of the plugin source repository containing the scaffold CLI.
git clone https://dev.azure.com/org/project/_git/dx-aem-flow
Run the Scaffold
One command creates the full project structure.
node dx/cli/bin/dx-scaffold.js /path/to/your-project —all
CLI Flags
| Flag | Description |
|---|---|
—all | Create everything: config, rules, templates, agents, docs, lib scripts |
—aem | Include AEM full-flow files (seed data, AEM rules, AEM agents) |
—copilot | Include Copilot agent templates in .github/agents/ |
—force | Overwrite existing files (useful for upgrades) |
—quiet | Suppress output (for CI/CD use) |
What It Creates
Approximately 144 files across config, rules, templates, docs, and lib scripts.
Project Structure
.ai/config.yaml— project configuration.ai/rules/— domain-specific override rules.ai/templates/— spec and ADO comment templates.ai/lib/— shared shell scripts.claude/rules/— convention rules (dual frontmatter).github/agents/— 25 Copilot agent templatesAGENTS.md— agent inventory.mcp.json— MCP server configuration
TODO Placeholders
Values that cannot be auto-detected (ADO/Jira project, repository GUID, build commands)
are filled with TODO placeholders. Edit .ai/config.yaml after
scaffolding to replace these with real values.
AEM Seed Data
With —aem, the scaffold also creates .ai/project/ with empty
seed data files. Run /aem-init later (when an AI tool is available) to
populate them from the live AEM instance.
After Scaffolding
Edit configuration and finalize setup.
Edit .ai/config.yaml
- Set
scm.organdscm.base-branch - Set
build.commandandbuild.lint - Set
ado.repository-id(GUID) orjira.project-key - Set
ado.projectorjira.base-url
AEM Configuration
- Set
aem.author-url-qa - Set
aem.publish-url-qa - Configure QA credentials (env vars)
- Set
aem.active-markets
Automation Setup
If using autonomous agents, continue with /auto-init to configure
service hooks (ADO or Jira webhooks), pipeline configs, and Lambda routing.
Relationship to Init Skills
The scaffold output is identical to what /dx-init + /aem-init produce.
Same Output, Different Mechanism
The scaffold utility creates the exact same file structure as /dx-init and /aem-init. The difference is the mechanism: the scaffold runs as a plain Node.js script without any AI runtime, while the init skills run inside Claude Code or Copilot CLI and can auto-detect project values.
You can run init skills later to re-detect and update values that the scaffold left as TODO placeholders. The init skills will not overwrite files that already have real values.