Originally posted by **BranchBotanist** October 18, 2024
Wasp primarily uses a declarative approach for structuring apps, meaning that it automatically handles much of the deployment process based on the framework's patterns. Files like those in the public folder or configuration files that follow the typical Wasp project structure (such as main.wasp, Prisma schemas, and source code) are automatically included in the deployment. You don't need to specify them explicitly.
However, for files that fall outside the framework's expected structure but are still in your repository, you would indeed have to exclude them manually using .waspignore. This approach does introduce the possibility of human error when manually managing exclusions. Unfortunately, Wasp doesn't currently support a mode where it strictly includes only what's required for deployment (like some frameworks do) by default, unless those files are explicitly marked for inclusion.
The current safest way is to follow the Wasp project structure closely and use .waspignore for anything extra, but it doesn't yet provide a fully automated "safe inclusion" system based purely on default patterns
Discussed in https://github.com/wasp-lang/wasp/discussions/2345