App structure 
Apps created with Genstore CLI follow a standardized directory structure for efficient development and management. Each directory and file serves a specific purpose to ensure a clear and maintainable app structure.
Directory overview 
bash
your-app/
├── genstore.app.toml           			# Required: Main config file
├── genstore.app.{config-name}.toml          # Optional: Environment configs
├── package.json                			# Required: Project dependencies
├── app/                        			# Required: App code
│   └── ...                    				# Entry points, routes, webhooks
└── extensions/                 			# Optional: Extensions directory
    └── your-extension/                  	 # Extension example
            ├── genstore.extension.toml      # Extension config
            └── ...Core files 
Configuration files 
| File | Required | Description | 
|---|---|---|
genstore.app.toml | Yes | Main app metadata and configuration file, marks app root directory | 
genstore.app.{config-name}.toml | No | Environment-specific configurations for local management and Genstore synchronization | 
package.json | Yes | - Contains Node-related project metadata - Contains project dependencies and scripts - Used to run Genstore CLI commands via package manager - Subdirectories may contain additional package.json files | 
Directories 
| Directory | Required | Description | 
|---|---|---|
app/ | Yes | Contains app entry points, routes, and webhooks | 
extensions/ | No | - Houses generated extensions - Each subdirectory represents an extension - Subdirectory name as the local identifier - Each subdirectory must contain a TOML config file | 
Configuration details 
Main config file (genstore.app.toml ) 
This is the core configuration file for app-level settings and metadata. When you first run app dev, Genstore CLI automatically:
- Links current project with Genstore app.
 - Updates configuration information.
 - Generates necessary app identifiers and credentials
 
Environment config files (genstore.app.{config-name}.toml) 
Using genstore.app.{config-name}.toml, you can:
- Link project to multiple Genstore apps
 - Manage configurations across environments (development, testing, production)
 - Maintain separate settings for each environment