Setup PHP Repository

This documentation was generated with the assistance of AI. Please report any inaccuracies.

End-to-end bootstrap for a PHP repository of one of four flavors — Laravel application, WordPress plugin, WordPress block theme, or PrestaShop module — by orchestrating the flavor’s scaffold skill and the shared repository-level skills in one pass, collecting every shared parameter once.

Purpose

iru-setup-php-repository is the PHP stack orchestrator, run stand-alone or from the iru-setup-repository front door. It resolves the flavor (from args, an iru-explore Project type: line, or on-disk markers, otherwise asked), the project identity (name, slug, Composer vendor, namespace, description, per-flavor license, developer details), the PHP version floor (from php.net active support, the Laravel skeleton’s floor, or PrestaShop’s system requirements), and the shared pipeline parameters (open-source, visibility, ci, ci-tests, pages, distribution with its flavor-specific meaning, sonar and its detail keys, accessibility — the level of the browser UI tests' automated accessibility checks that every flavor’s scaffold writes to .ui-quality.yml — and branches). It then runs, each through the iru-isolated-skill-executor agent so only a short summary returns: the scaffold skill, iru-setup-antora, iru-setup-php-gitignore, iru-setup-php-github-workflows (skipped entirely when ci is no), iru-setup-changelog, and iru-setup-readme.

It announces the setup mode first (from scratch vs updating an existing repository, with a per-component inventory marked absent/present/partial); each sub-skill then asks Update / Keep as is / Replace for what it finds. Plain Composer libraries (php-library) are out of scope and stop the run.

Purpose group

Plugin

Shipped by the iru-php plugin of the ai-catalog marketplace (install with /plugin install iru-php@ai-catalog; see Plugins).

Invocation

/iru-setup-php-repository
/iru-setup-php-repository <args as key: value lines>

Inputs

Argument Required Description Default

flavor

No

laravel, wordpress-plugin, wordpress-theme or prestashop-module.

Detected from an iru-explore report or on-disk markers, otherwise asked.

mode

No

new or existing.

existing when a manifest or flavor marker exists (confirmed), else new.

open-source, visibility

No

Whether the project is open source; public, private or internal.

visibility detected via gh repo view, else asked; open source plus private is flagged as contradictory.

ci, ci-tests, pages

No

Generate workflows; unit or full CI tests (flavor-specific meaning); publish the Antora site to Pages.

ci asked (Yes recommended); ci-tests and pages asked only with ci: yes; pages defaults to yes when public.

distribution

No

none, internal or store, with a flavor-specific meaning (GHCR image, release zip, WordPress.org deploy, Addons instructions).

none for Laravel and PrestaShop; store for open-source WordPress.

sonar, sonar-organization, sonar-project-key, sonar-host-url

No

cloud, self-hosted or none, plus its detail keys.

cloud recommended only for public open source, otherwise none.

accessibility

No

enforce, report, off or none (opt out entirely) — the automated accessibility level of the browser UI tests, forwarded to the Laravel, WordPress and PrestaShop scaffolds (see Building user interfaces).

enforce recommended; in existing mode pre-selected from the explored Accessibility: line (present: Enforce, partial: Report only, absent: None), never silently flipping an existing .ui-quality.yml.

php-version

No

Minimum supported PHP, which becomes require.php, the platform and the CI matrix floor.

Looked up live (never hardcoded).

integration-branch, stable-branch

No

Branches used by the workflows.

develop and main.

Identity keys

No

name, slug, vendor, namespace, description, license, developer-name, developer-email, organization-url.

Asked; skipped in existing mode where the files already carry them.

on-existing

No

ask, keep, update or replace; forwarded to every file-writing sub-skill only when supplied.

ask (inside each sub-skill).

Outputs

  • A scaffolded PHP project for the chosen flavor, with tests, quality configuration and browser UI tests (.ui-quality.yml, Playwright + axe-core, .ui-screenshots/ captures), via the scaffold skill.

  • An Antora docs site, a root .gitignore, CHANGELOG.md and README.md, via the delegated skills.

  • Unless ci: no, GitHub Actions workflows (build, release, sync, security) and Dependabot.

  • A final report: the setup mode, resolved flavor and mode, identity and license, PHP floor and its source, a per-component action table (now including .ui-quality.yml; created / updated / replaced / kept as is / skipped (ci: no) / not written), the verification results (including browser UI tests), what was wired or omitted and why, the required-secrets table, and explicit warnings.

Execution flow

flowchart TD A["Start /iru-setup-php-repository"] --> B["Step 0: parse args"] B --> C["Step 1: resolve flavor and mode,\nannounce setup mode and inventory"] C --> C1{"Plain Composer library?"} C1 -- yes --> C2["Stop - out of scope"] C1 -- no --> D["Step 2: collect identity and license"] D --> E["Step 3: collect PHP version floor"] E --> F["Step 4: collect shared pipeline parameters"] F --> G["Step 5: flavor scaffold skill"] G --> G1{"User stopped with no usable project?"} G1 -- yes --> G2["Stop"] G1 -- no --> H["Step 6: iru-setup-antora"] H --> I["Step 7: iru-setup-php-gitignore"] I --> J{"ci: no?"} J -- yes --> K["Step 8 skipped"] J -- no --> L["Step 8: iru-setup-php-github-workflows"] K --> M["Step 9: iru-setup-changelog"] L --> M M --> N["Step 10: iru-setup-readme"] N --> O["Step 11: report per-component actions,\nsecrets table and warnings"]

Dependencies

Invokes

  • Setup PHP Laravel — Step 5, scaffold for the laravel flavor (via iru-isolated-skill-executor).

  • Setup PHP WordPress — Step 5, scaffold for wordpress-plugin and wordpress-theme, with flavor: plugin|theme (via iru-isolated-skill-executor).

  • Setup PHP PrestaShop — Step 5, scaffold for the prestashop-module flavor (via iru-isolated-skill-executor).

  • Setup Antora — Step 6, Antora documentation site (via iru-isolated-skill-executor).

  • Setup PHP Gitignore — Step 7, root .gitignore (via iru-isolated-skill-executor).

  • Setup PHP GitHub Workflows — Step 8, CI/CD and security workflows, skipped when ci: no (via iru-isolated-skill-executor).

  • Setup Changelog — Step 9, root CHANGELOG.md (via iru-isolated-skill-executor).

  • Setup Readme — Step 10, root README.md (via iru-isolated-skill-executor).

Invoked by

Source

SKILL.md on GitHub — the file this page was generated from.