# Architecture Recommendations

## Purpose

`architecture.recommend.sh` reads the same external JSON manifest used by `architecture.manifest.audit.sh` and produces a Markdown **recommendation plan**. The plan answers:

- Which required directories are missing?
- Which recommended directories could be created later?
- Which forbidden directories must be reviewed/moved?
- Which naming violations need a separate rename migration?
- Which global layout/component ownership problems require source cleanup?
- Which backup/editor files require review?

It intentionally does **not** perform any filesystem changes.

## Commands

System recommendation plan:

```sh
sh architecture.recommend.sh system --details --output /tmp/system-recommendations.md
```

Application recommendation plan:

```sh
sh architecture.recommend.sh app defapp --details --backup --output /tmp/defapp-recommendations.md
```

## Why recommendations are separate from audits

An audit records what was observed against a standard. A recommendation plan turns the failures/warnings into review tasks. It must remain non-destructive because an automated `mkdir`, `mv`, or rename can change deployment behavior, break PHP includes, break public URLs, or create empty directories that do not have an approved owner.

## Relationship to rename tools

The architecture recommendation plan lists naming violations. Use the separate naming audit tool to create a commented review-only rename plan. Never automatically rename architecture findings.
