Skip to content

drupalaibp setup-site

Set up a Drupal site (default action when no command is given). Reads a config from ./.drupalaibp/ in the current directory when present and runs config-driven (add --yolo to run fully unattended).

Attributes  
Default Command: ✓ Yes

Usage

drupalaibp [setup-site] [SOURCE] [OPTIONS]

Examples

bash <(curl -fsSL https://aibp.drupalstarforge.ai/install.sh)
bash <(curl -fsSL https://aibp.drupalstarforge.ai/install.sh) --yolo
bash <(curl -fsSL https://aibp.drupalstarforge.ai/install.sh) --name mysite --agents claude,codex --default-skills --default-denylist
bash <(curl -fsSL https://aibp.drupalstarforge.ai/install.sh) --yolo --add-extras agent_ready_drupal_build_kit --add-skills 'DietrichGebert/ponytail|*'
bash <(curl -fsSL https://aibp.drupalstarforge.ai/install.sh) --is-drupal false --ddev-project-type php --name storybook
bash <(curl -fsSL https://aibp.drupalstarforge.ai/install.sh) --config-path ./team-config --yolo
bash <(curl -fsSL https://aibp.drupalstarforge.ai/install.sh) https://git.drupalcode.org/project/foo
bash <(curl -fsSL https://aibp.drupalstarforge.ai/install.sh) https://git.drupalcode.org/project/foo@1.2.x --config config2 --yolo

Arguments

SOURCE

A config source: a git URL (optionally @\<ref>), a local directory, or a saved config name.

Options

--yolo

Skip all interactive prompts (take safe defaults; fully non-interactive).

--name NAME

Project directory name to create (skips the name prompt).

--profile PROFILE

Drupal install: cms (default), standard, or minimal (use --site-template for a template).

Attributes  
Allowed Values: cms, standard, minimal

--site-template NAME

drupal.org site-template project short name (implies the 'template' profile).

--ddev-project-type TYPE

DDEV project type. Drupal: drupal11 (default) / drupal10 / drupal12; non-Drupal: e.g. php.

--is-drupal BOOL

Whether this is a Drupal build. Default true.

Attributes  
Allowed Values: true, false

--agents LIST

Comma-separated coding agents to install: claude,codex,opencode (skips the agent prompt).

--default-skills

Install the default agent skills without prompting.

--add-skills LIST

Agent skills to install ON TOP of the defaults, comma-separated 'repo|skill' (or 'repo' for all of them) — quote it. Skips the skills prompt.

--default-denylist

Use the default command denylist (git push, ssh) without prompting.

--extras LIST

Comma-separated extra Drupal installations, REPLACING the defaults: tool_api,dtk,droost (skips the extras prompt).

--add-extras LIST

Comma-separated extra Drupal installations to install ON TOP of the defaults (skips the extras prompt).

--composer-stability LEVEL

Composer minimum-stability: dev (default), alpha, beta, rc, or stable.

Attributes  
Allowed Values: dev, alpha, beta, rc, stable

--github-setup REPO

Create and push to a new private GitHub repo with this name (skips the GitHub prompt).

--global-config NAME

Build from a saved config in ~/.drupalaibp/configs/\<name>/.drupalaibp/ (fails if not found).

--db-path FILE

Local path to a database dump to import (used when a --config-url config declares db_import: true).

--config-url URL

Build from a .drupalaibp/ config at the root of this git repo (clones it and copies it into the project).

--config-path DIR

Build from a .drupalaibp/ config at the root of this local directory (copies the whole directory into the project; mutually exclusive with --config-url/--global-config).

--config NAME

Which config to use when a source's .drupalaibp/ holds several (basename, no .json).

--ref REF

Git branch, tag, or ref for a URL source (alternative to an @\<ref> suffix).