# cPanel Upload Structure

The reference screenshot shows a clean cPanel file manager root with named folders and only deployable files. This Laravel build should keep the same discipline, but it must keep Laravel's required folders intact.

## Recommended Root

Upload the release so these folders/files sit at the application root:

- `app/`
- `bootstrap/`
- `config/`
- `database/`
- `public/`
- `resources/`
- `routes/`
- `storage/`
- `vendor/` from the existing live install or Composer on PHP 8.2+
- `artisan`
- `composer.json`
- `composer.lock`
- `.env` created on the server only

## Keep Out Of Public Uploads

- `.git/`
- `.agents/`
- `.codex-*`
- `releases/`
- local `.env`
- local `public/error_log`
- temporary ZIP build files

## Smaller Upload Strategy

For speed, upload the small changed-files release first. It contains only the files changed for this plugin/ATS upgrade. Keep the existing live `vendor/`, `storage/uploads`, and database backup in place.

Use the full source package only when rebuilding the whole application folder. The source package intentionally excludes `vendor/`; install Composer dependencies in a PHP 8.2+ environment or preserve the live `vendor/` folder.
