# App folder

URL: /code/project-structure/app-folder · Id: `convention:app-folder`

> An App folder declares one App and its Personas; its routes and screens derive from the Nouns and Verbs it mounts.

An [App](/business/nouns/app) folder declares one App and its [Personas](/business/nouns/persona); its routes and screens derive from the [Nouns](/business/nouns/noun) and [Verbs](/business/nouns/verb) it mounts.

| Property | Value |
| --- | --- |
| Path | `apps/[app]/` |
| Holds | [App](/business/nouns/app) |
| Kind | folder |
| Leaders | db-first, git-first |
| Team | [Product Team](/agents/product) |
| Written by | [Change.merge](/business/nouns/change/merge) |
| Compiled by | [SoftwareBuilder](/code/builders/software) |

### Example
`apps/portal/app.mdx` in a Startup repository. Closewise, a sample business, declares a `Close` Noun.

```mdx title="apps/portal/app.mdx"
---
kind: saas
mount: /portal
nouns: [Close]
personas:
  client: { may: [Close.review] }
  controller: { may: [Close.reconcile, Close.review, Close.close] }
---
```

### Generates
[SoftwareBuilder](/code/builders/software) compiles it into these records, Verbs and routes.

| Kind | What |
| --- | --- |
| Records | [App](/business/nouns/app) |
| Verbs | [App.publish](/business/nouns/app/publish) |
| Routes | `/app/{nouns}`, `/app/{nouns}/{id}` |