> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ecge.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Project structure

> How ecge organizes pages and builds navigation

The navigation menu is generated from your configuration file. You'll update `ecge.config.json` each time you add a new page — pages don't appear automatically.

## Navigation syntax

Navigation supports nesting, so you can create grouped and hierarchical menus. Page references don't need the `.mdx` extension.

<CodeGroup>
  ```json Flat navigation theme={null}
  "navigation": {
    "tabs": [
      {
        "tab": "Docs",
        "groups": [
          {
            "group": "Getting Started",
            "pages": ["quickstart"]
          }
        ]
      }
    ]
  }
  ```

  ```json Nested navigation theme={null}
  "navigation": {
    "tabs": [
      {
        "tab": "Docs",
        "groups": [
          {
            "group": "Getting Started",
            "pages": [
              "quickstart",
              {
                "group": "Advanced",
                "pages": ["advanced-setup"]
              }
            ]
          }
        ]
      }
    ]
  }
  ```
</CodeGroup>

## Folders

Place your MDX files in folders and reference them with their path in the config.

For example, to serve a page at `https://yoursite.com/guides/setup`, create `guides/setup.mdx`.

<Warning>
  The top-level `api` folder name is reserved. Use a different name like `api-reference` instead.
</Warning>

```json Folder example theme={null}
"navigation": {
  "tabs": [
    {
      "tab": "Docs",
      "groups": [
        {
          "group": "Guides",
          "pages": ["guides/setup"]
        }
      ]
    }
  ]
}
```

## Hidden pages

MDX files not listed in the config won't appear in the sidebar but remain accessible via search and direct links.
