Every Splunk app follows a strict directory structure. At its core, an app requires `default/app.conf` which defines the app's metadata, version, and visibility.
Key directories include `default/` (shipping configurations), `local/` (user overrides), `appserver/static/` (CSS/JS), `bin/` (scripts), and `metadata/` (permissions).