# File conventions

URL: /code/file-conventions · Id: `page:code/file-conventions`

> Every file and folder a Startup project holds, with its format, what it compiles to, and the business page it implements.

Each file and folder in a [Startup](/business/nouns/startup) project follows one convention. Each page gives the format, a minimal and a full example, what the file compiles to, and its routes.

## Root files
| [File](/business/nouns/file) | Compiles to |
| --- | --- |
| [`startup.ts`, `startup.mdx`, `startup.json`](/code/startup-ts) | The Startup |
| [`startups.lock`](/code/file-conventions/startups-lock) | [Version](/business/nouns/version) pins |
| [`settings.mdx`](/code/file-conventions/settings) | [Settings](/business/nouns/setting) |
| [`policies.mdx`](/code/file-conventions/policies) | [Policies](/business/nouns/policy) |
| [`env.ts`](/code/file-conventions/env) | [Secret](/business/nouns/secret) and [Integration](/business/nouns/integration) requirements |
| [`AGENTS.md`, `.mcp.json`, `package.json`](/code/file-conventions/agent-files) | Coding agent setup |

## Nouns and Verbs
| File | Compiles to |
| --- | --- |
| [`nouns/[Noun].mdx`](/code/file-conventions/nouns) | A [Noun](/business/nouns/noun), its API and types |
| [`nouns/[Noun].[verb].ts`](/code/file-conventions/verb-functions) | The [Function](/business/nouns/function) behind a [Verb](/business/nouns/verb) |
| [`nouns/[Noun].[verb].test.ts`](/code/file-conventions/verb-tests) | Checks on every [Change](/business/nouns/change) |
| [`verbs/[verb].mdx`](/code/file-conventions/verbs) | One Verb on several Nouns |
| [`evaluators/[name].ts`](/code/file-conventions/evaluators) | An [Evaluator](/business/nouns/evaluator) |
| [`mappings/[source].ts`](/code/file-conventions/mappings) | A [Mapping](/business/nouns/mapping) |

## Products
| File | Compiles to |
| --- | --- |
| [`products/[product].mdx`](/code/file-conventions/products) | A [Product](/business/nouns/product) |
| [`offers/[offer].mdx`](/code/file-conventions/offers) | An [Offer](/business/nouns/offer), its [Price](/business/nouns/price) and checkout |
| [`sites/[site]/site.mdx`](/code/file-conventions/sites) | A [Site](/business/nouns/site) |
| [`**/page.mdx`](/code/file-conventions/pages) | A [Page](/business/nouns/page) |
| [`**/layout.mdx`](/code/file-conventions/layouts) | The frame of every Page below |
| [`**/not-found.mdx`](/code/file-conventions/not-found) | The 404 Page |
| [`(group)/`, `[key]/`, `_name/`, `@arm/`](/code/file-conventions/route-segments) | URLs, [Collection](/business/nouns/collection) Pages, [Variants](/business/nouns/variant) |
| [`apps/[app]/app.mdx`](/code/file-conventions/apps) | An [App](/business/nouns/app) |
| [`apps/[app]/**/view.mdx`](/code/file-conventions/views) | One App screen |
| [`domains/[host].mdx`](/code/file-conventions/domains) | A [Domain](/business/nouns/domain), DNS, certificate, mail |
| [`content/[collection]/[slug].mdx`](/code/file-conventions/content) | [Content](/business/nouns/content) |

## Agents and Workflows
| File | Compiles to |
| --- | --- |
| [`agents/[team]/index.mdx`](/code/file-conventions/agents) | A [Team](/business/nouns/team) |
| [`agents/[team]/[role].mdx`](/code/file-conventions/roles) | A [Role](/business/nouns/role) and its [Worker](/business/nouns/worker) |
| [`agents/[team]/[role].test.ts`](/code/file-conventions/role-tests) | Autonomy per Verb |
| [`agents/[team]/skills/[skill]/SKILL.md`](/code/file-conventions/skills) | A skill package |
| [`workflows/[process]/index.mdx`](/code/file-conventions/processes) | A [Process](/business/nouns/process) |
| [`workflows/[process]/[workflow].mdx` or `.ts`](/code/file-conventions/workflows) | [Workflows](/business/nouns/workflow) and [Triggers](/business/nouns/trigger) |
| [`plays/[play].mdx`](/code/file-conventions/plays) | A [Play](/business/nouns/play) |
| [`experiments/[experiment].mdx`](/code/file-conventions/experiments) | An [Experiment](/business/nouns/experiment), its [Variants](/business/nouns/variant) and [Flag](/business/nouns/flag) |
| [`prompts/[prompt].md`, `[prompt]@[arm].md`](/code/file-conventions/prompts) | Model instructions, as a versioned [Template](/business/nouns/template) |

## Systems, design and code
| File | Compiles to |
| --- | --- |
| [`systems/[system].mdx`](/code/file-conventions/systems) | An override on a [System](/business/nouns/system) |
| [`dashboards/[dashboard].mdx`](/code/file-conventions/dashboards) | A [Dashboard](/business/nouns/dashboard) |
| [`brand/`](/code/file-conventions/brand) | [Brand](/business/nouns/brand), [Theme](/business/nouns/theme), [Templates](/business/nouns/template) |
| [`components/[Name].mdx`, `.tsx`, `.css`](/code/file-conventions/components) | A [Component](/business/nouns/component) |
| [`tests/[scenario].test.ts`](/code/file-conventions/tests) | Checks on every Change |
| [`code/[program]/`](/code/file-conventions/code) | An [Implementation](/business/nouns/implementation) |
| [`generated/`](/code/file-conventions/generated) | Nothing; the platform writes it |
| [`_name/`](/code/file-conventions/private-folders) | Nothing; unmanaged |
| [`.sb/`](/code/file-conventions/sb-folder) | Manifest, resolved Startup, types |