macOS and Linux installers produce different docroot structures (web/ vs web/web/)
## Problem
The macOS and Linux installers create Drupal CMS with **different on-disk
structures**, and downstream code has to branch on the OS to compensate. This
asymmetry is fragile and makes the two platforms behave differently for no
functional reason.
### macOS (`install-macos.sh`)
```bash
ddev config --project-type=drupal11 --docroot=web
ddev composer create-project drupal/cms
```
Result: the Drupal docroot is **`web/`** at the project root.
### Linux (`install-linux.sh`)
```bash
ddev config --project-type=drupal11 --docroot=_docroot_placeholder
ddev start
ddev exec composer create-project drupal/cms web --no-interaction
...
rm -rf web/.ddev # remove the nested .ddev shipped by drupal/cms
ddev stop
ddev config --docroot=web/web # reconfigure
ddev start
```
Result: the Drupal docroot is **`web/web/`**, reached via a create-into-`web/`
→ delete nested `.ddev` → stop → reconfigure → start dance, including a
throwaway `_docroot_placeholder` docroot.
## Impact
- **`github-push.sh` must branch on OS** to locate the docroot, which only
exists because the two installers disagree:
```bash
if [[ "$(uname -s)" == "Darwin" ]]; then
DRUPAL_ROOT="web"
else
DRUPAL_ROOT="web/web"
fi
```
- Any future tooling, docs, or `.gitignore` rules that reference the docroot
have to special-case the platform.
- The Linux flow's extra `ddev stop`/reconfigure/`ddev start` cycle is slower
and has more failure points (e.g. the `rm -rf web/.ddev` and the placeholder
docroot).
## Proposed direction
Pick **one** target structure for both platforms and make the installers
converge on it. The macOS flow (`--docroot=web`, `ddev composer create-project
drupal/cms` at the project root) is simpler and avoids the nested-`.ddev`
cleanup, so aligning Linux to that shape is the likely fix. Once both produce
`web/`, the OS branch in `github-push.sh` can be removed.
## Steps to reproduce
1. Run the installer on macOS → inspect the resulting project: docroot is `web/`.
2. Run the installer on Linux → inspect the resulting project: docroot is
`web/web/`.
---
*Reported after a code read of branch `1.0.x`. Issue drafted with AI (Claude) assistance.*
issue