---
title: Set up the repository
slug: test-archbee/set-up-the-repository
description: Learn how to set up a repository for Archbee, a documentation collaboration platform, with this step-by-step guide. Create a `.archbee.yaml` file with variable structures and explore examples of `.yaml` and `.json` config files. Discover the significance
docTags: 
createdAt: 2023-01-18T13:04:58.000Z
---

## Set up the repository

Assuming you've already [completed the integration](https://docs.archbee.com/github#jJpEV), next step is to set up a repository.

You need to successfully set up and configure your repo so that Archbee can fetch the content in there and set it up nicely on our end.

:::hint{type="info"}
You can [fork this repository](https://github.com/dragosbulugean/slate).
:::

If the system finds a `.archbee.yaml` file in the root of your repository or other folders (in case you are using multipath) like this [.yaml file](https://github.com/dragosbulugean/slate/blob/master/.archbee.yaml), then we use that to organize the content.

:::hint{type="warning"}
Pay close attention to the .[yaml file](https://github.com/dragosbulugean/slate/blob/master/.archbee.yaml) here if you want to configure the folder where the markdown content is rendered from (or a summary document tree hierarchy).
:::

### Create .yaml file

Create a `.archbee.yaml` file with the following variable structure:

:::hint{type="danger"}
You must place the file in the root folder of your repository(ies). Make sure that the file stays there as this is your default path for other folders - in case you have multiple folders, you must copy the file to those folders.

How, you ask? Check how to [sync multiple folders](https://docs.archbee.com/sync-multiple-github-folders).
:::

### What do all these keys mean?

- `root: ./docs` : this property defines where's the directory containing the docs (can be replaced with `docsPath: ./docs`)
- `structure:`
  - `summary: summary.md` : reconstructs the document tree in the left navigation panel in Archbee. If there is none, we consider the folders to be the categories and mimic the file structure inside.
  - `assets: assets`    &#x20;: the assets folder is relative to `docsPath`. Archbee will upload all files found in that folder (code files and images).
- `shadowDocs` : you need to define the code files/folders to be included as *Shadow docs*
- `publishSpace` : boolean, set to `true` if you want to publish the space to production portal after each commit

Example of an `archbee.yaml` config file:

:::CodeblockTabs
archbee.yaml

```yaml
root: doc-api
structure:
  summary: summary.md
  assets: assets
publishSpace: true
headerIncludes:  |
  <script>
  document.getElementById("demo").innerHTML = "Hello JavaScript!";
  </script> 
```
:::

Example of an `archbee.json` config file:

:::CodeblockTabs
archbee.json

```json
{
  "root": "docfolderwithsummary",
  "structure": {
    "summary": "summary.md",
    "assets": ".archbee/assets"
  },
  "customJS":"",
  "customCSS":"* \n {  font-family: \"Comic Sans MS\", cursive, sans-serif; }",
  "footerTemplate": "",
  "headerIncludes": ""
}
```
:::

### Create summary.md file

We also recommend that you create a `summary.md` file. The `summary.md` reconstructs the document tree in the left navigation panel in Archbee. And it can help you organize your content nicely.

See an example of a `summary.md` file below:

:::CodeblockTabs
summary.md

```markdown
- [Introduction](1.md)

## Table of contents

- [Init](init.md)
- [Configure App](config.md)
- [Config Database](config-database.md)
- [Config Redis](config-redis.md)
- [Config Elastic Search](config-es.md)
- [Swagger](swagger-v2.json)

```
:::

## Use Markdown syntax with GitHub

Some content blocks can be rendered if you are using specific syntax.

Check the [Editor Markdown shortcuts](<./././EDITOR/Use Markdown shortcuts.md>) to use these shortcuts.

## Add multiple repositories

Follow these simple steps to add multiple repositories and sync them with Archbee:

::::WorkflowBlock
:::WorkflowBlockItem
Go to your [GitHub](https://github.com/settings/installations) account connected with Archbee, and then navigate to the **Settings** page.

On the left sidebar, look for **Applications.**

![](https://api.archbee.com/api/optimize/bNBm7nPJgXjbjLyfbHNh2/HChEov2q-7IXyJVa81Mbj_github-appconfigure-light.png "GitHub applications page")
:::

:::WorkflowBlockItem
Click the **Configure&#x20;**&#x62;utton and when the new page opens, provide access to:

1. *All repositories* (this means that you can select any repo from your Archbee account)
2. *Only select repositories* (select any new repository you want to sync with Archbee)
3. Click Save

![](https://api.archbee.com/api/optimize/bNBm7nPJgXjbjLyfbHNh2/zspijTRLT875JPad9Cecf_image.png "Select repositories")
:::

:::WorkflowBlockItem
Go back to your Archbee account.

From the left navigation panel, create a new **Space** -> choose **Write in GitHub** and select the newly added repositories.
:::
::::

## Import Open Api files

You can actually import Open Api files via GitHub. This feature works exactly like  [Importing OpenAPI / Swagger](<./././IMPORT _ EXPORT/Importing OpenAPI _ Swagger.md>) feature, including its settings. There are 2 important things to set up:

- paths to Open Api files (.json, .yml, .yaml) to be written in `summary.md` config file
- settings to be written in main config file under `docTreeOptions`:

:::CodeblockTabs
.archbee.yaml

```yaml
docsPath: ./myapp-docs
structure:
  summary: toc.md
  assets: assets
  docTreeOptions:
    openApiTryIt: false
    showDownloadOpenApiFile: true
    shouldCreateSchemaCategory: true
    shouldCreateIntro: true
    openApiLanguageExamples:
      - value: python
        label: py
      - value: javascript
        label: js
footerTemplate: ""
headerIncludes: ""

```
:::
