When brmbh/cli scaffolds a site from this theme, nothing renames it. The client's theme still calls itself "brmbh Agentic WP Suite" in WP Admin, and the text domain brmbh-agentic-wp-suite stays hardcoded throughout.
The CLI-side fix is tracked at brmbh/cli#1. This issue covers what this repo should provide so the CLI does not have to hardcode knowledge about the theme's internals.
The numbers
brmbh-agentic-wp-suite appears 65 times across 25 files here. They split three ways:
Theme code — must be rewritten on scaffold (20 files):
404.php, footer.php, functions.php, header.php, index.php, page.php, single.php, style.css, package.json, assets/src/scss/style.scss, inc/block-patterns.php, inc/bootstrap-nav-walker.php, inc/cli.php, inc/dependencies.php, inc/footer-menus.php, inc/gutenberg.php, inc/scaffold.php, inc/template-functions.php, my-acf-blocks/loader.php, my-acf-blocks/example-hero/block.json, template-parts/branding/site-logo.php
Skill docs — a judgement call:
AGENTS/create-block.md and skills/wordpress/SKILL.md reference the text domain as the value agents should use when generating new blocks. If they are not rewritten, every block an agent generates after scaffolding reintroduces the starter's text domain. They probably must be rewritten too. (skills/wordpress/SKILL.md is being deleted from this repo per #1, so it stops mattering here.)
Leave alone:
README.md (this repo's own docs — the scaffold should delete it, not rewrite it), tools/env/production.env.example and tools/env/staging.env.example (the string is a deploy path/dir hint — check what it means before touching), package-lock.json (regenerated by npm install anyway).
A blind repo-wide find/replace is therefore wrong.
Proposal: this repo declares its own scaffold contract
Add a brmbh.template.json at the theme root that the CLI reads after copying files:
{
"textDomain": "brmbh-agentic-wp-suite",
"rewrite": ["**/*.php", "style.css", "package.json", "assets/src/scss/style.scss", "AGENTS/*.md"],
"leave": ["tools/env/*.example", "package-lock.json"],
"delete": ["README.md", "CLAUDE.md", "brmbh.template.json"]
}
Why here and not in the CLI: the text domain, the file layout, and which files are the starter's own meta are all facts about this theme. If the CLI hardcodes them, then renaming the text domain, adding a directory, or adding a doc file silently breaks scaffolding for every already-published CLI version — and the CLI cannot be patched retroactively. Declaring it here means the theme can evolve without a CLI release.
Tasks
Acceptance
The CLI can personalize a scaffold using only this manifest, with no theme-specific strings hardcoded on its side.
Related: brmbh/cli#1, brmbh/cli#6
When brmbh/cli scaffolds a site from this theme, nothing renames it. The client's theme still calls itself "brmbh Agentic WP Suite" in WP Admin, and the text domain
brmbh-agentic-wp-suitestays hardcoded throughout.The CLI-side fix is tracked at brmbh/cli#1. This issue covers what this repo should provide so the CLI does not have to hardcode knowledge about the theme's internals.
The numbers
brmbh-agentic-wp-suiteappears 65 times across 25 files here. They split three ways:Theme code — must be rewritten on scaffold (20 files):
404.php,footer.php,functions.php,header.php,index.php,page.php,single.php,style.css,package.json,assets/src/scss/style.scss,inc/block-patterns.php,inc/bootstrap-nav-walker.php,inc/cli.php,inc/dependencies.php,inc/footer-menus.php,inc/gutenberg.php,inc/scaffold.php,inc/template-functions.php,my-acf-blocks/loader.php,my-acf-blocks/example-hero/block.json,template-parts/branding/site-logo.phpSkill docs — a judgement call:
AGENTS/create-block.mdandskills/wordpress/SKILL.mdreference the text domain as the value agents should use when generating new blocks. If they are not rewritten, every block an agent generates after scaffolding reintroduces the starter's text domain. They probably must be rewritten too. (skills/wordpress/SKILL.mdis being deleted from this repo per #1, so it stops mattering here.)Leave alone:
README.md(this repo's own docs — the scaffold should delete it, not rewrite it),tools/env/production.env.exampleandtools/env/staging.env.example(the string is a deploy path/dir hint — check what it means before touching),package-lock.json(regenerated bynpm installanyway).A blind repo-wide find/replace is therefore wrong.
Proposal: this repo declares its own scaffold contract
Add a
brmbh.template.jsonat the theme root that the CLI reads after copying files:{ "textDomain": "brmbh-agentic-wp-suite", "rewrite": ["**/*.php", "style.css", "package.json", "assets/src/scss/style.scss", "AGENTS/*.md"], "leave": ["tools/env/*.example", "package-lock.json"], "delete": ["README.md", "CLAUDE.md", "brmbh.template.json"] }Why here and not in the CLI: the text domain, the file layout, and which files are the starter's own meta are all facts about this theme. If the CLI hardcodes them, then renaming the text domain, adding a directory, or adding a doc file silently breaks scaffolding for every already-published CLI version — and the CLI cannot be patched retroactively. Declaring it here means the theme can evolve without a CLI release.
Tasks
brmbh.template.jsonbrmbh-agentic-wp-suitemeans insidetools/env/*.examplebefore deciding rewrite vs leaveAGENTS/create-block.mdshould carry a placeholder token rather than a literal text domainAcceptance
The CLI can personalize a scaffold using only this manifest, with no theme-specific strings hardcoded on its side.
Related: brmbh/cli#1, brmbh/cli#6