Setup: Standalone Scaffold

No AI tool needed -- a Node.js utility creates the same project structure.

When to Use

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.

Prerequisites

What You Need

Node.js >= 14

The scaffold utility is a Node.js script. Any version from 14 onward works.

Check version
node —version

dx-aem-flow Repository

Git clone of the plugin source repository containing the scaffold CLI.

Run

Run the Scaffold

One command creates the full project structure.

Scaffold a project
node dx/cli/bin/dx-scaffold.js /path/to/your-project —all

CLI Flags

FlagDescription
—allCreate everything: config, rules, templates, agents, docs, lib scripts
—aemInclude AEM full-flow files (seed data, AEM rules, AEM agents)
—copilotInclude Copilot agent templates in .github/agents/
—forceOverwrite existing files (useful for upgrades)
—quietSuppress output (for CI/CD use)
Output

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 templates
  • AGENTS.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.

Next Steps

After Scaffolding

Edit configuration and finalize setup.

Edit .ai/config.yaml

  • Set scm.org and scm.base-branch
  • Set build.command and build.lint
  • Set ado.repository-id (GUID) or jira.project-key
  • Set ado.project or jira.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

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.

KAI by Dragan Filipovic