Project structure

Where application code lives and what the upgrade tool may rewrite.

Atlas projects keep application code, configuration, and public assets in predictable directories so upgrades can rewrite scaffolding without touching your domain logic.
Folder organization on a desk
Photo by AbsolutVision on Unsplash.

Top-level layout

texttree
my-app/
├── app/            # Domain services and HTTP handlers
├── config/         # Environment-aware settings
├── database/       # Migrations and seeders
├── resources/      # Views, CSS, and client scripts
├── routes/         # web.php and api.php
└── atlas.json      # Channel and module manifest

Ownership rules

  1. Own everything under app/ and resources/views.
  2. Treat config/*.php as mergeable — keep custom keys in config/app_custom.php.
  3. Never edit vendor/atlas packages directly; use service providers instead.
Danger
atlas.json records your major channel. Changing it without running the upgrade tool leaves the codebase mid-migration.

Updated Aug 5, 2026