---
title: Architecture
description: Every Architecture rule svelte-vitals runs.
---

{/* rules-index:start */}

Component size, prop count, and the import boundaries a project declares: signals that code is placed or shaped wrong.

| Rule                                                                                    | Severity | Summary                                                                                 |
| --------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------- |
| [`architecture/component-size`](/rules/architecture/component-size)                     | 🔵 info  | Very large components should be split up.                                               |
| [`architecture/directory-naming`](/rules/architecture/directory-naming)                 | 🔵 info  | A directory should be named in the casing its location declares.                        |
| [`architecture/doc-link-target`](/rules/architecture/doc-link-target)                   | 🔵 info  | A documentation link written in a comment must still point at something that exists.    |
| [`architecture/private-scope-import`](/rules/architecture/private-scope-import)         | 🔵 info  | A unit inside a private directory should not be imported from outside it.               |
| [`architecture/prop-count`](/rules/architecture/prop-count)                             | 🔵 info  | Components taking many props are doing too much.                                        |
| [`architecture/reserved-directory-names`](/rules/architecture/reserved-directory-names) | 🔵 info  | A directory's subdirectories should only take names declared for that position.         |
| [`architecture/reserved-name-placement`](/rules/architecture/reserved-name-placement)   | 🔵 info  | A reserved directory name may appear only in the places declared for it.                |
| [`architecture/route-component-import`](/rules/architecture/route-component-import)     | 🔵 info  | A SvelteKit route entry is rendered by the framework, not imported by other components. |
| [`architecture/unit-entry-file`](/rules/architecture/unit-entry-file)                   | 🔵 info  | A directory declared to be a unit should contain a file named after it.                 |

{/* rules-index:end */}

See [Configuration](/guides/configuration) to change a rule's severity or turn it off.
