# Source Reference (/docs/repository)

Reference material generated from the vMenu source code, for the parts that the published docs
describe in prose rather than in full.

| Page | What it holds |
| --- | --- |
| [Repository Structure](./structure.md) | How the source is laid out, and what each project is responsible for. |
| [Configuration Reference](./configuration-reference.md) | Every configuration setting: name, type, default and description. |
| [Permissions Reference](./permissions-reference.md) | Every permission vMenu declares, grouped by category. |

These pages are generated from the source by the scripts in `tools/`, so they always match the code
rather than a copy of it that drifts.

## Where it comes from [#where-it-comes-from]

The published documentation is written for people running a server. The source itself is the
authority on what settings and permissions exist. The two reference pages above are extracted
straight from it:

- Settings live in `src/Shared/vMenu.Enhanced.Data/Configuration/Settings/`, one file per section.
- The order they are written into `configuration.cfg` is in `ConfigCatalog.cs`.
- Permissions live in `src/Shared/vMenu.Enhanced.Data/Permissions/`, one file per category.

## The upstream repository [#the-upstream-repository]

The full source is at [github.com/TomGrobbe/vMenu](https://github.com/TomGrobbe/vMenu). The README
from that repository is reproduced in [Repository README](./README.md).
