Here's a more detailed explanation of each directory within the application's structure

- `griffon-app` - top level directory for Groovy sources.

- `conf` - Configuration sources.

- `webstart` - Webstart resources.
- `keys` - Jar signing keys.
- `dist` - Package specific files.

- `shared` - Common files to all packaging targets (like LICENSE.txt)

- `metainf` - Files that should go in META-INF inside the application/addon jar.

- `models` - Models.
- `views` - Views.
- `controllers` - Controllers.
- `services` - Services.
- `resources` - Images, properties files, etc.
- `i18n` - Support for internationalization (i18n).

- `scripts` - Gant scripts.
- `src` - Supporting sources.

- `main` - Other Groovy/Java sources.

- `test` - Unit and integration tests.

- `unit` - Directory for unit tests.
- `integration` - Directory for integration tests.
- `cli` - Directory for command line tests (Scripts).