# Project layout and modules

How a Jadpo project is laid out on disk, how one file sees declarations from
another, and the naming rules every name follows.

| Page | What it covers |
|---|---|
| [Project layout](/docs/project-layout.md) | A project is the folder that holds `app.jadpo`. |
| [Source files](/docs/source-files.md) | File order and declaration order never matter. |
| [Domains instead of modules](/docs/domains-instead-of-modules.md) | Jadpo has no modules. |
| [The root](/docs/the-root.md) | The files and folders a project's root may hold, and nothing else. |
| [What application { } holds](/docs/application-sections.md) | `application { }` in `app.jadpo` holds the settings for the whole app, each in a section of its own. |
| [Domains](/docs/domains.md) | Every project has at least one domain, and all code outside the root files lives in one. |
| [Files and names](/docs/files-and-names.md) | Each file holds one primary declaration, named after it: `ServiceCredential` lives in `service_credential.jadpo`. |
| [Sharing and promotion](/docs/sharing-and-promotion.md) | A type or helper used by one file lives in that file. |
| [Ownership and calls replace modules](/docs/ownership-and-calls-replace-modules.md) | A domain owns everything in it, and it is the boundary of what other code can see. |
| [Imports](/docs/imports.md) | With imports, the place every name comes from can be read from the file itself. |
| [Naming](/docs/naming.md) | Every name has one spelling, decided by what kind of thing it names. |
| [Comments](/docs/comments.md) | A line comment starts with `//`. |
| [Database](/docs/database.md) | The identity registry in `database/`, and the `.jadpo_record` files the compiler writes and you commit. |
| [What it looks like in code](/docs/what-it-looks-like-in-code.md) | Sketches of how the pieces sit in their files. |

[What is built](/docs/project-layout-and-modules-built.md) says which of this works today.

## Details

The exact rules, for when you hit an edge case.

| Page | What it covers |
|---|---|
| [The layout in detail](/docs/layout-in-detail.md) | Every project has the same shape at every size. |
| [Folders other pages describe](/docs/folders-other-pages-describe.md) | The layout only reserves these folders; each piece has its own page. |
